Function at 0x405e40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov esi, esp
mov dword [esi + 0x98], ebp
mov dword [esi + 0x9c], esp
mov dword [esi + 0xa8], 0xffffffff
lea eax, [esi + 0xa0]
mov dword [esi + 0xa4], 0x406f10
mov ecx, dword fs:[0]
mov dword [esi + 0xa0], ecx
mov dword fs:[0], eax
mov eax, dword [0x42c338]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x42c33c], 0xa
setl al
or al, cl
mov byte [esi], al
nop dword [eax]
push eax
sub esp, 8
mov ecx, esp
sub esp, 8
mov dword [esi + 0x10], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push eax
push eax
mov edx, esp
sub esp, 8
mov edi, esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff0
mov esp, ebx
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
cmp byte [esi], 0
je 0x405eb0
mov dword [esi], eax
mov dword [esi + 0x54], ebx
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edx
mov dword [esi + 0xc], ecx
mov eax, 0x4aa09827
mov ecx, 0xdbb4b922
mov dword [esi + 0x24], ecx
mov dword [esi + 8], eax
mov eax, 0xed8b2eaa
mov ecx, 0xc7b7071
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], eax
mov eax, 0x310f246a
mov ecx, 0xa0c9bbe9
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x20], eax
mov eax, 0xc8478848
mov ecx, 0x88939068
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov eax, 0x39f5ec69
mov ecx, 0xbaf7cb47
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x70], eax
mov eax, 0x9adf42c6
mov ecx, 0x7e1a201e
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], eax
mov eax, 0xa0c9bbe9
mov ecx, 0x310f490b
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], eax
lea ecx, [esi + 0x30]
xor eax, eax
mov dword [esi + 0x58], ecx
xor eax, eax
jmp 0x405f8d
mov eax, dword [esi + 4]
inc eax
cmp eax, 6
je 0x406202
mov dword [esi + 4], eax
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov dword [eax], ecx
mov ecx, dword [esi + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0x1c]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0x18]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x20]
mov dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x7c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x78]
mov dword [eax + 0x18], ecx
mov edx, dword [esi + 0x74]
mov dword [eax + 0x1c], edx
mov edi, dword [esi + 0x6c]
mov dword [esi + 0x34], edi
mov edi, dword [esi + 0x70]
mov dword [esi + 0x30], edi
mov edi, dword [esi + 0x64]
mov dword [esi + 0x3c], edi
mov edi, dword [esi + 0x68]
mov dword [esi + 0x38], edi
mov edi, dword [esi + 0x60]
mov dword [esi + 0x44], edi
mov edi, dword [esi + 0x5c]
mov dword [esi + 0x40], edi
mov dword [esi + 0x4c], edx
mov dword [esi + 0x48], ecx
movapd xmm0, xmmword [eax]
mov ecx, dword [esi + 0x58]
xorpd xmm0, xmmword [ecx]
movapd xmm1, xmmword [eax + 0x10]
movapd xmmword [eax], xmm0
xorpd xmm1, xmmword [ecx + 0x10]
movapd xmmword [eax + 0x10], xmm1
cmp byte [0x42c170], 0
je 0x406070
push str.NtSetInformationProcess
push dword [0x42c178]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x406090
mov edi, eax
mov dword [esi + 0x34], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x38], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [esi + 0xa8], 0
push 0xc
lea ecx, [esi + 0x30]
push ecx
push 0x28
push eax
call edi
mov ebx, dword [esi + 0x10]
sar eax, 0x1f
and eax, 0xfffffffe
jmp 0x406098
mov eax, 0xfffffffa
mov ebx, dword [esi + 0x10]
mov dword [0x42c16c], eax
cmp dword [0x42c33c], 0xa
jge 0x406115
jmp 0x406129
mov eax, 0xffffffff
mov ebx, dword [esi + 0x10]
mov dword [0x42c16c], eax
mov edi, dword [0x42c174]
push dword [esi]
push dword [0x42c178]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x4060cb
push dword [esi]
push dword [0x42c17c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4061d3
cmp byte [eax], 0xb8
je 0x4060d6
cmp byte [eax + 5], 0xba
jne 0x40610c
mov ecx, dword [0x42c174]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 7]
movsd qword [ecx + 7], xmm1
movsd qword [ecx], xmm0
mov dword [0x42c16c], 0
mov dword [esi + 0xa8], 0
push 0x7f
push 1
push ebx
call edi
mov ebx, dword [esi + 0x10]
cmp dword [0x42c33c], 0xa
jl 0x406129
mov eax, dword [0x42c338]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4061e0
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx + 8]
je 0x406150
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
add dword [ecx + 4], 8
jmp 0x406161
mov dword [esi + 0xa8], 0
push ebx
push eax
call fcn.00406ae0
cmp dword [0x42c33c], 0xa
jl 0x40617a
mov eax, dword [0x42c338]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4061f0
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
nop word cs:[eax + eax]
mov ebx, dword [0x42c338]
mov edi, dword [0x42c33c]
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x4061c0
test eax, eax
je 0x4061c0
push 0x32
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
call edi
push 0x32
call edi
jmp 0x406190
cmp edi, 0xa
jl 0x405f80
test eax, eax
je 0x405f80
jmp 0x406200
mov eax, 0xfffffffc
jmp 0x406078
jmp 0x4061e0
jmp 0x4061f0
jmp 0x406200
xor edx, edx
jmp 0x406219
inc edx
test cl, cl
je 0x4064a2
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x40622f
test eax, eax
jne 0x406490
mov ecx, dword [esi + 0xc]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
sub ecx, ebx
sar ecx, 3
add ecx, 0xfffffffe
cmp edx, ecx
setae cl
mov dword [esi + 0x18], ecx
jae 0x4064a2
mov dword [esi + 0x20], eax
mov eax, dword [ebx + edx*8 + 4]
mov dword [esi + 0x10], eax
mov eax, dword [ebx + edx*8 + 0xc]
mov dword [esi], eax
mov eax, dword [ebx + edx*8 + 8]
mov ecx, dword [ebx + edx*8 + 0x10]
mov dword [esi + 4], ecx
mov ecx, dword [ebx + edx*8 + 0x14]
mov dword [esi + 8], ecx
mov ecx, eax
mov dword [esi + 0x1c], edx
sub ecx, dword [ebx + edx*8]
mov dword [esi + 0x24], ecx
mov ecx, dword [esi]
mov ebx, dword [esi + 8]
mov edx, eax
mov eax, dword [esi + 4]
jne 0x406297
cmp eax, edx
jne 0x406297
cmp ecx, dword [esi + 0x10]
jne 0x406297
cmp ebx, ecx
je 0x4064b2
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [esi + 0x24]
sub ebx, ecx
sub ecx, dword [esi + 0x10]
xorps xmm1, xmm1
cvtsi2ss xmm1, ecx
sub eax, edx
cvtsi2ss xmm2, eax
cvtsi2ss xmm3, ebx
mov eax, dword [esi + 0x2c]
movss dword [esi + 0x10], xmm0
movss dword [eax], xmm0
movss dword [esi], xmm1
movss dword [eax + 4], xmm1
mov ecx, dword [esi + 0x28]
movss dword [esi + 4], xmm2
movss dword [ecx], xmm2
movss dword [esi + 8], xmm3
movss dword [ecx + 4], xmm3
push ecx
push eax
call fcn.004058a0
add esp, 8
fstp qword [esi + 0x88]
movsd xmm1, qword [esi + 0x88]
nop dword [eax + eax]
mov ebx, dword [0x42c338]
mov edi, dword [0x42c33c]
cmp edi, 0xa
jl 0x4063a0
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
je 0x4063a0
mov edi, dword [esi + 0x2c]
movss xmm0, dword [esi + 0x10]
movss dword [edi], xmm0
movss xmm0, dword [esi]
movss dword [edi + 4], xmm0
mov ebx, dword [esi + 0x28]
movss xmm0, dword [esi + 4]
movss dword [ebx], xmm0
movss xmm0, dword [esi + 8]
movss dword [ebx + 4], xmm0
push ebx
push edi
call fcn.004058a0
fstp st(0)
add esp, 8
movss xmm0, dword [esi + 0x10]
movss dword [edi], xmm0
movss xmm0, dword [esi]
movss dword [edi + 4], xmm0
movss xmm0, dword [esi + 4]
movss dword [ebx], xmm0
movss xmm0, dword [esi + 8]
movss dword [ebx + 4], xmm0
push ebx
push edi
call fcn.004058a0
add esp, 8
fstp qword [esi + 0x80]
movsd xmm1, qword [esi + 0x80]
jmp 0x406300
movsd xmm0, qword [0x40d530]
ucomisd xmm0, xmm1
jbe 0x4063c0
mov edx, dword [esi + 0x1c]
jmp 0x406466
mov edx, 0x39f5d95d
mov eax, 0xbaf7cb47
mov dword [esi + 0x10], eax
mov eax, 0x9adf42c6
mov ecx, 0x7e1a201e
mov dword [esi], eax
cmp dword [0x42c340], 0xa
jl 0x406403
mov eax, dword [0x42c344]
mov dword [esi + 4], eax
mov dword [esi + 8], edx
mov eax, dword [esi + 4]
lea edx, [eax + 1]
imul edx, dword [esi + 4]
and edx, 1
mov edx, dword [esi + 8]
jne 0x4064a0
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x54]
mov dword [ecx], edx
mov edx, dword [esi + 0x10]
mov dword [ecx + 4], edx
mov edx, 0x39f5ec69
mov eax, 0xbaf7cb47
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], edx
mov edx, dword [esi]
mov dword [ecx + 8], edx
mov eax, dword [esi + 4]
mov dword [ecx + 0xc], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], edx
xor eax, eax
lea edx, [esi + 0x30]
movaps xmm0, xmmword [ecx]
xorps xmm0, xmmword [edx]
movaps xmmword [ecx], xmm0
push ecx
movsd qword [esi + 0x10], xmm1
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
add esp, 4
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsd xmm1, qword [esi + 0x10]
ucomisd xmm1, xmm0
mov cl, 1
mov edx, dword [esi + 0x1c]
jbe 0x406468
xor ecx, ecx
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
cmp edi, 0xa
jl 0x406210
test eax, eax
je 0x406210
jmp 0x4064c0
jmp 0x406490
jmp 0x4064a0
cmp edi, 0xa
jl 0x4064c2
test eax, eax
mov edi, dword [esi + 0xc]
je 0x4064fe
nop
jmp 0x4064b0
cmp edi, 0xa
mov eax, dword [esi + 0x20]
jl 0x4064c7
test eax, eax
je 0x4064c7
nop
jmp 0x4064c0
mov edi, dword [esi + 0xc]
jmp 0x4064fe
mov dword [esi + 0x18], 0
cmp edi, 0xa
jge 0x4064a7
mov edi, dword [esi + 0xc]
jmp 0x4064fe
push eax
push ecx
call fcn.0040ba07
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, dword [edi]
test ecx, ecx
je 0x406544
mov eax, dword [edi + 8]
sub eax, ecx
cmp eax, 0x1000
jb 0x406526
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4065a1
add eax, 0x23
mov ecx, edx
push eax
push ecx
call fcn.0040ba07
add esp, 8
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
cmp dword [0x42c33c], 0xa
jl 0x40658a
mov eax, dword [0x42c338]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x40658a
mov ecx, dword [edi]
test ecx, ecx
je 0x4064fe
mov eax, dword [edi + 8]
sub eax, ecx
cmp eax, 0x1000
jb 0x4064e0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4065a1
add eax, 0x23
mov ecx, edx
jmp 0x4064e0
mov eax, dword [esi + 0xa0]
mov dword fs:[0], eax
mov eax, dword [esi + 0x18]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop word [eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0xac]
mov ebp, dword [esi + 0x98]
mov ecx, dword [esi + 0xc]
call fcn.004065d0
add esp, 0x10
pop ebp
ret