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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1c8
mov eax, dword [0x43c00c]
xor eax, esp
mov dword [esp + 0x1c4], eax
mov eax, dword [0x447b10]
push esi
push edi
cmp eax, dword [0x447b14]
je 0x42fd48
movss xmm0, dword [0x43970c]
xor edi, edi
movss dword [esp + 0x18], xmm0
mov dword [0x447680], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], edi
mov eax, dword [0x447b10]
movups xmm0, xmmword [edi + eax]
movd esi, xmm0
movaps xmmword [esp + 0x60], xmm0
mov edi, dword [esp + 0x64]
mov dword [esp + 0x20], esi
cmp esi, dword [0x44768c]
jne 0x42f58d
test edi, edi
je 0x42fd07
push 0
push 4
lea eax, [esp + 0xb8]
push eax
lea eax, [esi + 0x212c]
push eax
push dword [0x447628]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [esp + 0xb0]
mov eax, esi
or eax, edi
movss dword [esp + 0x10], xmm0
je 0x42fd07
mov eax, dword [esp + 0x68]
cmp eax, 0x20
je 0x42f5d7
cmp eax, 0x21
jne 0x42fd07
comiss xmm0, dword [0x43964c]
jb 0x42fd07
movss xmm1, dword [0x4396d8]
comiss xmm1, xmm0
jb 0x42fd07
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea eax, [esp + 0xb4]
push 0
push 4
push eax
mov eax, dword [0x447690]
add eax, 0x10d9080
push eax
push dword [0x447628]
call edi
push 0
push 4
lea eax, [esp + 0xc0]
push eax
mov eax, dword [esp + 0xc0]
add eax, 0xfe4
push eax
push dword [0x447628]
call edi
push 0
push 0xc
lea eax, [esp + 0xc4]
push eax
mov eax, dword [esp + 0xc4]
add eax, 0x24c
push eax
push dword [0x447628]
call edi
push 0
push 0xc
lea eax, [esp + 0x4c]
push eax
lea eax, [esi + 0x24c]
push eax
push dword [0x447628]
call edi
movss xmm1, dword [esp + 0x48]
subss xmm1, dword [esp + 0xc0]
movss xmm2, dword [esp + 0x44]
subss xmm2, dword [esp + 0xbc]
movq xmm0, qword [esp + 0x44]
movq qword [0x447adc], xmm0
movss xmm0, dword [esp + 0x4c]
subss xmm0, dword [esp + 0xc4]
mov eax, dword [esp + 0x4c]
movss dword [0x447b08], xmm1
mulss xmm1, xmm1
mov dword [0x447ae4], eax
movss dword [0x447b04], xmm2
mulss xmm2, xmm2
movss dword [0x447b0c], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x42f6f6
sqrtsd xmm0, xmm0
jmp 0x42f6fb
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
cvtsd2ss xmm0, xmm0
push 6
mov edx, esi
lea ecx, [esp + 0xa8]
movss dword [esp + 0x18], xmm0
call fcn.0042eb60
mov eax, dword [0x447644]
add esp, 4
sub eax, 0
je 0x42f732
sub eax, 1
jne 0x42f73d
mov eax, 3
mov dword [esp + 0x1c], eax
jmp 0x42f741
mov eax, 6
mov dword [esp + 0x1c], eax
jmp 0x42f741
mov eax, dword [esp + 0x1c]
push eax
mov edx, esi
lea ecx, [esp + 0x9c]
call fcn.0042eb60
movq xmm0, qword [esp + 0x9c]
sub esp, 8
mov eax, dword [esp + 0xac]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x447af8
call fcn.0042ed40
movq xmm0, qword [0x447adc]
mov ecx, esp
mov eax, dword [0x447ae4]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x447aec
call fcn.0042ed40
movq xmm0, qword [esp + 0xb0]
mov ecx, esp
mov eax, dword [esp + 0xb8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x447b1c
call fcn.0042ed40
add esp, 0xc
test al, al
je 0x42fd07
movss xmm0, dword [0x447af0]
subss xmm0, dword [0x447b20]
push 0xff
push 0
cvttss2si eax, xmm0
mov dword [esp + 0x10], eax
cdq
sub eax, edx
mov edi, eax
lea eax, [esp + 0xd0]
push eax
sar edi, 1
call sub.VCRUNTIME140.dll_memset
movss xmm0, dword [0x43c244]
add esp, 0xc
movss xmm1, dword [esp + 0x14]
comiss xmm0, xmm1
jb 0x42fc3a
cmp byte [0x4474ed], 0
je 0x42f8cf
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x60]
cvtps2pd xmm0, xmm0
sub esp, 8
mov dword [esp + 0x78], 0xd49a6856
mov dword [esp + 0x7c], 0x37819a8f
mov dword [esp + 0x80], 0xa5c5ee38
mov dword [esp + 0x84], 0x749724f
mov dword [esp + 0x88], 0xb2b45873
movaps xmm1, xmmword [esp + 0x78]
movsd qword [esp], xmm0
push eax
movaps xmmword [esp + 0x6c], xmm1
lea eax, [esp + 0xd4]
mov dword [esp + 0x90], 0x37819ae2
mov dword [esp + 0x94], 0xa5c5ee38
mov dword [esp + 0x98], 0x749724f
xorps xmm1, xmmword [esp + 0x8c]
push eax
movaps xmmword [esp + 0x70], xmm1
call fcn.00413780
cvttss2si edx, dword [0x447af0]
lea eax, [esp + 0xd8]
push eax
push 0x4468a8
cvttss2si ecx, dword [0x447aec]
call fcn.0042e410
add esp, 0x18
cmp byte [0x447632], 0
je 0x42faa5
movss xmm7, dword [0x447aec]
xorps xmm0, xmm0
movsd xmm1, qword [0x4396a0]
mov eax, edi
cdq
sub eax, edx
movss xmm6, dword [0x43964c]
sar eax, 1
mov edx, dword [0x4474f0]
cvtsi2ss xmm0, eax
mov eax, dword [0x43c248]
subss xmm7, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4397e0]
mov eax, dword [0x43c24c]
divsd xmm0, xmm1
cvtpd2ps xmm5, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4397e0]
mov eax, dword [0x43c250]
divsd xmm0, xmm1
cvtpd2ps xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4397e0]
mov eax, dword [0x43c254]
divsd xmm0, xmm1
cvtpd2ps xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4397e0]
divsd xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm5
cvtpd2ps xmm4, xmm0
jbe 0x42f999
xorps xmm0, xmm0
jmp 0x42f9a0
movaps xmm0, xmm6
minss xmm0, xmm5
comiss xmm1, xmm2
movss xmm5, dword [0x4396e4]
mulss xmm0, xmm5
addss xmm0, dword [0x439628]
cvttss2si ecx, xmm0
jbe 0x42f9c2
xorps xmm0, xmm0
jmp 0x42f9c9
movaps xmm0, xmm6
minss xmm0, xmm2
movss xmm2, dword [0x439628]
mulss xmm0, xmm5
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm3
jbe 0x42f9ec
xorps xmm0, xmm0
jmp 0x42f9f3
movaps xmm0, xmm6
minss xmm0, xmm3
mulss xmm0, xmm5
addss xmm0, xmm2
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm4
ja 0x42fa10
movaps xmm1, xmm6
minss xmm1, xmm4
movss xmm3, dword [0x447b20]
movaps xmm0, xmm7
mulss xmm1, xmm5
push ecx
movd xmm2, edi
cvtdq2ps xmm2, xmm2
mov dword [esp], 0x3dcccccd
push 5
push ecx
mov dword [esp], 0
addss xmm1, dword [0x439628]
addss xmm0, xmm2
movss dword [esp + 0x18], xmm2
movd xmm2, dword [esp + 0x14]
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm1
movss dword [esp + 0x5c], xmm0
movaps xmm0, xmm3
shl eax, 0x18
addss xmm0, xmm2
or eax, ecx
movss dword [esp + 0x14], xmm2
push eax
lea eax, [esp + 0x60]
movss dword [esp + 0x68], xmm7
push eax
lea eax, [esp + 0x6c]
movss dword [esp + 0x68], xmm0
push eax
lea ecx, [edx + 0x1be4]
movss dword [esp + 0x74], xmm3
call fcn.0041d4d0
movss xmm1, dword [esp + 0xc]
movss xmm2, dword [esp + 8]
jmp 0x42fab5
movd xmm2, dword [esp + 8]
movd xmm1, edi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
cmp byte [0x447630], 0
je 0x42fc34
divss xmm1, dword [0x439668]
push 0x446738
movss xmm0, dword [0x447aec]
cvttss2si edi, dword [0x447af0]
subss xmm0, xmm1
cvttss2si eax, xmm2
mov edx, edi
cvttss2si esi, xmm0
push eax
push 4
mov dword [esp + 0x18], eax
mov ecx, esi
call fcn.0042e800
movd xmm0, dword [esp + 0x18]
add esp, 0xc
cvtdq2ps xmm0, xmm0
mov edx, edi
mov ecx, esi
push 0x446718
mulss xmm0, dword [esp + 0x14]
divss xmm0, dword [0x4396d8]
cvttss2si eax, xmm0
push eax
push 3
mov dword [esp + 0x14], eax
call fcn.0042e800
movss xmm0, dword [esp + 0x1c]
add esp, 0xc
movss xmm1, dword [0x4396d4]
comiss xmm1, xmm0
jb 0x42fb78
push 0x446738
push dword [esp + 0x10]
mov edx, edi
mov ecx, esi
push 4
call fcn.0042e800
add esp, 0xc
mov edx, edi
mov ecx, esi
push 0x446b18
push dword [esp + 0xc]
push 3
call fcn.0042e800
movss xmm0, dword [esp + 0x1c]
add esp, 0xc
movss xmm1, dword [0x4396d0]
comiss xmm1, xmm0
jb 0x42fbb9
push 0x446738
push dword [esp + 0x10]
mov edx, edi
mov ecx, esi
push 4
call fcn.0042e800
add esp, 0xc
mov edx, edi
mov ecx, esi
push 0x446b28
push dword [esp + 0xc]
push 3
call fcn.0042e800
movss xmm0, dword [esp + 0x1c]
add esp, 0xc
movss xmm1, dword [0x4396c8]
comiss xmm1, xmm0
jb 0x42fbfa
push 0x446738
push dword [esp + 0x10]
mov edx, edi
mov ecx, esi
push 4
call fcn.0042e800
add esp, 0xc
mov edx, edi
mov ecx, esi
push 0x446b38
push dword [esp + 0xc]
push 3
call fcn.0042e800
movss xmm0, dword [esp + 0x1c]
add esp, 0xc
xorps xmm1, xmm1
comiss xmm1, xmm0
jb 0x42fc30
push 0x446738
push dword [esp + 0x10]
mov edx, edi
mov ecx, esi
push 4
call fcn.0042e800
add esp, 0xc
mov edx, edi
mov ecx, esi
push 0x446b08
push dword [esp + 0xc]
push 3
call fcn.0042e800
add esp, 0xc
mov esi, dword [esp + 0x20]
movss xmm1, dword [esp + 0x14]
movss xmm0, dword [0x43c238]
comiss xmm0, xmm1
jb 0x42fd07
mov eax, dword [0x447ae8]
movss xmm2, dword [0x447af8]
movss xmm1, dword [0x447afc]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x447694]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
cmp byte [0x447631], 0
subss xmm2, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm2
subss xmm1, xmm0
mulss xmm1, xmm1
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
je 0x42fcdb
ucomisd xmm1, xmm0
ja 0x42fcac
sqrtsd xmm0, xmm0
jmp 0x42fcb1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movd xmm0, dword [0x446b58]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x42fd07
movss xmm0, dword [esp + 0x18]
comiss xmm0, xmm1
jbe 0x42fd07
movss dword [esp + 0x18], xmm1
jmp 0x42fd01
ucomisd xmm1, xmm0
ja 0x42fce7
sqrtsd xmm0, xmm0
jmp 0x42fcec
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movss xmm1, dword [esp + 0x18]
cvtsd2ss xmm0, xmm0
comiss xmm1, xmm0
jbe 0x42fd07
movss dword [esp + 0x18], xmm0
mov dword [0x447680], esi
mov eax, dword [0x447b14]
mov esi, dword [esp + 0x3c]
sub eax, dword [0x447b10]
inc esi
mov edi, dword [esp + 0x40]
add edi, 0x10
sar eax, 4
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edi
cmp esi, eax
jbe 0x42f563
cmp dword [0x447680], 0
je 0x42fd48
cmp byte [0x4474ef], 0
je 0x42fd48
call fcn.0042f280
mov ecx, dword [esp + 0x1cc]
pop edi
pop esi
xor ecx, esp
call fcn.00432b74
mov esp, ebp
pop ebp
ret