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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x180
mov eax, dword [0x49d008]
xor eax, esp
mov dword [esp + 0x17c], eax
mov ecx, dword [0x49d9b4]
push esi
push edi
test ecx, ecx
jne 0x461b75
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov dword [esp + 0x18], ecx
push 0
push 4
lea eax, [esp + 0x16c]
push eax
mov eax, dword [0x49da20]
add eax, ecx
add eax, dword [0x49d844]
push eax
push dword [0x49d9d0]
call edi
mov ecx, dword [esp + 0x164]
lea eax, [esp + 0x168]
mov edi, dword [0x49d81c]
push 0
push 4
push eax
mov eax, dword [0x49d9e0]
add eax, ecx
mov dword [0x49d994], ecx
push eax
push dword [0x49d9d0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [esp + 0x168]
lea eax, [esp + 0x16c]
push 0
push 4
push eax
mov eax, dword [0x49da24]
add eax, edi
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push eax
push dword [0x49d9d0]
call edi
mov ecx, dword [esp + 0x16c]
mov eax, 1
push 0
push 4
lea ecx, [ecx - 1]
shl eax, cl
and eax, esi
mov dword [esp + 0x18], eax
lea eax, [esp + 0x178]
push eax
mov eax, dword [0x49d908]
add eax, dword [0x49d994]
push eax
push dword [0x49d9d0]
call edi
mov esi, dword [esp + 0x170]
lea eax, [esp + 0x174]
push 0
push 4
push eax
mov eax, dword [0x49d908]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
call edi
cmp esi, dword [esp + 0x174]
je 0x461b45
push 0
push 4
lea eax, [esp + 0x188]
push eax
mov eax, dword [0x49d908]
add eax, dword [0x49d994]
push eax
push dword [0x49d9d0]
call edi
cmp dword [esp + 0x180], 0
je 0x461b45
push 0
push 4
lea eax, [esp + 0x184]
push eax
mov eax, dword [0x49d9b0]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
call edi
cmp dword [esp + 0x17c], 1
jl 0x461b45
push 0
push 4
lea eax, [esp + 0x180]
push eax
mov eax, dword [0x49d9b0]
add eax, dword [0x49d994]
push eax
push dword [0x49d9d0]
call edi
cmp dword [esp + 0x178], 1
jl 0x461b45
push 0
push 1
lea eax, [esp + 0x14f]
push eax
mov eax, dword [0x49d838]
add eax, dword [0x49d994]
push eax
push dword [0x49d9d0]
call edi
cmp byte [esp + 0x147], 0
jne 0x461b45
push 0
push 1
lea eax, [esp + 0x14e]
push eax
mov eax, dword [0x49d848]
add eax, dword [0x49d994]
push eax
push dword [0x49d9d0]
call edi
cmp byte [esp + 0x146], 0
jne 0x461b45
mov ecx, dword [0x49d994]
test ecx, ecx
je 0x461b45
cmp byte [0x49d801], 0
je 0x461804
cmp dword [esp + 0x10], 0
je 0x461b45
lea eax, [esp + 0x100]
push eax
call fcn.00461150
add esp, 4
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
push 0
mov dword [esp + 0x90], eax
lea eax, [esp + 0x114]
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d994]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x98], xmm0
call edi
push 0
push 4
lea eax, [esp + 0x168]
push eax
mov eax, dword [0x49d9c8]
add eax, dword [0x49d9a0]
push eax
push dword [0x49d9d0]
call edi
mov ecx, dword [esp + 0x160]
lea eax, [esp + 0xd0]
push 0
push 0xc
push eax
mov eax, dword [0x49d9fc]
add eax, ecx
mov dword [0x49d914], ecx
push eax
push dword [0x49d9d0]
call edi
movq xmm0, qword [esp + 0xd0]
lea eax, [esp + 0xe0]
push 0
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0xd8], xmm0
call edi
mov eax, dword [esp + 0xe8]
movq xmm0, qword [esp + 0xe0]
push 0
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xb4]
push 0xc
push eax
mov eax, dword [0x49d80c]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0xb8], xmm0
call edi
movss xmm0, dword [esp + 0xb8]
lea eax, [esp + 0x120]
addss xmm0, dword [esp + 0xac]
push 0
push 0xc
push eax
mov eax, dword [0x49d874]
add eax, dword [0x49d81c]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0xc0]
addss xmm0, dword [esp + 0xb4]
push eax
push dword [0x49d9d0]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0xc4]
addss xmm0, dword [esp + 0xb8]
movss dword [esp + 0x44], xmm0
call edi
movss xmm3, dword [esp + 0x84]
subss xmm3, dword [esp + 0x30]
movss xmm0, dword [esp + 0x8c]
subss xmm0, dword [esp + 0x10]
movss xmm2, dword [esp + 0x88]
subss xmm2, dword [esp + 0x14]
movss dword [esp + 0x150], xmm3
xorps xmm0, xmmword [0x4957a0]
cvtss2sd xmm0, xmm0
movaps xmm1, xmm2
movss dword [esp + 0x15c], xmm2
movsd qword [esp + 8], xmm0
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x461657
sqrtsd xmm0, xmm0
jmp 0x46165c
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
fld qword [esp + 8]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0xc4]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
andps xmm1, xmmword [0x495790]
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x15c]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 8], xmm1
movss xmm1, dword [esp + 0x150]
fld qword [esp + 8]
cvtps2pd xmm1, xmm1
movsd qword [esp + 8], xmm1
fld qword [esp + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0xc8]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x14]
subss xmm1, dword [esp + 0x88]
movss xmm2, dword [esp + 0x10]
subss xmm2, dword [esp + 0x8c]
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0x30]
subss xmm0, dword [esp + 0x84]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4617a2
sqrtsd xmm0, xmm0
jmp 0x4617a7
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x28]
cvtsd2ss xmm0, xmm0
mulsd xmm1, xmm1
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 8]
mulsd xmm0, xmm0
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movsd xmm1, qword [esp + 0x150]
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x49d998]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x461b45
mov eax, dword [0x49d994]
jmp 0x461b40
lea eax, [esp + 0x130]
push eax
call fcn.00461150
add esp, 4
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
push 0
mov dword [esp + 0x28], eax
lea eax, [esp + 0xf4]
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d994]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x30], xmm0
call edi
push 0
push 4
lea eax, [esp + 0x150]
push eax
mov eax, dword [0x49d9c8]
add eax, dword [0x49d9a0]
push eax
push dword [0x49d9d0]
call edi
mov ecx, dword [esp + 0x148]
lea eax, [esp + 0x70]
push 0
push 0xc
push eax
mov eax, dword [0x49d9fc]
add eax, ecx
mov dword [0x49d914], ecx
push eax
push dword [0x49d9d0]
call edi
movq xmm0, qword [esp + 0x70]
lea eax, [esp + 0x60]
push 0
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x54], xmm0
call edi
mov eax, dword [esp + 0x68]
movq xmm0, qword [esp + 0x60]
push 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x54]
push 0xc
push eax
mov eax, dword [0x49d80c]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x48], xmm0
call edi
movss xmm0, dword [esp + 0x58]
lea eax, [esp + 0x90]
addss xmm0, dword [esp + 0x3c]
push 0
push 0xc
push eax
mov eax, dword [0x49d874]
add eax, dword [0x49d81c]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x60]
addss xmm0, dword [esp + 0x44]
push eax
push dword [0x49d9d0]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x64]
addss xmm0, dword [esp + 0x48]
movss dword [esp + 0x24], xmm0
call edi
movss xmm3, dword [esp + 0x1c]
subss xmm3, dword [esp + 0x10]
movss xmm0, dword [esp + 0x24]
subss xmm0, dword [esp + 0x30]
movss xmm2, dword [esp + 0x20]
subss xmm2, dword [esp + 0x14]
movss dword [esp + 0x15c], xmm3
xorps xmm0, xmmword [0x4957a0]
cvtss2sd xmm0, xmm0
movaps xmm1, xmm2
movss dword [esp + 0x150], xmm2
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x4619a6
sqrtsd xmm0, xmm0
jmp 0x4619ab
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
fld qword [esp + 0x28]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
fld qword [esp + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0x40]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
andps xmm1, xmmword [0x495790]
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x150]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 8], xmm1
movss xmm1, dword [esp + 0x15c]
fld qword [esp + 8]
cvtps2pd xmm1, xmm1
movsd qword [esp + 8], xmm1
fld qword [esp + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0x44]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x14]
subss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x30]
subss xmm2, dword [esp + 0x24]
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0x10]
subss xmm0, dword [esp + 0x1c]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x461ae2
sqrtsd xmm0, xmm0
jmp 0x461ae7
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x28]
cvtsd2ss xmm0, xmm0
mulsd xmm1, xmm1
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x150], xmm0
movsd xmm0, qword [esp + 8]
mulsd xmm0, xmm0
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movsd xmm1, qword [esp + 0x150]
mov eax, dword [0x49d9b4]
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x49d998]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
cmova eax, dword [0x49d994]
mov dword [0x49d9b4], eax
mov ecx, dword [esp + 0x18]
add ecx, 0x10
mov dword [esp + 0x18], ecx
cmp ecx, 0x200
jle 0x461284
mov eax, dword [0x49d9b4]
pop edi
pop esi
mov ecx, dword [esp + 0x17c]
xor ecx, esp
call fcn.00476b4c
mov esp, ebp
pop ebp
ret
mov edi, dword [0x49d81c]
lea eax, [esp + 0x148]
push 0
push 4
push eax
mov eax, dword [0x49d9e0]
add eax, ecx
push eax
push dword [0x49d9d0]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov esi, dword [esp + 0x148]
lea eax, [esp + 0x150]
push 0
push 4
push eax
mov eax, dword [0x49da24]
add eax, edi
mov edi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push eax
push dword [0x49d9d0]
call edi
mov ecx, dword [esp + 0x150]
mov eax, 1
push 0
push 4
lea ecx, [ecx - 1]
shl eax, cl
and eax, esi
mov dword [esp + 0x168], eax
lea eax, [esp + 0x164]
push eax
mov eax, dword [0x49d908]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
call edi
mov esi, dword [esp + 0x15c]
lea eax, [esp + 0x148]
push 0
push 4
push eax
mov eax, dword [0x49d908]
add eax, dword [0x49d9b4]
push eax
push dword [0x49d9d0]
call edi
cmp dword [esp + 0x148], esi
je 0x46206f
push 0
push 4
lea eax, [esp + 0x158]
push eax
mov eax, dword [0x49d908]
add eax, dword [0x49d9b4]
push eax
push dword [0x49d9d0]
call edi
cmp dword [esp + 0x150], 0
je 0x46206f
push 0
push 4
lea eax, [esp + 0x150]
push eax
mov eax, dword [0x49d9b0]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
call edi
cmp dword [esp + 0x148], 1
jl 0x46206f
push 0
push 4
lea eax, [esp + 0x158]
push eax
mov eax, dword [0x49d9b0]
add eax, dword [0x49d9b4]
push eax
push dword [0x49d9d0]
call edi
cmp dword [esp + 0x150], 1
jl 0x46206f
push 0
push 1
lea eax, [esp + 0x14e]
push eax
mov eax, dword [0x49d838]
add eax, dword [0x49d9b4]
push eax
push dword [0x49d9d0]
call edi
cmp byte [esp + 0x146], 0
jne 0x46206f
push 0
push 1
lea eax, [esp + 0x14f]
push eax
mov eax, dword [0x49d848]
add eax, dword [0x49d9b4]
push eax
push dword [0x49d9d0]
call edi
cmp byte [esp + 0x147], 0
jne 0x46206f
cmp byte [0x49d801], 0
je 0x46208a
cmp dword [esp + 0x160], 0
je 0x46206f
mov ecx, dword [0x49d9b4]
lea eax, [esp + 0x90]
push eax
call fcn.00461150
add esp, 4
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
push 0
mov dword [esp + 0x28], eax
lea eax, [esp + 0xf4]
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d9b4]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x30], xmm0
call edi
push 0
push 4
lea eax, [esp + 0x150]
push eax
mov eax, dword [0x49d9c8]
add eax, dword [0x49d9a0]
push eax
push dword [0x49d9d0]
call edi
mov ecx, dword [esp + 0x148]
lea eax, [esp + 0x60]
push 0
push 0xc
push eax
mov eax, dword [0x49d9fc]
add eax, ecx
mov dword [0x49d914], ecx
push eax
push dword [0x49d9d0]
call edi
movq xmm0, qword [esp + 0x60]
lea eax, [esp + 0x70]
push 0
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x64], xmm0
call edi
mov eax, dword [esp + 0x78]
movq xmm0, qword [esp + 0x70]
push 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x44]
push 0xc
push eax
mov eax, dword [0x49d80c]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x48], xmm0
call edi
movss xmm0, dword [esp + 0x48]
lea eax, [esp + 0x90]
addss xmm0, dword [esp + 0x3c]
push 0
push 0xc
push eax
mov eax, dword [0x49d874]
add eax, dword [0x49d81c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x50]
addss xmm0, dword [esp + 0x44]
push eax
push dword [0x49d9d0]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x54]
addss xmm0, dword [esp + 0x48]
movss dword [esp + 0x2c], xmm0
call edi
movss xmm3, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x24]
subss xmm0, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
subss xmm3, dword [esp + 0x18]
subss xmm2, dword [esp + 0x10]
xorps xmm0, xmmword [0x4957a0]
cvtss2sd xmm0, xmm0
movaps xmm1, xmm2
movss dword [esp + 0x150], xmm3
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x148], xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x461edb
sqrtsd xmm0, xmm0
jmp 0x461ee0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
fld qword [esp + 0x28]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
fld qword [esp + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0x50]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
andps xmm1, xmmword [0x495790]
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x148]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 8], xmm1
movss xmm1, dword [esp + 0x150]
fld qword [esp + 8]
cvtps2pd xmm1, xmm1
movsd qword [esp + 8], xmm1
fld qword [esp + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0x54]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x10]
subss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x14]
subss xmm2, dword [esp + 0x24]
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0x18]
subss xmm0, dword [esp + 0x1c]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x462017
sqrtsd xmm0, xmm0
jmp 0x46201c
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x28]
cvtsd2ss xmm0, xmm0
mulsd xmm1, xmm1
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x148], xmm0
movsd xmm0, qword [esp + 8]
mulsd xmm0, xmm0
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movsd xmm1, qword [esp + 0x148]
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x49d998]
cvtpd2ps xmm1, xmm1
comiss xmm0, xmm1
ja 0x461b5c
mov ecx, dword [esp + 0x184]
xor eax, eax
pop edi
pop esi
xor ecx, esp
mov dword [0x49d9b4], eax
call fcn.00476b4c
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x49d9b4]
lea eax, [esp + 0x90]
push eax
call fcn.00461150
add esp, 4
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
push 0
mov dword [esp + 0x28], eax
lea eax, [esp + 0xf4]
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d9b4]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x30], xmm0
call edi
push 0
push 4
lea eax, [esp + 0x150]
push eax
mov eax, dword [0x49d9c8]
add eax, dword [0x49d9a0]
push eax
push dword [0x49d9d0]
call edi
mov ecx, dword [esp + 0x148]
lea eax, [esp + 0x60]
push 0
push 0xc
push eax
mov eax, dword [0x49d9fc]
add eax, ecx
mov dword [0x49d914], ecx
push eax
push dword [0x49d9d0]
call edi
movq xmm0, qword [esp + 0x60]
lea eax, [esp + 0x70]
push 0
push 0xc
push eax
mov eax, dword [0x49d8f8]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x64], xmm0
call edi
mov eax, dword [esp + 0x78]
movq xmm0, qword [esp + 0x70]
push 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x44]
push 0xc
push eax
mov eax, dword [0x49d80c]
add eax, dword [0x49d81c]
push eax
push dword [0x49d9d0]
movq qword [esp + 0x48], xmm0
call edi
movss xmm0, dword [esp + 0x48]
lea eax, [esp + 0x90]
addss xmm0, dword [esp + 0x3c]
push 0
push 0xc
push eax
mov eax, dword [0x49d874]
add eax, dword [0x49d81c]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x50]
addss xmm0, dword [esp + 0x44]
push eax
push dword [0x49d9d0]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x54]
addss xmm0, dword [esp + 0x48]
movss dword [esp + 0x2c], xmm0
call edi
movss xmm3, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x24]
subss xmm0, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
subss xmm3, dword [esp + 0x18]
subss xmm2, dword [esp + 0x10]
xorps xmm0, xmmword [0x4957a0]
cvtss2sd xmm0, xmm0
movaps xmm1, xmm2
movss dword [esp + 0x150], xmm3
movsd qword [esp + 0x28], xmm0
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
movss dword [esp + 0x148], xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x462232
sqrtsd xmm0, xmm0
jmp 0x462237
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
fld qword [esp + 0x28]
cvtsd2ss xmm0, xmm0
cvtss2sd xmm0, xmm0
movsd qword [esp + 8], xmm0
fld qword [esp + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0x50]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
andps xmm1, xmmword [0x495790]
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x148]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 8], xmm1
movss xmm1, dword [esp + 0x150]
fld qword [esp + 8]
cvtps2pd xmm1, xmm1
movsd qword [esp + 8], xmm1
fld qword [esp + 8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 8]
movsd xmm0, qword [esp + 8]
cvtpd2ps xmm0, xmm0
movss xmm1, dword [esp + 0x54]
mulss xmm0, dword [0x4956f4]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x495590]
cvtpd2ps xmm0, xmm0
subss xmm1, xmm0
cvtps2pd xmm0, xmm1
mulsd xmm0, qword [0x495590]
divsd xmm0, qword [0x495620]
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movss xmm1, dword [esp + 0x10]
subss xmm1, dword [esp + 0x20]
movss xmm2, dword [esp + 0x14]
subss xmm2, dword [esp + 0x24]
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0x18]
subss xmm0, dword [esp + 0x1c]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm0
addss xmm1, xmm2
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x46236e
sqrtsd xmm0, xmm0
jmp 0x462373
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
movsd xmm1, qword [esp + 0x28]
cvtsd2ss xmm0, xmm0
mulsd xmm1, xmm1
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x148], xmm0
movsd xmm0, qword [esp + 8]
mulsd xmm0, xmm0
addsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sin_precise
movsd xmm1, qword [esp + 0x148]
jmp 0x462053