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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, dword [ebp + 8]
add ecx, 8
push ebx
push esi
push edi
mov eax, dword [ecx]
mov edi, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x4ac
cmp dword [eax + 0x100f8c68], 2
lea esi, [eax + 0x100f8c50]
jb 0x100bfad7
mov edx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
inc edx
mov ecx, edx
dec eax
shr ecx, 1
and edx, 1
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov ebx, dword [eax + edx*8]
vmovss xmm0, dword [ebx + 0x78]
vsubss xmm0, xmm0, dword [edi + 0x78]
vmovss dword [ebp + 0xc], xmm0
fld dword [ebp + 0xc]
fld dword [0x100dcde8]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
vmovss xmm0, dword [ebx + 0x78]
vcomiss xmm0, dword [edi + 0x78]
fstp dword [ebp + 0xc]
vmovss xmm0, dword [ebp + 0xc]
jbe 0x100bfa1f
vcomiss xmm0, dword [0x100dcdc8]
jb 0x100bfa35
vsubss xmm0, xmm0, dword [0x100dcde8]
jmp 0x100bfa35
vmovss xmm1, dword [0x100dce8c]
vcomiss xmm1, xmm0
jb 0x100bfa35
vaddss xmm0, xmm0, dword [0x100dcde8]
call fcn.1002e2a0
vmovaps xmm1, xmm0
vcomiss xmm1, dword [0x100dcd10]
jbe 0x100bfad7
cmp byte [ebx + 0x10], 0
jne 0x100bfad7
cmp byte [esi + 0x479], 0
vmovss xmm0, dword [0x100dcb50]
vmovss dword [esi + 0x464], xmm0
mov dword [esi + 0x498], 0
je 0x100bfa92
vmovss xmm0, dword [0x100dcd88]
vcomiss xmm0, xmm1
jae 0x100bfa92
mov word [esi + 0x478], 0
jmp 0x100bfad7
vcomiss xmm1, dword [0x100dcd60]
jbe 0x100bfad7
test byte [edi + 0x20], 1
je 0x100bfad7
vmovss xmm0, dword [edi + 0x400]
vsubss xmm0, xmm0, dword [esi + 0x4a0]
call fcn.1002e2a0
vmovss xmm1, dword [0x100dcc68]
vcomiss xmm1, xmm0
jbe 0x100bfacb
inc dword [esi + 0x49c]
mov eax, dword [edi + 0x400]
mov dword [esi + 0x4a0], eax
push edi
push esi
call fcn.100bfc70
test byte [edi + 0x3ec], 1
je 0x100bfc2c
vmovss xmm1, dword [edi + 0x3c]
vmovss xmm0, dword [edi + 0x40]
vmulss xmm1, xmm1, xmm1
vfmadd213ss xmm0, xmm0, xmm1
call fcn.100234f0
vxorps xmm1, xmm1, xmm1
vcomiss xmm1, xmm0
mov eax, 1
mov ecx, 4
cmovae eax, ecx
mov dword [edi + 0x3f0], eax
sub eax, 1
je 0x100bfb51
sub eax, 1
je 0x100bfc36
sub eax, 2
jne 0x100bfc53
push edi
push esi
mov ecx, 0x10111320
call fcn.100c0550
lea ecx, [edi + 0x64]
call fcn.100b7a60
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
mov eax, dword [edi + 0x78]
mov dword [edi + 0x64], eax
cmp dword [esi + 0x49c], 3
mov dword [esi + 0x488], 0
mov dword [esi + 0x48c], 0
mov dword [esi + 0x484], 0
mov dword [esi + 0x480], 0
mov dword [esi + 0x490], 0
vmovss xmm0, dword [edi + 0x400]
vcvtss2sd xmm0, xmm0, xmm0
vaddsd xmm0, xmm0, qword [0x100dcc80]
vcvtsd2ss xmm0, xmm0, xmm0
vmovss dword [esi + 0x464], xmm0
vmovss xmm0, dword [0x100dcb50]
mov dword [esi + 0x498], 0
jge 0x100bfbd6
mov dword [esi + 0x49c], 0
vmovss dword [esi + 0x4a0], xmm0
mov word [esi + 0x478], 0
lea ecx, [edi + 0x64]
vmovss dword [esi + 0x474], xmm1
vmovss dword [esi + 0x47c], xmm0
mov eax, dword [edi + 0x78]
mov dword [esi + 0xac], eax
mov eax, dword [edi + 0x24]
mov dword [esi + 0x58], eax
mov eax, dword [edi + 0x28]
mov dword [esi + 0x5c], eax
mov eax, dword [edi + 0x2c]
mov dword [esi + 0x60], eax
mov eax, dword [edi + 0x400]
mov dword [esi + 0x434], eax
mov eax, dword [edi + 0x18]
mov dword [esi + 0x4c], eax
call fcn.100b7a60
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
mov dword [edi + 0x3f0], 2
vmovss xmm0, dword [0x100dce48]
mov byte [esi + 0x444], 0
vmovss dword [esi + 0x434], xmm0
mov eax, dword [edi + 0x78]
mov dword [edi + 0x64], eax
lea ecx, [edi + 0x64]
call fcn.100b7a60
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8