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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov edi, dword [ebp + 8]
mov eax, dword [0x1029f900]
xor eax, ebp
mov dword [esp + 0x98], eax
xor ebx, ebx
test edi, edi
je 0x1003b255
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0
jle 0x1003b255
vxorps xmm0, xmm0, xmm0
vucomiss xmm0, dword [edi + 0xf8]
jae 0x1003b253
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x2c], eax
movzx eax, word [ebx + 0x42]
mov dword [esp + 0x28], eax
mov ecx, dword [0x1029fc7c]
movsx eax, word [ebx + 0x40]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 4
test eax, eax
je 0x1003b253
mov esi, eax
mov eax, dword [ebp + 0x14]
movzx ecx, word [esi + 0x60]
mov dword [esp + 0x24], ecx
vxorps xmm0, xmm0, xmm0
vmovups ymmword [esp + 0x78], ymm0
vmovups ymmword [esp + 0x64], ymm0
vmovups ymmword [esp + 0x44], ymm0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
mov ecx, dword [eax + 8]
mov dword [esp + 0x14], ecx
vmovsd xmm0, qword [eax]
vmovsd qword [esp + 0xc], xmm0
mov eax, dword [ebx + 0x14]
mov dword [esp + 8], eax
vmovsd xmm0, qword [ebx + 0xc]
vmovsd qword [esp], xmm0
lea eax, [esp + 0x44]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebx
lea eax, [esp + 0x38]
mov dword [esp + 0x18], eax
vzeroupper
call fcn.1003a9a0
sub esp, 0x24
test al, al
jne 0x1003b0b5
lea eax, [ebx + 0xc]
mov ecx, dword [0x1029fc78]
mov edx, dword [ecx]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x600400b
call dword [edx]
sub esp, 0xc
test eax, 0x600400b
je 0x1003b253
mov ecx, dword [0x1029fc7c]
movsx eax, word [esp + 0x84]
mov edx, dword [ecx]
mov dword [esp], eax
call dword [edx + 0x14]
sub esp, 4
test eax, eax
je 0x1003b253
movzx ecx, word [eax + 0x60]
test byte [esp + 0x2c], 8
jne 0x1003b0f7
and dword [esp + 0x28], 0x80
jne 0x1003b0f7
mov edx, dword [esp + 0x24]
or edx, 0x10
cmp edx, 0x57
jne 0x1003b144
mov esi, dword [esp + 0x24]
mov eax, esi
and eax, 0xffffffef
xor edx, edx
cmp ax, 0x47
sete dl
vmovss xmm3, dword [edx*4 + 0x10147158]
vmovss xmm4, dword [edx*4 + 0x10147160]
cmp si, cx
jne 0x1003b167
mov eax, esi
and eax, 0xfffffffd
cmp ax, 0x55
jne 0x1003b135
vmovss xmm3, dword [0x10145a84]
jmp 0x1003b167
cmp esi, 0x4c
jne 0x1003b167
vmovss xmm3, dword [0x10146fcc]
jmp 0x1003b167
vmovss xmm0, dword [esi + 0x58]
vaddss xmm0, xmm0, dword [eax + 0x58]
vmulss xmm3, xmm0, dword [0x10145a98]
vmovss xmm4, dword [0x10147150]
mov esi, dword [esp + 0x24]
cmp si, cx
je 0x1003b120
mov esi, dword [ebp + 0x1c]
vmovss xmm0, dword [esp + 0x50]
vmovss xmm1, dword [esp + 0x54]
vmovss xmm2, dword [esp + 0x58]
vsubss xmm0, xmm0, dword [ebx + 0xc]
vsubss xmm1, xmm1, dword [ebx + 0x10]
vsubss xmm2, xmm2, dword [ebx + 0x14]
vxorps xmm7, xmm7, xmm7
vfmadd213ss xmm0, xmm0, xmm7
vfmadd231ss xmm0, xmm1, xmm1
vfmadd231ss xmm0, xmm2, xmm2
vcvtss2sd xmm0, xmm0, xmm0
vxorps xmm1, xmm1, xmm1
vucomisd xmm0, xmm1
jb 0x1003b1b2
vsqrtsd xmm0, xmm0, xmm0
jmp 0x1003b1e2
vmovsd qword [esp], xmm0
vmovss dword [esp + 0x2c], xmm4
vmovss dword [esp + 0x28], xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
vxorps xmm7, xmm7, xmm7
vmovss xmm3, dword [esp + 0x28]
vmovss xmm4, dword [esp + 0x2c]
fstp qword [esp + 0x30]
vmovsd xmm0, qword [esp + 0x30]
vcvtsd2ss xmm2, xmm0, xmm0
vmovss xmm0, dword [0x10144ae0]
vdivss xmm1, xmm0, xmm3
vmaxss xmm3, xmm1, xmm7
vmovss xmm1, dword [esi]
vmulss xmm4, xmm4, xmm1
vmovss xmm5, dword [0x10145a84]
vdivss xmm6, xmm5, dword [edi + 0xf8]
vmulss xmm6, xmm6, dword [0x10147168]
vmaxss xmm6, xmm6, xmm7
vmulss xmm5, xmm3, xmm5
vmulss xmm2, xmm2, xmm2
vmulss xmm2, xmm3, xmm2
vdivss xmm2, xmm2, dword [0x1014716c]
vfmadd213ss xmm5, xmm6, xmm4
vaddss xmm2, xmm2, xmm5
vucomiss xmm2, xmm1
ja 0x1003b253
vxorps xmm3, xmm3, xmm3
vmaxss xmm2, xmm2, xmm3
vsubss xmm1, xmm1, xmm2
vmovss dword [esi], xmm1
vucomiss xmm0, xmm1
jbe 0x1003b26f
xor ebx, ebx
mov ecx, dword [esp + 0x98]
xor ecx, ebp
call fcn.100e81f3
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x50]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
vmovsd xmm0, qword [ecx]
vmovsd qword [eax], xmm0
mov eax, dword [ebp + 0x18]
dec dword [eax]
mov bl, 1
jmp 0x1003b255