.text1:00BFD818 ; ---------------------------------------------------------------------------
.text1:00BFD819 align 10h
.text1:00BFD820
.text1:00BFD820 loc_BFD820: ; CODE XREF: sub_BFE1D0+3p
.text1:00BFD820 push ebp
.text1:00BFD821 mov ebp, esp
.text1:00BFD823 push 0FFFFFFFFh
.text1:00BFD825 push offset loc_C7877D
.text1:00BFD82A mov eax, large fs:0
.text1:00BFD830 push eax
.text1:00BFD831 sub esp, 7F8h
.text1:00BFD837 mov eax, ds:dword_C9F8B0
.text1:00BFD83C xor eax, ebp
.text1:00BFD83E mov [ebp-18h], eax
.text1:00BFD841 push eax
.text1:00BFD842 lea eax, [ebp-0Ch]
.text1:00BFD845 mov large fs:0, eax
.text1:00BFD84B mov byte ptr [ebp-0Dh], 1
.text1:00BFD84F call sub_C401C0
.text1:00BFD854 mov eax, ds:CreateThread
.text1:00BFD859 mov [ebp-14h], eax
.text1:00BFD85C mov ecx, [ebp-14h]
.text1:00BFD85F add ecx, 1
.text1:00BFD862 mov [ebp-14h], ecx
.text1:00BFD865 mov edx, ds:LoadStringA
.text1:00BFD86B mov [ebp-14h], edx
.text1:00BFD86E mov eax, [ebp-14h]
.text1:00BFD871 add eax, 1
.text1:00BFD874 mov [ebp-14h], eax
.text1:00BFD877 mov ecx, ds:LoadStringW
.text1:00BFD87D mov [ebp-14h], ecx
.text1:00BFD880 mov edx, [ebp-14h]
.text1:00BFD883 add edx, 1
.text1:00BFD886 mov [ebp-14h], edx
.text1:00BFD889 push offset sub_BFC520
.text1:00BFD88E call ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z ; _set_new_handler(int (*)(uint))
.text1:00BFD893 add esp, 4
.text1:00BFD896 mov eax, ds:dword_CB565C
.text1:00BFD89B mov ecx, ds:dword_CB565C
.text1:00BFD8A1 mov edx, [eax+50h]
.text1:00BFD8A4 xor edx, [ecx+70h]
.text1:00BFD8A7 push edx
.text1:00BFD8A8 call ds:GetCurrentProcessId
.text1:00BFD8AE push eax
.text1:00BFD8AF push offset aXDa08x ; "%X::DA%08X"
.text1:00BFD8B4 push 104h
.text1:00BFD8B9 lea eax, [ebp-124h]
.text1:00BFD8BF push eax
.text1:00BFD8C0 call _sprintf_s
.text1:00BFD8C5 add esp, 14h
.text1:00BFD8C8 lea ecx, [ebp-124h]
.text1:00BFD8CE push ecx
.text1:00BFD8CF push 0
.text1:00BFD8D1 push 1F0001h
.text1:00BFD8D6 call ds:OpenMutexA
.text1:00BFD8DC test eax, eax
.text1:00BFD8DE jz short loc_BFD8E4
.text1:00BFD8E0 mov byte ptr [ebp-0Dh], 0
.text1:00BFD8E4
.text1:00BFD8E4 loc_BFD8E4: ; CODE XREF: .text1:00BFD8DEj
.text1:00BFD8E4 movzx edx, byte ptr [ebp-0Dh]
.text1:00BFD8E8 test edx, edx
.text1:00BFD8EA jz loc_BFDABC
.text1:00BFD8F0 mov eax, ds:dword_CB565C
.text1:00BFD8F5 mov ecx, ds:dword_CB565C
.text1:00BFD8FB mov edx, [eax+40h]
.text1:00BFD8FE xor edx, [ecx+80h]
.text1:00BFD904 mov eax, ds:dword_CB565C
.text1:00BFD909 xor edx, [eax+4]
.text1:00BFD90C and edx, 20h
.text1:00BFD90F jz loc_BFDABC
.text1:00BFD915 mov ecx, ds:dword_CB565C
.text1:00BFD91B mov edx, ds:dword_CB565C
.text1:00BFD921 mov eax, [ecx+90h]
.text1:00BFD927 xor eax, [edx+64h]
.text1:00BFD92A mov ecx, ds:dword_CB565C
.text1:00BFD930 xor eax, [ecx+50h]
.text1:00BFD933 push eax
.text1:00BFD934 push offset aRn08x ; "RN%08X"
.text1:00BFD939 push 104h
.text1:00BFD93E lea edx, [ebp-124h]
.text1:00BFD944 push edx
.text1:00BFD945 call _sprintf_s
.text1:00BFD94A add esp, 10h
.text1:00BFD94D lea eax, [ebp-124h]
.text1:00BFD953 push eax
.text1:00BFD954 push 0
.text1:00BFD956 push 0
.text1:00BFD958 call ds:CreateMutexA
.text1:00BFD95E mov [ebp-12Ch], eax
.text1:00BFD964 cmp dword ptr [ebp-12Ch], 0
.text1:00BFD96B jz loc_BFDABC
.text1:00BFD971 call ds:GetLastError
.text1:00BFD977 cmp eax, 0B7h
.text1:00BFD97C jnz loc_BFDABC
.text1:00BFD982 push 7530h
.text1:00BFD987 mov ecx, [ebp-12Ch]
.text1:00BFD98D push ecx
.text1:00BFD98E call ds:WaitForSingleObject
.text1:00BFD994 mov [ebp-130h], eax
.text1:00BFD99A cmp dword ptr [ebp-130h], 0
.text1:00BFD9A1 jz short loc_BFD9B3
.text1:00BFD9A3 cmp dword ptr [ebp-130h], 80h
.text1:00BFD9AD jnz loc_BFDAB2
.text1:00BFD9B3
.text1:00BFD9B3 loc_BFD9B3: ; CODE XREF: .text1:00BFD9A1j
.text1:00BFD9B3 mov edx, ds:dword_CB565C
.text1:00BFD9B9 mov eax, ds:dword_CB565C
.text1:00BFD9BE mov ecx, [edx+90h]
.text1:00BFD9C4 xor ecx, [eax+64h]
.text1:00BFD9C7 mov edx, ds:dword_CB565C
.text1:00BFD9CD xor ecx, [edx+50h]
.text1:00BFD9D0 push ecx
.text1:00BFD9D1 push offset a08x ; "%08X"
.text1:00BFD9D6 push 104h
.text1:00BFD9DB lea eax, [ebp-124h]
.text1:00BFD9E1 push eax
.text1:00BFD9E2 call _sprintf_s
.text1:00BFD9E7 add esp, 10h
.text1:00BFD9EA mov dword ptr [ebp-138h], 0
.text1:00BFD9F4 jmp short loc_BFDA05
.text1:00BFD9F6 ; ---------------------------------------------------------------------------
.text1:00BFD9F6
.text1:00BFD9F6 loc_BFD9F6: ; CODE XREF: .text1:00BFDA3Cj
.text1:00BFD9F6 mov ecx, [ebp-138h]
.text1:00BFD9FC add ecx, 1
.text1:00BFD9FF mov [ebp-138h], ecx
.text1:00BFDA05
.text1:00BFDA05 loc_BFDA05: ; CODE XREF: .text1:00BFD9F4j
.text1:00BFDA05 cmp dword ptr [ebp-138h], 12Ch
.text1:00BFDA0F jge short loc_BFDA3E
.text1:00BFDA11 lea edx, [ebp-124h]
.text1:00BFDA17 push edx
.text1:00BFDA18 push offset aMainclass ; "MainClass"
.text1:00BFDA1D call ds:FindWindowA
.text1:00BFDA23 mov [ebp-134h], eax
.text1:00BFDA29 cmp dword ptr [ebp-134h], 0
.text1:00BFDA30 jz short loc_BFDA34
.text1:00BFDA32 jmp short loc_BFDA3E
.text1:00BFDA34 ; ---------------------------------------------------------------------------
.text1:00BFDA34
.text1:00BFDA34 loc_BFDA34: ; CODE XREF: .text1:00BFDA30j
.text1:00BFDA34 push 64h
.text1:00BFDA36 call ds:Sleep
.text1:00BFDA3C jmp short loc_BFD9F6
.text1:00BFDA3E ; ---------------------------------------------------------------------------
.text1:00BFDA3E
.text1:00BFDA3E loc_BFDA3E: ; CODE XREF: .text1:00BFDA0Fj
.text1:00BFDA3E ; .text1:00BFDA32j
.text1:00BFDA3E cmp dword ptr [ebp-134h], 0
.text1:00BFDA45 jz short loc_BFDAA5
.text1:00BFDA47 mov eax, ds:dword_CB565C
.text1:00BFDA4C mov ecx, ds:dword_CB565C
.text1:00BFDA52 mov edx, [eax+90h]
.text1:00BFDA58 xor edx, [ecx+64h]
.text1:00BFDA5B mov eax, ds:dword_CB565C
.text1:00BFDA60 xor edx, [eax+50h]
.text1:00BFDA63 mov [ebp-144h], edx
.text1:00BFDA69 mov ecx, ds:dword_CB5400
.text1:00BFDA6F push ecx
.text1:00BFDA70 call _strlen
.text1:00BFDA75 add esp, 4
.text1:00BFDA78 add eax, 1
.text1:00BFDA7B mov [ebp-140h], eax
.text1:00BFDA81 mov edx, ds:dword_CB5400
.text1:00BFDA87 mov [ebp-13Ch], edx
.text1:00BFDA8D lea eax, [ebp-144h]
.text1:00BFDA93 push eax
.text1:00BFDA94 push 0
.text1:00BFDA96 push 4Ah
.text1:00BFDA98 mov ecx, [ebp-134h]
.text1:00BFDA9E push ecx
.text1:00BFDA9F call ds:SendMessageA
.text1:00BFDAA5
.text1:00BFDAA5 loc_BFDAA5: ; CODE XREF: .text1:00BFDA45j
.text1:00BFDAA5 mov edx, [ebp-12Ch]
.text1:00BFDAAB push edx
.text1:00BFDAAC call ds:ReleaseMutex
.text1:00BFDAB2
.text1:00BFDAB2 loc_BFDAB2: ; CODE XREF: .text1:00BFD9ADj
.text1:00BFDAB2 mov eax, 1
.text1:00BFDAB7 jmp loc_BFE164
.text1:00BFDABC ; ---------------------------------------------------------------------------
.text1:00BFDABC
.text1:00BFDABC loc_BFDABC: ; CODE XREF: .text1:00BFD8EAj
.text1:00BFDABC ; .text1:00BFD90Fj ...
.text1:00BFDABC push 1
.text1:00BFDABE call sub_BFE180
.text1:00BFDAC3 add esp, 4
.text1:00BFDAC6 movzx eax, byte ptr [ebp-0Dh]
.text1:00BFDACA test eax, eax
.text1:00BFDACC jz loc_BFDE48
.text1:00BFDAD2 mov ecx, ds:dword_CB565C
.text1:00BFDAD8 mov edx, ds:dword_CB565C
.text1:00BFDADE mov eax, [ecx+40h]
.text1:00BFDAE1 xor eax, [edx+80h]
.text1:00BFDAE7 mov ecx, ds:dword_CB565C
.text1:00BFDAED xor eax, [ecx+4]
.text1:00BFDAF0 and eax, 40h
.text1:00BFDAF3 jnz loc_BFDE48
.text1:00BFDAF9 push 200h
.text1:00BFDAFE lea edx, [ebp-344h]
.text1:00BFDB04 push edx
.text1:00BFDB05 push offset a_pad64 ; "_PAD64"
.text1:00BFDB0A call ds:GetEnvironmentVariableA
.text1:00BFDB10 test eax, eax
.text1:00BFDB12 jnz loc_BFDE48
.text1:00BFDB18 push 0C8h
.text1:00BFDB1D push 23h
.text1:00BFDB1F lea eax, [ebp-344h]
.text1:00BFDB25 push eax
.text1:00BFDB26 call _memset
.text1:00BFDB2B add esp, 0Ch
.text1:00BFDB2E mov byte ptr [ebp-27Ch], 0
.text1:00BFDB35 mov dword ptr [ebp-448h], 1
.text1:00BFDB3F jmp short loc_BFDB50
.text1:00BFDB41 ; ---------------------------------------------------------------------------
.text1:00BFDB41
.text1:00BFDB41 loc_BFDB41: ; CODE XREF: .text1:00BFDB8Dj
.text1:00BFDB41 mov ecx, [ebp-448h]
.text1:00BFDB47 add ecx, 1
.text1:00BFDB4A mov [ebp-448h], ecx
.text1:00BFDB50
.text1:00BFDB50 loc_BFDB50: ; CODE XREF: .text1:00BFDB3Fj
.text1:00BFDB50 cmp dword ptr [ebp-448h], 40h
.text1:00BFDB57 jg short loc_BFDB8F
.text1:00BFDB59 mov edx, [ebp-448h]
.text1:00BFDB5F push edx
.text1:00BFDB60 push offset a_padD ; "_PAD%d"
.text1:00BFDB65 push 100h
.text1:00BFDB6A lea eax, [ebp-444h]
.text1:00BFDB70 push eax
.text1:00BFDB71 call _sprintf_s
.text1:00BFDB76 add esp, 10h
.text1:00BFDB79 lea ecx, [ebp-344h]
.text1:00BFDB7F push ecx
.text1:00BFDB80 lea edx, [ebp-444h]
.text1:00BFDB86 push edx
.text1:00BFDB87 call ds:SetEnvironmentVariableA
.text1:00BFDB8D jmp short loc_BFDB41
.text1:00BFDB8F ; ---------------------------------------------------------------------------
.text1:00BFDB8F
.text1:00BFDB8F loc_BFDB8F: ; CODE XREF: .text1:00BFDB57j
.text1:00BFDB8F mov eax, ds:dword_CB565C
.text1:00BFDB94 mov ecx, ds:dword_CB565C
.text1:00BFDB9A mov edx, [eax+40h]
.text1:00BFDB9D xor edx, [ecx+80h]
.text1:00BFDBA3 mov eax, ds:dword_CB565C
.text1:00BFDBA8 xor edx, [eax+4]
.text1:00BFDBAB and edx, 10h
.text1:00BFDBAE jnz loc_BFDE48
.text1:00BFDBB4 lea ecx, [ebp-624h]
.text1:00BFDBBA push ecx
.text1:00BFDBBB call sub_C2B0D0
.text1:00BFDBC0 add esp, 4
.text1:00BFDBC3 mov dword ptr [ebp-4], 0
.text1:00BFDBCA lea edx, [ebp-708h]
.text1:00BFDBD0 push edx
.text1:00BFDBD1 call sub_BE4CB0
.text1:00BFDBD6 add esp, 4
.text1:00BFDBD9 mov [ebp-7F8h], eax
.text1:00BFDBDF mov eax, [ebp-7F8h]
.text1:00BFDBE5 mov [ebp-7FCh], eax
.text1:00BFDBEB mov byte ptr [ebp-4], 1
.text1:00BFDBEF mov ecx, [ebp-7FCh]
.text1:00BFDBF5 push ecx
.text1:00BFDBF6 lea ecx, [ebp-4ACh]
.text1:00BFDBFC call sub_C25300
.text1:00BFDC01 mov byte ptr [ebp-4], 3
.text1:00BFDC05 lea ecx, [ebp-708h]
.text1:00BFDC0B call sub_BEB1D0
.text1:00BFDC10 cmp ds:dword_CB53F8, 1
.text1:00BFDC17 jnz short loc_BFDC45
.text1:00BFDC19 cmp dword ptr [ebp-618h], 0
.text1:00BFDC20 jnz short loc_BFDC45
.text1:00BFDC22 lea ecx, [ebp-4ACh]
.text1:00BFDC28 call sub_C25FC0
.text1:00BFDC2D movzx edx, al
.text1:00BFDC30 test edx, edx
.text1:00BFDC32 jnz short loc_BFDC45
.text1:00BFDC34 lea ecx, [ebp-4ACh]
.text1:00BFDC3A call sub_C25B60
.text1:00BFDC3F mov [ebp-618h], eax
.text1:00BFDC45
.text1:00BFDC45 loc_BFDC45: ; CODE XREF: .text1:00BFDC17j
.text1:00BFDC45 ; .text1:00BFDC20j ...
.text1:00BFDC45 push 0
.text1:00BFDC47 lea eax, [ebp-644h]
.text1:00BFDC4D push eax
.text1:00BFDC4E call sub_C2A9B0
.text1:00BFDC53 add esp, 8
.text1:00BFDC56 mov byte ptr [ebp-4], 4
.text1:00BFDC5A lea ecx, [ebp-644h]
.text1:00BFDC60 call sub_BEB260
.text1:00BFDC65 movzx ecx, al
.text1:00BFDC68 test ecx, ecx
.text1:00BFDC6A jz short loc_BFDCB1
.text1:00BFDC6C mov dword ptr [ebp-70Ch], 0
.text1:00BFDC76 mov byte ptr [ebp-4], 3
.text1:00BFDC7A lea ecx, [ebp-644h]
.text1:00BFDC80 call sub_BEB1D0
.text1:00BFDC85 mov byte ptr [ebp-4], 0
.text1:00BFDC89 lea ecx, [ebp-4ACh]
.text1:00BFDC8F call sub_BE5650
.text1:00BFDC94 mov dword ptr [ebp-4], 0FFFFFFFFh
.text1:00BFDC9B lea ecx, [ebp-624h]
.text1:00BFDCA1 call sub_BEAC60
.text1:00BFDCA6 mov eax, [ebp-70Ch]
.text1:00BFDCAC jmp loc_BFE164
.text1:00BFDCB1 ; ---------------------------------------------------------------------------
.text1:00BFDCB1
.text1:00BFDCB1 loc_BFDCB1: ; CODE XREF: .text1:00BFDC6Aj
.text1:00BFDCB1 lea edx, [ebp-78Ch]
.text1:00BFDCB7 push edx
.text1:00BFDCB8 call sub_C2B2F0
.text1:00BFDCBD add esp, 4
.text1:00BFDCC0 mov [ebp-800h], eax
.text1:00BFDCC6 mov eax, [ebp-800h]
.text1:00BFDCCC mov [ebp-804h], eax
.text1:00BFDCD2 mov byte ptr [ebp-4], 5
.text1:00BFDCD6 mov ecx, [ebp-804h]
.text1:00BFDCDC push ecx
.text1:00BFDCDD lea ecx, [ebp-770h]
.text1:00BFDCE3 call sub_BE55D0
.text1:00BFDCE8 mov byte ptr [ebp-4], 6
.text1:00BFDCEC lea ecx, [ebp-644h]
.text1:00BFDCF2 call sub_BEB220
.text1:00BFDCF7 push eax
.text1:00BFDCF8 lea ecx, [ebp-7ECh]
.text1:00BFDCFE call sub_BE55D0
.text1:00BFDD03 mov byte ptr [ebp-4], 7
.text1:00BFDD07 lea edx, [ebp-4BCh]
.text1:00BFDD0D push edx
.text1:00BFDD0E lea eax, [ebp-624h]
.text1:00BFDD14 push eax
.text1:00BFDD15 push offset unk_CB63B8
.text1:00BFDD1A push offset unk_CB63B8
.text1:00BFDD1F push 0
.text1:00BFDD21 push 0
.text1:00BFDD23 push 0
.text1:00BFDD25 push 0
.text1:00BFDD27 lea ecx, [ebp-770h]
.text1:00BFDD2D push ecx
.text1:00BFDD2E lea edx, [ebp-7ECh]
.text1:00BFDD34 push edx
.text1:00BFDD35 call sub_C2ABD0
.text1:00BFDD3A add esp, 28h
.text1:00BFDD3D neg eax
.text1:00BFDD3F sbb eax, eax
.text1:00BFDD41 add eax, 1
.text1:00BFDD44 mov [ebp-70Dh], al
.text1:00BFDD4A mov byte ptr [ebp-4], 6
.text1:00BFDD4E lea ecx, [ebp-7ECh]
.text1:00BFDD54 call sub_BE5650
.text1:00BFDD59 mov byte ptr [ebp-4], 5
.text1:00BFDD5D lea ecx, [ebp-770h]
.text1:00BFDD63 call sub_BE5650
.text1:00BFDD68 mov byte ptr [ebp-4], 4
.text1:00BFDD6C lea ecx, [ebp-78Ch]
.text1:00BFDD72 call sub_BF5F60
.text1:00BFDD77 movzx eax, byte ptr [ebp-70Dh]
.text1:00BFDD7E test eax, eax
.text1:00BFDD80 jz short loc_BFDDF1
.text1:00BFDD82 mov ds:dword_CB5538, 6
.text1:00BFDD8C call ds:GetLastError
.text1:00BFDD92 push eax
.text1:00BFDD93 push offset aLocationXebErr ; "(Location XEB, error code %d)"
.text1:00BFDD98 push 100h
.text1:00BFDD9D push offset unk_CB5540
.text1:00BFDDA2 call _sprintf_s
.text1:00BFDDA7 add esp, 10h
.text1:00BFDDAA mov dword ptr [ebp-7F0h], 0
.text1:00BFDDB4 mov byte ptr [ebp-4], 3
.text1:00BFDDB8 lea ecx, [ebp-644h]
.text1:00BFDDBE call sub_BEB1D0
.text1:00BFDDC3 mov byte ptr [ebp-4], 0
.text1:00BFDDC7 lea ecx, [ebp-4ACh]
.text1:00BFDDCD call sub_BE5650
.text1:00BFDDD2 mov dword ptr [ebp-4], 0FFFFFFFFh
.text1:00BFDDD9 lea ecx, [ebp-624h]
.text1:00BFDDDF call sub_BEAC60
.text1:00BFDDE4 mov eax, [ebp-7F0h]
.text1:00BFDDEA jmp loc_BFE164
.text1:00BFDDEF ; ---------------------------------------------------------------------------
.text1:00BFDDEF jmp short loc_BFDE03
.text1:00BFDDF1 ; ---------------------------------------------------------------------------
.text1:00BFDDF1
.text1:00BFDDF1 loc_BFDDF1: ; CODE XREF: .text1:00BFDD80j
.text1:00BFDDF1 push 2710h
.text1:00BFDDF6 mov ecx, [ebp-4BCh]
.text1:00BFDDFC push ecx
.text1:00BFDDFD call ds:WaitForInputIdle
.text1:00BFDE03
.text1:00BFDE03 loc_BFDE03: ; CODE XREF: .text1:00BFDDEFj
.text1:00BFDE03 mov dword ptr [ebp-7F4h], 1
.text1:00BFDE0D mov byte ptr [ebp-4], 3
.text1:00BFDE11 lea ecx, [ebp-644h]
.text1:00BFDE17 call sub_BEB1D0
.text1:00BFDE1C mov byte ptr [ebp-4], 0
.text1:00BFDE20 lea ecx, [ebp-4ACh]
.text1:00BFDE26 call sub_BE5650
.text1:00BFDE2B mov dword ptr [ebp-4], 0FFFFFFFFh
.text1:00BFDE32 lea ecx, [ebp-624h]
.text1:00BFDE38 call sub_BEAC60
.text1:00BFDE3D mov eax, [ebp-7F4h]
.text1:00BFDE43 jmp loc_BFE164
.text1:00BFDE48 ; ---------------------------------------------------------------------------
.text1:00BFDE48
.text1:00BFDE48 loc_BFDE48: ; CODE XREF: .text1:00BFDACCj
.text1:00BFDE48 ; .text1:00BFDAF3j ...
.text1:00BFDE48 mov edx, ds:dword_CB565C
.text1:00BFDE4E mov eax, ds:dword_CB565C
.text1:00BFDE53 mov ecx, [edx+40h]
.text1:00BFDE56 xor ecx, [eax+80h]
.text1:00BFDE5C mov edx, ds:dword_CB565C
.text1:00BFDE62 xor ecx, [edx+4]
.text1:00BFDE65 and ecx, 10h
.text1:00BFDE68 jz loc_BFE0C6
.text1:00BFDE6E mov eax, ds:dword_CB565C
.text1:00BFDE73 mov ecx, ds:dword_CB565C
.text1:00BFDE79 mov edx, [eax+50h]
.text1:00BFDE7C xor edx, [ecx+70h]
.text1:00BFDE7F push edx
.text1:00BFDE80 call ds:GetCurrentProcessId
.text1:00BFDE86 push eax
.text1:00BFDE87 push offset aXDa08x ; "%X::DA%08X"
.text1:00BFDE8C push 104h
.text1:00BFDE91 lea eax, [ebp-124h]
.text1:00BFDE97 push eax
.text1:00BFDE98 call _sprintf_s
.text1:00BFDE9D add esp, 14h
.text1:00BFDEA0 lea ecx, [ebp-124h]
.text1:00BFDEA6 push ecx
.text1:00BFDEA7 push 0
.text1:00BFDEA9 push 1F0001h
.text1:00BFDEAE call ds:OpenMutexA
.text1:00BFDEB4 test eax, eax
.text1:00BFDEB6 jnz loc_BFE0C4
.text1:00BFDEBC push 1
.text1:00BFDEBE call ds:GetCurrentThread
.text1:00BFDEC4 push eax
.text1:00BFDEC5 call ds:SetThreadPriority
.text1:00BFDECB mov byte ptr [ebp-645h], 0
.text1:00BFDED2 push offset aKernel32 ; "Kernel32"
.text1:00BFDED7 call ds:LoadLibraryA
.text1:00BFDEDD mov [ebp-64Ch], eax
.text1:00BFDEE3 cmp dword ptr [ebp-64Ch], 0
.text1:00BFDEEA jz short loc_BFDF1E
.text1:00BFDEEC push offset aIsdebuggerpres ; "IsDebuggerPresent"
.text1:00BFDEF1 mov edx, [ebp-64Ch]
.text1:00BFDEF7 push edx
.text1:00BFDEF8 call ds:GetProcAddress
.text1:00BFDEFE mov [ebp-6E8h], eax
.text1:00BFDF04 cmp dword ptr [ebp-6E8h], 0
.text1:00BFDF0B jz short loc_BFDF1E
.text1:00BFDF0D call dword ptr [ebp-6E8h]
.text1:00BFDF13 test eax, eax
.text1:00BFDF15 jz short loc_BFDF1E
.text1:00BFDF17 mov byte ptr [ebp-645h], 1
.text1:00BFDF1E
.text1:00BFDF1E loc_BFDF1E: ; CODE XREF: .text1:00BFDEEAj
.text1:00BFDF1E ; .text1:00BFDF0Bj ...
.text1:00BFDF1E mov dword ptr [ebp-6E4h], 94h
.text1:00BFDF28 lea eax, [ebp-6E4h]
.text1:00BFDF2E push eax
.text1:00BFDF2F call ds:GetVersionExA
.text1:00BFDF35 cmp dword ptr [ebp-6D4h], 2
.text1:00BFDF3C jnz short loc_BFDF9F
.text1:00BFDF3E push ecx
.text1:00BFDF3F bswap ecx
.text1:00BFDF41 not ecx
.text1:00BFDF43 push eax
.text1:00BFDF44 not eax
.text1:00BFDF46 mov eax, 6C65696Dh
.text1:00BFDF4B xchg eax, ecx
.text1:00BFDF4C mov ecx, 0DEADC0DEh
.text1:00BFDF51 xchg eax, ecx
.text1:00BFDF52 not eax
.text1:00BFDF54 pop eax
.text1:00BFDF55 not ecx
.text1:00BFDF57 pop ecx
.text1:00BFDF58 pushf
.text1:00BFDF59 pusha
.text1:00BFDF5A xor ebx, ebx
.text1:00BFDF5C
.text1:00BFDF5C loc_BFDF5C: ; CODE XREF: .text1:loc_BFDFD4j
.text1:00BFDF5C jz short loc_BFDF61
.text1:00BFDF5E
.text1:00BFDF5E loc_BFDF5E: ; CODE XREF: .text1:00BFDF7Fj
.text1:00BFDF5E jmp short near ptr loc_BFDF81+1
.text1:00BFDF5E ; ---------------------------------------------------------------------------
.text1:00BFDF60 db 0EBh
.text1:00BFDF61 ; ---------------------------------------------------------------------------
.text1:00BFDF61
.text1:00BFDF61 loc_BFDF61: ; CODE XREF: .text1:loc_BFDF5Cj
.text1:00BFDF61 xor ebx, ebx
.text1:00BFDF63 jz short $+2
.text1:00BFDF65 jmp short loc_BFDF74
.text1:00BFDF65 ; ---------------------------------------------------------------------------
.text1:00BFDF67 db 0B8h
.text1:00BFDF68 db 0EBh, 0Fh
.text1:00BFDF6A ; ---------------------------------------------------------------------------
.text1:00BFDF6A
.text1:00BFDF6A loc_BFDF6A: ; CODE XREF: .text1:00BFDF76j
.text1:00BFDF6A mov ecx, 34F9C987h
.text1:00BFDF6F nop
.text1:00BFDF70 stc
.text1:00BFDF71 jz short loc_BFDF78
.text1:00BFDF71 ; ---------------------------------------------------------------------------
.text1:00BFDF73 db 0EBh
.text1:00BFDF74 ; ---------------------------------------------------------------------------
.text1:00BFDF74
.text1:00BFDF74 loc_BFDF74: ; CODE XREF: .text1:00BFDF65j
.text1:00BFDF74 xor eax, eax
.text1:00BFDF76 jz short loc_BFDF6A
.text1:00BFDF78
.text1:00BFDF78 loc_BFDF78: ; CODE XREF: .text1:00BFDF71j
.text1:00BFDF78 mov eax, 4840C987h
.text1:00BFDF7D test eax, eax
.text1:00BFDF7F jnz short loc_BFDF5E
.text1:00BFDF81
.text1:00BFDF81 loc_BFDF81: ; CODE XREF: .text1:loc_BFDF5Ej
.text1:00BFDF81 jmp near ptr 93267CE7h
.text1:00BFDF86 ; ---------------------------------------------------------------------------
.text1:00BFDF86 xchg ax, dx
.text1:00BFDF88 mov eax, eax
.text1:00BFDF8A mov eax, large fs:30h
.text1:00BFDF90
.text1:00BFDF90 loc_BFDF90: ; CODE XREF: .text1:00BFDFFEj
.text1:00BFDF90 movzx eax, byte ptr [eax+2]
.text1:00BFDF94 or al, al
.text1:00BFDF96 jnz short loc_BFDFB6
.text1:00BFDF98 jmp loc_BFE027
.text1:00BFDF9D ; ---------------------------------------------------------------------------
.text1:00BFDF9D jmp short loc_BFDFB6
.text1:00BFDF9F ; ---------------------------------------------------------------------------
.text1:00BFDF9F
.text1:00BFDF9F loc_BFDF9F: ; CODE XREF: .text1:00BFDF3Cj
.text1:00BFDF9F jo short loc_BFDFA8
.text1:00BFDFA1 jl short loc_BFDFA6
.text1:00BFDFA3
.text1:00BFDFA3 loc_BFDFA3: ; CODE XREF: .text1:loc_BFDFA6j
.text1:00BFDFA3 ; .text1:loc_BFDFA8j
.text1:00BFDFA3 jmp short loc_BFDFAA
.text1:00BFDFA3 ; ---------------------------------------------------------------------------
.text1:00BFDFA5 db 0E8h
.text1:00BFDFA6 ; ---------------------------------------------------------------------------
.text1:00BFDFA6
.text1:00BFDFA6 loc_BFDFA6: ; CODE XREF: .text1:00BFDFA1j
.text1:00BFDFA6 jz short loc_BFDFA3
.text1:00BFDFA8
.text1:00BFDFA8 loc_BFDFA8: ; CODE XREF: .text1:loc_BFDF9Fj
.text1:00BFDFA8 jmp short loc_BFDFA3
.text1:00BFDFAA ; ---------------------------------------------------------------------------
.text1:00BFDFAA
.text1:00BFDFAA loc_BFDFAA: ; CODE XREF: .text1:loc_BFDFA3j
.text1:00BFDFAA mov eax, large fs:20h
.text1:00BFDFB0 or eax, eax
.text1:00BFDFB2 jnz short loc_BFDFB6
.text1:00BFDFB4 jmp short loc_BFE027
.text1:00BFDFB6 ; ---------------------------------------------------------------------------
.text1:00BFDFB6
.text1:00BFDFB6 loc_BFDFB6: ; CODE XREF: .text1:00BFDF96j
.text1:00BFDFB6 ; .text1:00BFDF9Dj ...
.text1:00BFDFB6 pusha
.text1:00BFDFB7 xor eax, eax
.text1:00BFDFB9 jnz short loc_BFDFBD
.text1:00BFDFBB jmp short loc_BFDFD2
.text1:00BFDFBD ; ---------------------------------------------------------------------------
.text1:00BFDFBD
.text1:00BFDFBD loc_BFDFBD: ; CODE XREF: .text1:00BFDFB9j
.text1:00BFDFBD jmp short loc_BFDFF2
.text1:00BFDFBD ; ---------------------------------------------------------------------------
.text1:00BFDFBF db 0C0h
.text1:00BFDFC0 dd 0C7A1875h
.text1:00BFDFC4 ; ---------------------------------------------------------------------------
.text1:00BFDFC4
.text1:00BFDFC4 loc_BFDFC4: ; CODE XREF: .text1:loc_BFDFD2j
.text1:00BFDFC4 jo short loc_BFDFD4
.text1:00BFDFC6 jmp short near ptr loc_BFDFD4+1
.text1:00BFDFC6 ; ---------------------------------------------------------------------------
.text1:00BFDFC8 dd 790E72E8h, 15FFF1h
.text1:00BFDFD0 db 79h, 9
.text1:00BFDFD2 ; ---------------------------------------------------------------------------
.text1:00BFDFD2
.text1:00BFDFD2 loc_BFDFD2: ; CODE XREF: .text1:00BFDFBBj
.text1:00BFDFD2 jz short loc_BFDFC4
.text1:00BFDFD4
.text1:00BFDFD4 loc_BFDFD4: ; CODE XREF: .text1:loc_BFDFC4j
.text1:00BFDFD4 ; .text1:00BFDFC6j
.text1:00BFDFD4 jmp short near ptr loc_BFDF5C+1
.text1:00BFDFD6 ; ---------------------------------------------------------------------------
.text1:00BFDFD6 fstp tbyte ptr [edx-10h]
.text1:00BFDFD9 mov al, ds:5C66133h
.text1:00BFDFDE and al, 54h
.text1:00BFDFE0 retf
.text1:00BFDFE0 ; ---------------------------------------------------------------------------
.text1:00BFDFE1 align 2
.text1:00BFDFE2 dw 5001h
.text1:00BFDFE4 dd 0C80FD0F7h, 9C007358h
.text1:00BFDFEC db 60h, 0EBh
.text1:00BFDFEE ; ---------------------------------------------------------------------------
.text1:00BFDFEE
.text1:00BFDFEE loc_BFDFEE: ; CODE XREF: .text1:00BFE01Aj
.text1:00BFDFEE sub edx, edx
.text1:00BFDFF0 jo short loc_BFE000
.text1:00BFDFF2
.text1:00BFDFF2 loc_BFDFF2: ; CODE XREF: .text1:loc_BFDFBDj
.text1:00BFDFF2 ; .text1:00BFE013j
.text1:00BFDFF2 jmp short loc_BFE011
.text1:00BFDFF4 ; ---------------------------------------------------------------------------
.text1:00BFDFF4
.text1:00BFDFF4 loc_BFDFF4: ; CODE XREF: .text1:loc_BFE011j
.text1:00BFDFF4 xor ecx, ecx
.text1:00BFDFF6
.text1:00BFDFF6 loc_BFDFF6: ; CODE XREF: .text1:00BFE005j
.text1:00BFDFF6 jz short $+2
.text1:00BFDFF8 jmp short loc_BFE00A
.text1:00BFDFFA ; ---------------------------------------------------------------------------
.text1:00BFDFFA
.text1:00BFDFFA loc_BFDFFA: ; CODE XREF: .text1:00BFE00Ej
.text1:00BFDFFA stc
.text1:00BFDFFB xor ecx, 3
.text1:00BFDFFE jz short loc_BFDF90
.text1:00BFE000
.text1:00BFE000 loc_BFE000: ; CODE XREF: .text1:00BFDFF0j
.text1:00BFE000 jmp short loc_BFE007
.text1:00BFE000 ; ---------------------------------------------------------------------------
.text1:00BFE002 db 0B9h
.text1:00BFE003 ; ---------------------------------------------------------------------------
.text1:00BFE003
.text1:00BFE003 loc_BFE003: ; CODE XREF: .text1:loc_BFE007j
.text1:00BFE003 jmp short loc_BFE015
.text1:00BFE005 ; ---------------------------------------------------------------------------
.text1:00BFE005 jz short loc_BFDFF6
.text1:00BFE007
.text1:00BFE007 loc_BFE007: ; CODE XREF: .text1:loc_BFE000j
.text1:00BFE007 jnb short loc_BFE003
.text1:00BFE007 ; ---------------------------------------------------------------------------
.text1:00BFE009 db 0F2h
.text1:00BFE00A ; ---------------------------------------------------------------------------
.text1:00BFE00A
.text1:00BFE00A loc_BFE00A: ; CODE XREF: .text1:00BFDFF8j
.text1:00BFE00A sbb bl, bl
.text1:00BFE00C xor ebx, ebx
.text1:00BFE00E jmp short loc_BFDFFA
.text1:00BFE00E ; ---------------------------------------------------------------------------
.text1:00BFE010 db 0E9h
.text1:00BFE011 ; ---------------------------------------------------------------------------
.text1:00BFE011
.text1:00BFE011 loc_BFE011: ; CODE XREF: .text1:loc_BFDFF2j
.text1:00BFE011 jmp short loc_BFDFF4
.text1:00BFE013 ; ---------------------------------------------------------------------------
.text1:00BFE013 jmp short loc_BFDFF2
.text1:00BFE015 ; ---------------------------------------------------------------------------
.text1:00BFE015
.text1:00BFE015 loc_BFE015: ; CODE XREF: .text1:loc_BFE003j
.text1:00BFE015 repne sbb al, 0DBh
.text1:00BFE018 jmp short loc_BFE01D
.text1:00BFE01A ; ---------------------------------------------------------------------------
.text1:00BFE01A jmp short loc_BFDFEE
.text1:00BFE01A ; ---------------------------------------------------------------------------
.text1:00BFE01C db 0B8h
.text1:00BFE01D ; ---------------------------------------------------------------------------
.text1:00BFE01D
.text1:00BFE01D loc_BFE01D: ; CODE XREF: .text1:00BFE018j
.text1:00BFE01D popa
.text1:00BFE01E popf
.text1:00BFE01F bswap eax
.text1:00BFE021 not ecx
.text1:00BFE023 bswap eax
.text1:00BFE025 not ecx
.text1:00BFE027
.text1:00BFE027 loc_BFE027: ; CODE XREF: .text1:00BFDF98j
.text1:00BFE027 ; .text1:00BFDFB4j
.text1:00BFE027 movzx ecx, byte ptr [ebp-645h]
.text1:00BFE02E test ecx, ecx
.text1:00BFE030 jz short loc_BFE065
.text1:00BFE032 call ds:GetCurrentProcessId
.text1:00BFE038 push eax
.text1:00BFE039 push offset Format ; "%X:DAF"
.text1:00BFE03E push 104h
.text1:00BFE043 lea edx, [ebp-124h]
.text1:00BFE049 push edx
.text1:00BFE04A call _sprintf_s
.text1:00BFE04F add esp, 10h
.text1:00BFE052 lea eax, [ebp-124h]
.text1:00BFE058 push eax
.text1:00BFE059 push 0
.text1:00BFE05B push 0
.text1:00BFE05D call ds:CreateMutexA
.text1:00BFE063 jmp short loc_BFE0C4
.text1:00BFE065 ; ---------------------------------------------------------------------------
.text1:00BFE065
.text1:00BFE065 loc_BFE065: ; CODE XREF: .text1:00BFE030j
.text1:00BFE065 cmp ds:dword_CB53F8, 0
.text1:00BFE06C setz cl
.text1:00BFE06F push ecx
.text1:00BFE070 call loc_BE9AB0
.text1:00BFE075 add esp, 4
.text1:00BFE078 movzx edx, al
.text1:00BFE07B test edx, edx
.text1:00BFE07D jnz short loc_BFE0B0
.text1:00BFE07F mov ds:dword_CB5538, 6
.text1:00BFE089 call ds:GetLastError
.text1:00BFE08F push eax
.text1:00BFE090 push offset aErrorCodeD ; "(Error code %d)"
.text1:00BFE095 push 100h
.text1:00BFE09A push offset unk_CB5540
.text1:00BFE09F call _sprintf_s
.text1:00BFE0A4 add esp, 10h
.text1:00BFE0A7 xor eax, eax
.text1:00BFE0A9 jmp loc_BFE164
.text1:00BFE0AE ; ---------------------------------------------------------------------------
.text1:00BFE0AE jmp short loc_BFE0C4
.text1:00BFE0B0 ; ---------------------------------------------------------------------------
.text1:00BFE0B0
.text1:00BFE0B0 loc_BFE0B0: ; CODE XREF: .text1:00BFE07Dj
.text1:00BFE0B0 push 0
.text1:00BFE0B2 call sub_BFE180
.text1:00BFE0B7 add esp, 4
.text1:00BFE0BA mov eax, 1
.text1:00BFE0BF jmp loc_BFE164
.text1:00BFE0C4 ; ---------------------------------------------------------------------------
.text1:00BFE0C4
.text1:00BFE0C4 loc_BFE0C4: ; CODE XREF: .text1:00BFDEB6j
.text1:00BFE0C4 ; .text1:00BFE063j ...
.text1:00BFE0C4 jmp short loc_BFE0EC
.text1:00BFE0C6 ; ---------------------------------------------------------------------------
.text1:00BFE0C6
.text1:00BFE0C6 loc_BFE0C6: ; CODE XREF: .text1:00BFDE68j
.text1:00BFE0C6 mov eax, ds:dword_CB565C
.text1:00BFE0CB mov ecx, ds:dword_CB565C
.text1:00BFE0D1 mov edx, [eax+8]
.text1:00BFE0D4 xor edx, [ecx+80h]
.text1:00BFE0DA mov eax, ds:dword_CB565C
.text1:00BFE0DF xor edx, [eax+4]
.text1:00BFE0E2 and edx, 2
.text1:00BFE0E5 jz short loc_BFE0EC
.text1:00BFE0E7 call sub_C1D8E0
.text1:00BFE0EC
.text1:00BFE0EC loc_BFE0EC: ; CODE XREF: .text1:loc_BFE0C4j
.text1:00BFE0EC ; .text1:00BFE0E5j
.text1:00BFE0EC call sub_BFC550
.text1:00BFE0F1 mov [ebp-128h], eax
.text1:00BFE0F7 push 0
.text1:00BFE0F9 call sub_BFE180
.text1:00BFE0FE add esp, 4
.text1:00BFE101 push 0
.text1:00BFE103 call ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z ; _set_new_handler(int (*)(uint))
.text1:00BFE108 add esp, 4
.text1:00BFE10B cmp dword ptr [ebp-128h], 1
.text1:00BFE112 jnz short loc_BFE128
.text1:00BFE114 push offset dword_CB53F8
.text1:00BFE119 call ds:dword_CB5420
.text1:00BFE11F add esp, 4
.text1:00BFE122 mov [ebp-128h], eax
.text1:00BFE128
.text1:00BFE128 loc_BFE128: ; CODE XREF: .text1:00BFE112j
.text1:00BFE128 push offset sub_BFC520
.text1:00BFE12D call ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z ; _set_new_handler(int (*)(uint))
.text1:00BFE132 add esp, 4
.text1:00BFE135 cmp ds:dword_CB541C, 0
.text1:00BFE13C jz short loc_BFE144
.text1:00BFE13E call ds:dword_CB541C
.text1:00BFE144
.text1:00BFE144 loc_BFE144: ; CODE XREF: .text1:00BFE13Cj
.text1:00BFE144 cmp ds:dword_CB5530, 0
.text1:00BFE14B jz short loc_BFE15E
.text1:00BFE14D push 0
.text1:00BFE14F push 0
.text1:00BFE151 mov ecx, ds:dword_CB552C
.text1:00BFE157 push ecx
.text1:00BFE158 call ds:dword_CB5530
.text1:00BFE15E
.text1:00BFE15E loc_BFE15E: ; CODE XREF: .text1:00BFE14Bj
.text1:00BFE15E mov eax, [ebp-128h]
.text1:00BFE164
.text1:00BFE164 loc_BFE164: ; CODE XREF: .text1:00BFDAB7j
.text1:00BFE164 ; .text1:00BFDCACj ...
.text1:00BFE164 mov ecx, [ebp-0Ch]
.text1:00BFE167 mov large fs:0, ecx
.text1:00BFE16E pop ecx
.text1:00BFE16F mov ecx, [ebp-18h]
.text1:00BFE172 xor ecx, ebp
.text1:00BFE174 call sub_C4AAD2
.text1:00BFE179 mov esp, ebp
.text1:00BFE17B pop ebp
.text1:00BFE17C retn