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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
push esi
push edi
mov edi, ecx
mov esi, 1
mov ecx, dword [0x100ba22c]
mov dword [esp + 0x18], edi
mov dword [esp + 8], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
jl 0x100166e8
mov ecx, dword [0x100ba22c]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x100166ca
mov ecx, dword [0x100ba200]
cmp esi, dword [ecx + 0x18]
jg 0x1001670f
xorps xmm0, xmm0
mov dword [esp + 0x5c], 0
push edi
lea ecx, [esp + 0x4c]
movlpd qword [esp + 0x4c], xmm0
movlpd qword [esp + 0x58], xmm0
movlpd qword [esp + 0x7c], xmm0
movlpd qword [esp + 0x84], xmm0
mov dword [esp + 0x54], 0
mov dword [esp + 0x6c], 0x7f800000
mov dword [esp + 0x68], 0x7f800000
mov dword [esp + 0x64], 0x7f800000
mov dword [esp + 0x78], 0x7f800000
mov dword [esp + 0x74], 0x7f800000
mov dword [esp + 0x70], 0x7f800000
call fcn.100108a0
test al, al
je 0x100166ca
cmp byte [0x100c25dc], 0
je 0x10016478
mov ecx, dword [0x100ba208]
lea edx, [esp + 0x10]
push edx
lea edx, [esp + 0x10]
push edx
mov eax, dword [ecx]
call dword [eax + 0x14]
call fcn.100167e0
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov esi, eax
mov edx, dword [edx + 0x28]
call edx
movss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x70]
mov ecx, dword [eax*4 + 0x100bcf78]
movzx eax, byte [0x100c2648]
push ecx
movss dword [esp + 0x30], xmm0
movd xmm0, dword [esp + 0x10]
movzx ecx, cl
cvtdq2ps xmm0, xmm0
shl ecx, 8
add ecx, eax
mov dword [esp], 0x3f800000
movzx eax, byte [0x100c2644]
shl ecx, 8
add ecx, eax
movzx eax, byte [0x100c2640]
mulss xmm0, dword [0x1009ee38]
shl ecx, 8
add ecx, eax
lea eax, [esp + 0x2c]
push ecx
mov ecx, dword [esi + 8]
movss dword [esp + 0x38], xmm0
movd xmm0, dword [esp + 0x18]
cvtdq2ps xmm0, xmm0
push eax
lea eax, [esp + 0x3c]
push eax
movss dword [esp + 0x44], xmm0
call fcn.1003c6d0
mov esi, dword [esp + 8]
cmp byte [0x100c25e4], 0
je 0x1001648b
push edi
lea ecx, [esp + 0x4c]
call fcn.10010a20
cmp byte [0x100c25db], 0
je 0x1001649e
push edi
lea ecx, [esp + 0x4c]
call fcn.10011fd0
cmp byte [0x100c25d7], 0
je 0x100164b1
push edi
lea ecx, [esp + 0x4c]
call fcn.10011300
cmp byte [0x100c25d8], 0
je 0x100164c4
push edi
lea ecx, [esp + 0x4c]
call fcn.100119f0
cmp byte [0x100c25d9], 0
je 0x100164d7
push edi
lea ecx, [esp + 0x4c]
call fcn.100115c0
cmp byte [0x100c25da], 0
je 0x100164ea
push edi
lea ecx, [esp + 0x4c]
call fcn.10011d40
cmp byte [0x100c25dd], 0
je 0x100164f9
push edi
call fcn.100122b0
cmp byte [0x100c25f1], 0
je 0x1001650c
push edi
lea ecx, [esp + 0x4c]
call fcn.100128a0
cmp byte [0x100c25f2], 0
je 0x100166ca
mov ecx, dword [0x100c258c]
lea eax, [esp + 0x8c]
push eax
mov ecx, dword [ecx]
call fcn.10065020
mov esi, dword [0x100bd130]
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
jne 0x100166c6
mov eax, dword [esi + 0x24]
test eax, eax
je 0x100166c6
mov edi, dword [esi + 0x20]
add eax, edi
mov dword [esp + 0x14], eax
cmp edi, eax
je 0x1001667e
nop dword [eax]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
dec ecx
movss xmm1, dword [0x100bd124]
and ecx, edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x100ba200]
movss xmm0, dword [eax + 0x10]
subss xmm0, dword [ecx]
subss xmm1, xmm0
andps xmm1, xmmword [0x1009f320]
comiss xmm1, dword [0x100b79a0]
ja 0x10016673
add ecx, 0x10
mov dword [esp + 0x24], 0x7f800000
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], 0x7f800000
mov dword [esp + 0x1c], 0x7f800000
call fcn.10018820
test al, al
je 0x10016673
call fcn.100167e0
movss xmm2, dword [esp + 0x1c]
mov edx, eax
movss xmm4, dword [0x1009ee70]
movaps xmm0, xmm2
movss xmm1, dword [esp + 0x20]
addss xmm0, xmm4
movups xmm3, xmmword [0x1009b060]
push 0xf
push ecx
mov dword [esp], 0
subss xmm2, xmm4
movss dword [esp + 0x40], xmm0
movaps xmm0, xmm1
addss xmm0, xmm4
subss xmm1, xmm4
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x44], xmm0
movaps xmm0, xmm3
psrldq xmm0, 0xc
movd ecx, xmm0
movaps xmm0, xmm3
psrldq xmm0, 8
movd eax, xmm0
movaps xmm0, xmm3
shl ecx, 8
psrldq xmm0, 4
movzx eax, al
add ecx, eax
movss dword [esp + 0x4c], xmm1
movd eax, xmm0
shl ecx, 8
movzx eax, al
add ecx, eax
movd eax, xmm3
shl ecx, 8
movzx eax, al
add ecx, eax
lea eax, [esp + 0x40]
push ecx
mov ecx, dword [edx + 8]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1003c7f0
inc edi
cmp edi, dword [esp + 0x14]
jne 0x10016560
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x100166a4
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x100166a0
cmp esi, dword [eax + 8]
jne 0x100166a0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10016690
mov esi, eax
jmp 0x100166bc
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x100166bc
nop
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x100166b0
cmp byte [esi + 0xd], 0
je 0x10016540
mov esi, dword [esp + 8]
mov ecx, dword [0x100ba22c]
inc esi
mov dword [esp + 8], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp esi, eax
jle 0x10016322
mov edi, dword [esp + 0x18]
call fcn.10013720
call fcn.10014a50
mov ecx, edi
call fcn.10016080
cmp byte [0x100c27d2], 0
je 0x10016709
mov ecx, edi
call fcn.10014de0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [0x100c25de], 0
je 0x10016730
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x294]
call eax
test al, al
je 0x10016730
push edi
call fcn.10012580
jmp 0x100166ca
cmp byte [0x100c25e0], 0
je 0x100166ca
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 8]
call eax
cmp dword [eax + 0x14], 0x80
jne 0x100166ca
push edi
call fcn.100132b0
jmp 0x100166ca