Function at 0x40e030
Capabilities:
Create thread

Disassembly:
sub esp, 0x560
push ebx
push ebp
push esi
push edi
push 0x20
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
xor ebp, ebp
lea edi, [esp + 0x2c]
add esp, 4
mov dword [ebx], ebp
mov eax, dword [0x42c974]
mov dword [ebx + 0x14], eax
mov dword [ebx + 8], 2
mov ecx, dword [0x41e42c]
xor eax, eax
mov dword [ebx + 0x18], ecx
mov ecx, 0x32
mov dword [ebx + 0x1c], ebp
mov dword [ebx + 0xc], ebp
mov dword [ebx + 0x10], ebp
mov dword [ebx + 4], ebp
rep stosd dword es:[edi], eax
mov ecx, 0x11f
lea edi, [esp + 0xf0]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov dl, byte [0x42c1b8]
mov dword [esp + 0x11], eax
mov byte [esp + 0x10], dl
mov dword [esp + 0x15], eax
mov dword [esp + 0x19], eax
mov dword [esp + 0x1d], eax
mov word [esp + 0x21], ax
mov byte [esp + 0x23], al
mov eax, dword [0x42ce48]
cmp dword [eax], 1
jne 0x40e0c6
mov edi, dword [eax + 0x10]
lea edx, [esp + 0xf0]
jmp 0x40e0dc
push 0x41e6ac
call fcn.0041bfd0
add esp, 4
lea edx, [esp + 0xf0]
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x41e6a0
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xf4]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x42c6c4]
mov eax, dword [ecx + 0xc]
or ecx, 0xffffffff
mov edi, dword [eax + 0x18]
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xf0]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, dword [0x42c6cc]
and ecx, 3
lea edx, [esp + 0xf0]
rep movsb byte es:[edi], byte [esi]
lea edi, [eax + 0x14e]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x42c6d0]
mov ecx, edx
and ecx, 3
cmp eax, ebp
rep movsb byte es:[edi], byte [esi]
jle 0x40e222
lea ecx, [esp + 0x28]
push 0xa
push ecx
push eax
call sub.MSVCRT.dll__itoa
push 0x41e69c
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x10
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xf0]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0xf0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x28]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x41e68c
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xf4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x41e67c
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x42c6c4]
mov ecx, edx
and ecx, 3
lea edx, [esp + 0xf8]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0xc]
xor eax, eax
mov edi, dword [ecx + 0x1c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xf8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x42c6c4]
mov ecx, edx
and ecx, 3
lea edx, [esp + 0xf8]
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [eax + 0xc]
xor eax, eax
mov edi, dword [ecx + 0x20]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push str.u_irafm5
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xfc]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x41e668
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x100]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.kgZ_d_o5
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x104]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x104]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x42c4fc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x41e64c
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x108]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.mgdJak_
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov eax, dword [0x42c6c8]
and ecx, 3
lea edx, [esp + 0x10c]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [eax + 0x18]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x44]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x42cbf0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x44]
push ecx
call fcn.0040c650
lea edi, [esp + 0x48]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x110]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea eax, [esp + 0x48]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x42c978]
push ecx
call fcn.0041adb0
push str.k_4
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 0x2c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xf0]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0xf0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x28]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x42d0a8]
mov ecx, edx
and ecx, 3
cmp eax, 1
rep movsb byte es:[edi], byte [esi]
jne 0x40e58f
mov edi, dword [0x42d0a4]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xf0]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push str.oY4
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xf0]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x42c980]
mov ecx, edx
and ecx, 3
cmp eax, ebp
rep movsb byte es:[edi], byte [esi]
jne 0x40e608
mov eax, dword [0x42c984]
push 0xa
cmp eax, 0xffffffff
jne 0x40e5ed
mov ecx, dword [0x42c97c]
lea eax, [esp + 0x14]
push eax
push ecx
jmp 0x40e5f3
lea edx, [esp + 0x14]
push edx
push eax
call sub.MSVCRT.dll__itoa
add esp, 0xc
lea edi, [esp + 0x10]
lea edx, [esp + 0xf0]
jmp 0x40e616
mov eax, dword [0x42c6c8]
lea edx, [esp + 0xf0]
mov edi, dword [eax]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x42d160]
mov ecx, edx
and ecx, 3
cmp eax, 1
rep movsb byte es:[edi], byte [esi]
jne 0x40e686
push str.hhjxk40
mov dword [0x42d160], ebp
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xf0]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp dword [0x42d164], 1
jne 0x40e6d0
push str.jYqgkk_
mov dword [0x42d164], ebp
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0xf0]
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x28]
push eax
call fcn.0041b210
push str.Mg:___d5
call fcn.0041bfd0
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xf8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0xfc]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x34]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0xfc]
mov ecx, edx
push eax
and ecx, 3
lea eax, [ebx + 4]
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.0041b2e0
lea ecx, [esp + 0x38]
push ecx
push ebp
push ebx
push 0x412120
push ebp
push ebp
call sub.MSVCRT.dll__beginthreadex
add esp, 0x2c
mov dword [0x42c6d4], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x560
ret 0x10