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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, dword [0x10054040]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
push edi
mov edi, dword [0x10055178]
mov esi, ecx
mov byte [esp + 0x16], dl
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], edi
mov eax, dword [edi + 0x3e18]
mov byte [eax + 0x90], 1
mov eax, dword [edi + 0x3e18]
mov dword [esp + 0x1c], eax
cmp byte [eax + 0x93], 0
jne 0x10037b77
mov ecx, dword [eax + 0xc8]
xor edx, edx
mov eax, dword [eax + 0xd0]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.10002db0
add esp, 4
mov dword [esp + 0x18], eax
cmp dword [edi + 0x3e38], eax
jne 0x10037677
push ecx
push esi
mov edx, 0xb
mov ecx, eax
call fcn.10018010
add esp, 8
mov ecx, esi
cmp esi, 0xffffffff
jae 0x10037696
nop
mov dl, byte [ecx]
test dl, dl
je 0x10037696
cmp dl, 0x23
jne 0x10037690
cmp byte [ecx + 1], dl
je 0x10037696
inc ecx
cmp ecx, 0xffffffff
jb 0x10037680
mov eax, dword [0x10055178]
xorps xmm7, xmm7
movss xmm0, dword [eax + 0x3bb4]
cmp esi, ecx
jne 0x100376af
xorps xmm1, xmm1
jmp 0x100376f8
movss xmm3, dword [0x10051700]
movaps xmm2, xmm0
push 0
push ecx
push esi
push ecx
lea ecx, [esp + 0x48]
mov dword [esp], 0xbf800000
push ecx
mov ecx, dword [eax + 0x3bb0]
call fcn.100273a0
movss xmm0, dword [esp + 0x38]
xorps xmm7, xmm7
addss xmm0, dword [0x10051650]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x3c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov ecx, dword [ebp + 0xc]
movss dword [esp + 0x34], xmm0
movss dword [esp + 0x30], xmm1
movss xmm2, dword [ecx + 4]
ucomiss xmm2, xmm7
movss dword [esp + 0x28], xmm2
lahf
test ah, 0x44
jp 0x10037724
movaps xmm2, xmm0
movss dword [esp + 0x28], xmm0
movss xmm0, dword [ecx]
ucomiss xmm0, xmm7
movss dword [esp + 0x24], xmm0
lahf
test ah, 0x44
jp 0x10037740
movaps xmm0, xmm1
movss dword [esp + 0x24], xmm0
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x50]
movss dword [esp + 0x50], xmm0
xorps xmm1, xmm1
movss dword [esp + 0x54], xmm2
movss xmm0, dword [eax + 0xd4]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [eax + 0xd8]
addss xmm0, dword [eax + 0x10c]
movss dword [esp + 0x38], xmm0
call fcn.100119c0
mov eax, dword [esp + 0x1c]
movss xmm1, dword [eax + 0x1e0]
mov eax, dword [ebp + 0xc]
movss xmm0, dword [eax]
ucomiss xmm0, xmm7
movss xmm7, dword [esp + 0x6c]
lahf
test ah, 0x44
jp 0x100377b2
movss xmm0, dword [esp + 0x30]
subss xmm1, xmm7
maxss xmm0, xmm1
jmp 0x100377b8
movss xmm0, dword [esp + 0x24]
movss xmm2, dword [edi + 0x37e4]
lea ecx, [esp + 0x40]
movss xmm3, dword [edi + 0x37e8]
movaps xmm5, xmm7
addss xmm5, xmm0
movss xmm4, dword [esp + 0x38]
movaps xmm0, xmm2
movss xmm6, dword [esp + 0x38]
mulss xmm0, dword [0x10051620]
mov edx, dword [esp + 0x18]
movss dword [esp + 0x78], xmm4
addss xmm4, dword [esp + 0x28]
cvttss2si eax, xmm0
push 0
push 0
movaps xmm0, xmm3
movss dword [esp + 0x7c], xmm7
mulss xmm0, dword [0x10051620]
movss dword [esp + 0x74], xmm5
movd xmm1, eax
cvttss2si eax, xmm0
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm1
movss dword [esp + 0x78], xmm4
subss xmm3, xmm0
subss xmm7, xmm1
subss xmm6, xmm0
addss xmm2, xmm5
addss xmm3, xmm4
movss dword [esp + 0x48], xmm7
movss dword [esp + 0x4c], xmm6
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x54], xmm3
call fcn.10011b70
add esp, 8
test al, al
je 0x10037b77
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x17]
push 0
push eax
lea eax, [esp + 0x1d]
push eax
lea ecx, [esp + 0x4c]
call fcn.1002c5b0
mov edx, dword [0x10055178]
add esp, 0xc
mov byte [esp + 0x14], al
test al, al
je 0x10037977
cmp byte [edi + 0x400b], 0
jne 0x10037967
mov eax, dword [esp + 0x1c]
cmp dword [edi + 0x3fcc], eax
jne 0x10037967
mov ecx, dword [eax + 0x12c]
cmp dword [edi + 0x4004], ecx
jne 0x10037967
movss xmm1, dword [eax + 0xe4]
movss xmm2, dword [eax + 0xe8]
movss xmm0, dword [esp + 0x40]
mov eax, dword [eax + 0x134]
subss xmm0, xmm1
mov esi, dword [esp + 0x18]
mov dword [edx + 0x3fd4], eax
mov eax, dword [edx + 0x3fcc]
mov dword [edx + 0x3fd0], esi
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x44]
subss xmm0, xmm2
mov dword [edx + 0x4004], ecx
mov dword [eax + ecx*4 + 0x2fc], esi
add ecx, ecx
mov eax, dword [edx + 0x3fcc]
mov esi, dword [esp + 0x20]
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x48]
subss xmm0, xmm1
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x4c]
subss xmm0, xmm2
movss dword [esp + 0x5c], xmm0
movups xmm0, xmmword [esp + 0x50]
movups xmmword [eax + ecx*8 + 0x304], xmm0
mov byte [edi + 0x400a], 1
or dword [edx + 0x3ec8], 4
mov word [edx + 0x3e60], 0x101
mov cl, byte [esp + 0x15]
test cl, cl
jne 0x10037989
cmp byte [esp + 0x16], cl
je 0x10037aae
cmp byte [esp + 0x17], 0
je 0x1003799b
test cl, cl
je 0x1003799b
mov eax, 0x1a
jmp 0x100379a5
xor eax, eax
test cl, cl
setne al
add eax, 0x18
movss xmm4, dword [0x10051658]
add eax, eax
xorps xmm0, xmm0
movups xmm3, xmmword [edx + eax*8 + 0x3860]
comiss xmm0, xmm3
movaps xmm2, xmm3
movaps xmmword [esp + 0x50], xmm3
shufps xmm2, xmm3, 0xff
mulss xmm2, dword [edx + 0x3798]
jbe 0x100379d8
xorps xmm1, xmm1
jmp 0x100379df
movaps xmm1, xmm4
minss xmm1, xmm3
movss xmm3, dword [0x100516e0]
movss xmm5, dword [0x10051620]
movss xmm6, dword [esp + 0x54]
comiss xmm0, xmm6
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si edi, xmm1
jbe 0x10037a0b
xorps xmm1, xmm1
jmp 0x10037a12
movaps xmm1, xmm4
minss xmm1, xmm6
movss xmm6, dword [esp + 0x58]
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 8
or edi, eax
comiss xmm0, xmm6
jbe 0x10037a33
xorps xmm1, xmm1
jmp 0x10037a3a
movaps xmm1, xmm4
minss xmm1, xmm6
mulss xmm1, xmm3
addss xmm1, xmm5
cvttss2si eax, xmm1
shl eax, 0x10
or edi, eax
comiss xmm0, xmm2
ja 0x10037a57
movaps xmm0, xmm4
minss xmm0, xmm2
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mulss xmm0, xmm3
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
addss xmm0, xmm5
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x44]
push 0
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 0x3e18]
cvttss2si eax, xmm0
push ecx
mov dword [esp], 0
mov ecx, dword [ecx + 0x24c]
shl eax, 0x18
or eax, edi
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x48]
push eax
call fcn.10023620
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x40]
push 0xa
call fcn.10004c10
add esp, 4
mov edi, esi
cmp esi, 0xffffffff
jae 0x10037add
mov cl, byte [edi]
test cl, cl
je 0x10037add
cmp cl, 0x23
jne 0x10037ad7
cmp byte [edi + 1], cl
je 0x10037add
inc edi
cmp edi, 0xffffffff
jb 0x10037ac7
mov eax, edi
sub eax, esi
je 0x10037b39
mov esi, dword [0x10055178]
lea eax, [esp + 0x40]
push eax
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x78]
add eax, 0x3838
mov ecx, dword [esi + 0x3e18]
push eax
lea eax, [esp + 0x38]
push eax
mov ecx, dword [ecx + 0x24c]
lea eax, [esp + 0x78]
push edi
push dword [esp + 0x30]
push eax
call fcn.10003c80
add esp, 0x18
cmp byte [esi + 0x524c], 0
je 0x10037b39
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x74]
push edi
call fcn.10016e00
add esp, 4
mov cl, byte [esp + 0x14]
test cl, cl
je 0x10037b64
mov eax, dword [esp + 0x1c]
test dword [eax + 8], 0x4000000
je 0x10037b64
mov eax, dword [esp + 0x2c]
test byte [eax + 0x3ec4], 0x20
jne 0x10037b64
call fcn.10012db0
mov cl, byte [esp + 0x14]
mov al, cl
pop edi
pop esi
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.100462db
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x7c]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.100462db
mov esp, ebp
pop ebp
ret