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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x178
mov eax, dword [0x1015a380]
xor eax, esp
mov dword [esp + 0x174], eax
movss xmm0, dword [ecx + 0x94]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x1020f4d8]
mov dword [esp + 0x88], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x19b0]
push esi
mov esi, dword [ebp + 8]
push edi
mov byte [eax + 0x8c], 1
mov edi, dword [ecx + 0x19b0]
mov dword [esp + 0x9c], esi
movss dword [esp + 0x4c], xmm0
mov dword [esp + 0x2c], ecx
cmp byte [edi + 0x8f], 0
jne 0x10091a04
mov ecx, dword [edi + 0xcc]
xor edx, edx
mov eax, dword [edi + 0xd4]
push dword [eax + ecx*4 - 4]
mov ecx, esi
call fcn.100093e0
mov ecx, eax
add esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
cmp dword [eax + 0x19ec], ecx
jne 0x10090bd7
mov dword [eax + 0x19f0], ecx
cmp dword [eax + 0x1a20], ecx
jne 0x10090be6
mov byte [eax + 0x1a24], 1
mov ecx, esi
xorps xmm1, xmm1
cmp esi, 0xffffffff
jae 0x10090c61
mov dl, byte [ecx]
test dl, dl
je 0x10090c06
cmp dl, 0x23
jne 0x10090c00
cmp byte [ecx + 1], dl
je 0x10090c06
inc ecx
cmp ecx, 0xffffffff
jb 0x10090bf0
cmp esi, ecx
je 0x10090c61
push ecx
push ecx
push esi
push ecx
lea eax, [esp + 0x24]
mov dword [esp], 0xbf800000
push eax
mov eax, dword [esp + 0x40]
movss xmm2, dword [eax + 0x18c4]
mov ecx, dword [eax + 0x18c0]
call fcn.100279e0
movss xmm0, dword [esp + 0x14]
addss xmm0, dword [0x10155bb8]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x94], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x18], xmm0
jmp 0x10090c6a
movss dword [esp + 0x94], xmm1
movss xmm1, dword [edi + 0xdc]
movss xmm3, dword [edi + 0xd8]
movaps xmm0, xmm1
addss xmm0, dword [0x10155d34]
mov ecx, dword [esp + 0x2c]
movaps xmm2, xmm3
addss xmm2, dword [0x10155e0c]
movss dword [esp + 0x84], xmm1
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x8c], xmm0
addss xmm0, dword [0x10155c60]
movss dword [esp + 0x88], xmm2
movss dword [esp + 0x78], xmm2
subss xmm2, xmm3
movss dword [esp + 0x80], xmm3
movss dword [esp + 0x70], xmm3
movss dword [esp + 0x7c], xmm0
subss xmm0, xmm1
movss xmm1, dword [ecx + 0x154c]
lea ecx, [esp + 0x14]
movss dword [esp + 0x14], xmm2
movss dword [esp + 0x18], xmm0
call fcn.1000bf80
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x74]
call fcn.1000c0b0
add esp, 4
test al, al
je 0x10091a04
cmp dword [esp + 0x28], 0
jne 0x10090d2e
mov eax, dword [0x10153684]
jmp 0x10090de1
lea eax, [esp + 0x120]
mov ecx, 0x10207810
push eax
call fcn.1005cfd0
cmp dword [esp + 0x134], 0xf
lea eax, [esp + 0x120]
mov ecx, dword [esp + 0x28]
cmova eax, dword [esp + 0x120]
nop dword [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10090d86
test dl, dl
je 0x10090d7c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10090d86
add ecx, 2
add eax, 2
test dl, dl
jne 0x10090d60
mov dword [esp + 0x1c], 0
jmp 0x10090d8f
sbb eax, eax
or eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x134]
cmp eax, 0xf
jbe 0x10090dd1
lea ecx, [eax + 1]
mov eax, dword [esp + 0x120]
mov edx, eax
cmp ecx, 0x1000
jb 0x10090dc7
mov eax, dword [edx - 4]
add ecx, 0x23
sub edx, eax
mov dword [esp + 0x24], eax
lea eax, [edx - 4]
cmp eax, 0x1f
ja 0x10090e1c
mov eax, dword [esp + 0x24]
push ecx
push eax
call fcn.100d7f1a
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x10090de5
mov ecx, dword [esp + 0x28]
call fcn.100909b0
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
xor ecx, ecx
add eax, 0x40
mov dword [esp + 0x24], eax
cmp byte [esi], cl
je 0x10090dfd
inc ecx
cmp byte [esi + ecx], 0
jne 0x10090df6
mov dl, byte [esi]
mov al, dl
sub al, 0x41
cmp al, 0x19
ja 0x10090e0a
add dl, 0x20
mov byte [esp + 0x12], dl
test ecx, ecx
jne 0x10090e22
mov dword [esp + 0x1c], 0x84222325
jmp 0x10090e41
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
lea eax, [ecx - 1]
movsx ecx, byte [esp + 0x16]
push eax
lea edx, [esi + 1]
xor ecx, 0x8601b7df
call fcn.1005bc80
add esp, 8
mov dword [esp + 0x1c], eax
xor ecx, ecx
mov edx, ecx
inc ecx
cmp byte [ecx + str.frame], 0
jne 0x10090e43
test ecx, ecx
jne 0x10090e5a
mov eax, 0x84222325
jmp 0x10090e6e
push ecx
push edx
mov edx, 0x101551c9
mov ecx, 0x8601b7b9
call fcn.1005bc80
add esp, 8
add eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x98], eax
lea eax, [esp + 0x98]
push eax
call fcn.10088770
xor ecx, ecx
mov dword [esp + 0x1c], eax
cmp byte [esi], cl
je 0x10090e9b
inc ecx
cmp byte [esi + ecx], 0
jne 0x10090e94
mov dl, byte [esi]
mov al, dl
sub al, 0x41
cmp al, 0x19
ja 0x10090ea8
add dl, 0x20
mov byte [esp + 0x12], dl
test ecx, ecx
jne 0x10090eb7
mov eax, 0x84222325
jmp 0x10090ed2
push ecx
lea eax, [ecx - 1]
movsx ecx, byte [esp + 0x16]
push eax
lea edx, [esi + 1]
xor ecx, 0x8601b7df
call fcn.1005bc80
add esp, 8
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
push eax
call fcn.10088770
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x80]
call fcn.1000c350
mov esi, dword [esp + 0x1c]
movss xmm2, dword [0x1020dc08]
add esi, 4
mulss xmm2, dword [0x10155c64]
movzx eax, al
movss xmm0, dword [esi]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
call fcn.10085b20
comiss xmm0, dword [0x10155a64]
lea ecx, [esp + 0x60]
mov dword [esp + 0x24], 0x3f800000
lea eax, [esp + 0x24]
mov dword [esp + 0x60], 0
movss xmm1, dword [0x10155bc0]
movss dword [esi], xmm0
cmovae ecx, esi
comiss xmm1, xmm0
cmovae eax, ecx
mov eax, dword [eax]
mov dword [esi], eax
movss xmm2, dword [0x1020dc08]
mulss xmm2, dword [0x10155c64]
mov esi, dword [esp + 0x1c]
add esi, 8
mulss xmm2, dword [0x10155b2c]
movss xmm0, dword [esi]
call fcn.10085b20
comiss xmm0, dword [0x10155a64]
lea ecx, [esp + 0x60]
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0x3f800000
mov dword [esp + 0x60], 0
movss xmm1, dword [0x10155bc0]
movss xmm3, dword [esp + 0x80]
movss xmm2, dword [esp + 0x84]
cmovae ecx, esi
addss xmm3, dword [0x10155c94]
addss xmm2, dword [0x10155ce0]
comiss xmm1, xmm0
movss dword [esi], xmm0
movaps xmm1, xmm3
addss xmm1, dword [0x10155dfc]
movaps xmm0, xmm2
movss dword [esp + 0x30], xmm3
addss xmm0, dword [0x10155cc4]
cmovae eax, ecx
movss dword [esp + 0x34], xmm2
lea ecx, [esp + 0x30]
movss dword [esp + 0x38], xmm1
mov eax, dword [eax]
mov dword [esi], eax
movss dword [esp + 0x3c], xmm0
call fcn.1000c350
mov ecx, dword [edi + 0x174]
mov esi, dword [edi + 0x17c]
mov edx, dword [0x1020f4d8]
mov byte [esp + 0x13], al
lea ecx, [ecx + 1]
mov dword [edi + 0x174], ecx
and esi, 5
jne 0x1009103d
inc dword [edi + 0x178]
cmp dword [edx + 0x1be4], edi
jne 0x1009108a
cmp ecx, dword [edx + 0x1bec]
jne 0x10091055
mov ecx, dword [esp + 0x20]
mov al, 1
jmp 0x10091090
test esi, esi
jne 0x10091075
mov eax, dword [edi + 0x178]
cmp eax, dword [edx + 0x1bf0]
jne 0x10091075
mov ecx, dword [esp + 0x20]
mov al, 1
mov dword [edx + 0x1af0], ecx
jmp 0x10091090
mov ecx, dword [esp + 0x20]
cmp dword [edx + 0x19ec], ecx
jne 0x1009108e
xor edx, edx
xor ecx, ecx
call fcn.1000bde0
mov ecx, dword [esp + 0x20]
xor al, al
cmp byte [esp + 0x13], 0
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x12], al
je 0x100910ac
cmp byte [esi + 0x3d8], 0
je 0x100910ac
mov dl, 1
jmp 0x100910ae
xor dl, dl
test al, al
jne 0x100910c6
test dl, dl
jne 0x100910c6
cmp dword [esi + 0x1ae0], ecx
je 0x100910c6
cmp dword [esi + 0x1aec], ecx
jne 0x100910ff
mov edx, edi
call fcn.1000bde0
call fcn.1000bec0
mov ecx, edi
call fcn.10013a10
or dword [esi + 0x1a00], 3
cmp byte [esp + 0x12], 0
jne 0x100910f3
mov eax, dword [esp + 0x20]
cmp dword [esi + 0x1aec], eax
jne 0x100910ff
dec dword [edi + 0x174]
dec dword [edi + 0x178]
movss xmm0, dword [esp + 0x38]
movss xmm1, dword [esp + 0x3c]
subss xmm1, dword [0x10155c84]
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [0x10155d6c]
mov esi, dword [esp + 0x54]
movss xmm2, dword [esp + 0x34]
addss xmm2, dword [0x10155c84]
movss xmm4, dword [esp + 0x30]
cvttss2si eax, xmm0
movss dword [esp + 0xac], xmm1
xorps xmm1, xmm1
movzx eax, al
movss dword [esp + 0x24], xmm4
movss dword [esp + 0x14], xmm2
movss dword [esp + 0xa0], xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xa4], xmm2
mulss xmm0, dword [0x10155aa0]
comiss xmm1, xmm0
jbe 0x1009118c
xorps xmm0, xmm0
jmp 0x10091194
minss xmm0, dword [0x10155bc0]
mulss xmm0, dword [0x10155e08]
push 0xf
push ecx
mov ecx, dword [esi + 4]
addss xmm0, dword [0x10155b64]
mov dword [esp], 0x40400000
cvttss2si eax, xmm0
shl eax, 0x18
push eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.100243c0
mov edx, dword [esp + 0x20]
lea eax, [esp + 0xe0]
push eax
mov eax, dword [ebp + 0x18]
sub esp, 8
xorps xmm0, xmm0
movups xmmword [esp + 0xec], xmm0
push dword [esp + 0x34]
push dword [eax]
mov eax, dword [ebp + 0x14]
push dword [eax]
push dword [esp + 0xa8]
push ecx
lea ecx, [esp + 0x50]
call fcn.1003b2a0
add esp, 0x20
mov byte [esp + 0x13], al
test al, al
je 0x1009122e
mov ecx, dword [0x1020f4d8]
mov word [ecx + 0x19fb], 0x101
mov ecx, dword [ecx + 0x19b0]
or dword [ecx + 0x11c], 4
movups xmm2, xmmword [esp + 0xe0]
movss xmm6, dword [esp + 0xe8]
comiss xmm6, xmm2
jbe 0x10091778
movss xmm1, dword [0x10155e08]
movaps xmm3, xmm2
movss xmm0, dword [0x10213f18]
mulss xmm0, xmm1
mov dword [esp + 0x60], 0
movss xmm5, dword [0x10155b64]
shufps xmm3, xmm2, 0x55
cvttss2si eax, xmm0
mov dword [esp + 0x20], 0xff
movss xmm0, dword [0x10213f14]
mulss xmm0, xmm1
movzx eax, al
addss xmm3, dword [0x10155c84]
movss xmm7, dword [0x10155aa0]
cvttss2si ecx, xmm0
movss xmm0, dword [0x10213f10]
movd xmm4, eax
lea eax, [esp + 0x2c]
mulss xmm0, xmm1
mov dword [esp + 0x30], ecx
cvtdq2ps xmm4, xmm4
cvttss2si ecx, xmm0
movss xmm0, dword [0x10213f0c]
mulss xmm4, dword [esp + 0x4c]
mov dword [esp + 0x58], ecx
mulss xmm0, xmm1
movaps xmm1, xmm2
cvttss2si edx, xmm4
cvttss2si ecx, xmm0
test edx, edx
mov dword [esp + 0x2c], edx
movups xmmword [esp + 0xb0], xmm3
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x60]
cmovns ecx, eax
movss dword [esp + 0x74], xmm3
cmp edx, 0xff
shufps xmm1, xmm2, 0xff
subss xmm1, dword [0x10155c84]
lea eax, [esp + 0x20]
movss dword [esp + 0x70], xmm2
cmovle eax, ecx
mulss xmm4, xmm5
movss dword [esp + 0x78], xmm6
movups xmmword [esp + 0xd0], xmm1
mov cl, byte [eax]
mov eax, dword [esp + 0x50]
movzx eax, al
movss dword [esp + 0x7c], xmm1
cvttss2si edx, xmm4
mov dword [esp + 0x50], 0xff
movd xmm3, eax
mov eax, dword [esp + 0x58]
test edx, edx
movzx eax, al
cvtdq2ps xmm3, xmm3
mov dword [esp + 0x58], edx
movd xmm2, eax
mov eax, dword [esp + 0x30]
movzx eax, al
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x30], 0
movd xmm1, eax
movzx eax, cl
lea ecx, [esp + 0x30]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [esp + 0x58]
cvtdq2ps xmm0, xmm0
cmovns ecx, eax
cmp edx, 0xff
lea eax, [esp + 0x50]
cmovle eax, ecx
mulss xmm3, xmm7
mulss xmm2, xmm7
mulss xmm1, xmm7
mulss xmm0, xmm7
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x64], xmm2
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x6c], xmm0
mov al, byte [eax]
movzx eax, al
movss xmm4, dword [esp + 0x14]
movss dword [esp + 0x34], xmm2
movups xmm2, xmmword [esp + 0xd0]
movd xmm0, eax
addss xmm2, dword [0x10155c04]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x38], xmm1
movaps xmm1, xmm6
mulss xmm0, xmm7
movss xmm7, dword [esp + 0x24]
subss xmm1, dword [0x10155cb8]
movss dword [esp + 0x3c], xmm0
movss dword [esp + 0x30], xmm3
movups xmm0, xmmword [esp + 0x30]
comiss xmm7, xmm1
movss xmm3, dword [0x10155bc0]
movups xmmword [esp + 0xf0], xmm0
movups xmm0, xmmword [esp + 0x60]
movups xmmword [esp + 0xd0], xmm2
movups xmmword [esp + 0x100], xmm0
movaps xmm0, xmm6
movss dword [esp + 0x110], xmm7
subss xmm0, xmm7
movss dword [esp + 0x114], xmm4
movss dword [esp + 0x118], xmm0
movaps xmm0, xmm2
subss xmm0, xmm4
movss dword [esp + 0x11c], xmm0
jbe 0x1009147d
movaps xmm0, xmm3
jmp 0x10091486
mov eax, dword [esp + 0x1c]
movss xmm0, dword [eax + 8]
mulss xmm0, dword [0x10155cb8]
lea ecx, [esp + 0x14]
mov edi, dword [esi + 4]
lea eax, [esp + 0xa0]
lea esi, [esp + 0x78]
subss xmm2, xmm4
movss dword [esp + 0x50], xmm0
addss xmm0, xmm1
push 9
push 6
andps xmm2, xmmword [0x10156220]
comiss xmm0, xmm7
movss dword [esp + 0x1c], xmm0
mulss xmm2, xmm5
cmovae eax, ecx
mov ecx, edi
comiss xmm6, xmm0
subss xmm2, xmm3
cmovae esi, eax
lea eax, [esp + 0x68]
push eax
movss xmm1, dword [esi]
subss xmm1, xmm7
andps xmm1, xmmword [0x10156220]
mulss xmm1, xmm5
subss xmm1, xmm3
minss xmm1, dword [0x10155c60]
minss xmm2, xmm1
movaps xmm0, xmm2
movss dword [esp + 0x28], xmm2
addss xmm0, xmm7
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm2
addss xmm0, xmm4
movss dword [esp + 0x3c], xmm0
movss dword [esp + 0x70], xmm0
call fcn.10023bd0
movss xmm0, dword [esi]
lea eax, [esp + 0x14]
movss xmm2, dword [esp + 0x1c]
mov ecx, edi
subss xmm0, xmm2
push 0xc
push 9
push eax
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x24], xmm0
call fcn.10023bd0
movups xmm1, xmmword [esp + 0xd0]
lea eax, [esp + 0x14]
mov ecx, edi
movss xmm0, dword [esp + 0x14]
subss xmm1, dword [esp + 0x1c]
movss xmm2, dword [esp + 0x1c]
push 3
push 0
push eax
movss dword [esp + 0x20], xmm0
movups xmmword [esp + 0xdc], xmm1
movss dword [esp + 0x24], xmm1
call fcn.10023bd0
movss xmm0, dword [esp + 0x58]
lea eax, [esp + 0x14]
movss xmm2, dword [esp + 0x1c]
mov ecx, edi
push 6
movss dword [esp + 0x18], xmm0
movups xmm0, xmmword [esp + 0xd4]
push 3
push eax
movss dword [esp + 0x24], xmm0
call fcn.10023bd0
lea eax, [esp + 0xf0]
mov ecx, edi
push eax
push dword [edi + 0x58]
push dword [edi + 0x60]
call fcn.10023410
mov dword [edi + 0x58], 0
movss xmm2, dword [esp + 0xe8]
lea eax, [esp + 0x14]
movups xmm1, xmmword [esp + 0xe0]
lea ecx, [esp + 0xa0]
movss xmm3, dword [0x10155b64]
movaps xmm0, xmm2
subss xmm0, xmm1
movss xmm4, dword [0x10155e08]
xorps xmm5, xmm5
mulss xmm0, xmm3
addss xmm0, xmm1
addss xmm0, dword [esp + 0x50]
subss xmm0, dword [0x10155cb8]
comiss xmm0, dword [esp + 0x24]
movss dword [esp + 0x14], xmm0
cmovae ecx, eax
lea eax, [esp + 0x78]
comiss xmm2, xmm0
movss xmm2, dword [0x10155bc0]
cmovae eax, ecx
mov ecx, dword [esp + 0x54]
movss xmm0, dword [eax]
movss dword [esp + 0x30], xmm0
movups xmm0, xmmword [esp + 0xb0]
mov esi, dword [ecx + 4]
addss xmm0, xmm2
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x4c]
mulss xmm0, xmm4
cvttss2si eax, xmm0
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10155aa0]
comiss xmm5, xmm1
movss dword [esp + 0x14], xmm1
ja 0x10091778
movaps xmm0, xmm1
minss xmm0, xmm2
mulss xmm0, xmm4
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 0x18
mov edi, eax
or edi, 0x4b4b4b
test eax, eax
je 0x10091723
movss xmm2, dword [0x10155c80]
lea eax, [esp + 0x30]
push 0xb
push ecx
mov dword [esp], 0x40b84e8a
xorps xmm3, xmm3
push eax
mov ecx, esi
call fcn.10023d10
push edi
push dword [esi + 0x58]
mov ecx, esi
push dword [esi + 0x60]
call fcn.10023090
mov eax, dword [esp + 0x54]
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [0x10155bc0]
movss xmm3, dword [0x10155b64]
movss xmm4, dword [0x10155e08]
mov dword [esi + 0x58], 0
mov esi, dword [eax + 4]
minss xmm1, xmm2
mulss xmm1, xmm4
addss xmm1, xmm3
cvttss2si eax, xmm1
shl eax, 0x18
mov edi, eax
or edi, 0xffffff
test eax, eax
je 0x10091778
movss xmm2, dword [0x10155c64]
lea eax, [esp + 0x30]
push 0xb
push ecx
mov dword [esp], 0x40b84e8a
xorps xmm3, xmm3
push eax
mov ecx, esi
call fcn.10023d10
push edi
push dword [esi + 0x58]
mov ecx, esi
push dword [esi + 0x60]
call fcn.10023090
mov dword [esi + 0x58], 0
push dword [esp + 0x28]
mov edx, 0x40
lea ecx, [esp + 0x13c]
push dword [esp + 0x94]
push 4
call fcn.1002f6e0
mov esi, dword [0x1020f4d8]
lea edx, [esp + 0x144]
add esp, 8
add eax, edx
mov dword [esp + 0x18], eax
mov eax, edx
movss xmm2, dword [esi + 0x18c4]
push 0
push eax
push ecx
mov ecx, dword [esi + 0x18c0]
lea eax, [esp + 0x40]
mov dword [esp], 0xbf800000
push eax
call fcn.100279e0
movss xmm0, dword [esp + 0x4c]
lea eax, [esp + 0xb0]
movss dword [esp + 0x7c], xmm0
lea ecx, [esi + 0x1a9c]
movups xmm0, xmmword [esi + 0x15c0]
push eax
mov dword [esp + 0x74], 0x3f800000
mov dword [esp + 0x78], 0x3f800000
mov dword [esp + 0x7c], 0x3f800000
mov dword [esp + 0xb4], 0
movups xmmword [esp + 0xb8], xmm0
call fcn.100197f0
movups xmm0, xmmword [esp + 0x70]
mov edx, dword [esp + 0x14]
lea edi, [esp + 0x138]
mov dword [esp + 0x58], 0x3f000000
movups xmmword [esi + 0x15c0], xmm0
mov dword [esp + 0x5c], 0x3f000000
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [0x10155bb8]
cvttss2si eax, xmm0
movss xmm0, dword [esp + 0x88]
movd xmm1, eax
or eax, 0xffffffff
cvtdq2ps xmm1, xmm1
test edx, edx
cmove edx, eax
mov eax, edi
addss xmm1, dword [0x10155cc0]
subss xmm0, xmm1
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x8c]
subss xmm0, dword [0x10155d68]
movss dword [esp + 0x34], xmm0
cmp eax, edx
jae 0x100918b7
mov cl, byte [edi]
test cl, cl
je 0x100918b7
cmp cl, 0x23
jne 0x100918b2
cmp byte [edi + 1], cl
je 0x100918b7
inc edi
cmp edi, edx
jb 0x100918a2
mov eax, edi
lea ecx, [esp + 0x138]
sub eax, ecx
je 0x10091914
mov esi, dword [0x1020f4d8]
lea eax, [esp + 0x58]
push 0
push eax
mov eax, ecx
lea edx, [esp + 0x38]
mov ecx, dword [esi + 0x19b0]
push 0
push edi
push eax
mov ecx, dword [ecx + 0x284]
lea eax, [esp + 0x9c]
push eax
call fcn.1000a500
add esp, 0x18
cmp byte [esi + 0x2d60], 0
je 0x10091914
push edi
lea edx, [esp + 0x13c]
lea ecx, [esp + 0x34]
call fcn.10018970
add esp, 4
mov ecx, 1
call fcn.10013e90
mov esi, dword [0x1020f4d8]
lea eax, [esp + 0xb0]
push eax
mov dword [esp + 0xb4], 0
movups xmm0, xmmword [esi + 0x15c0]
lea ecx, [esi + 0x1a9c]
movups xmmword [esp + 0xb8], xmm0
call fcn.100197f0
movss xmm0, dword [esp + 0x4c]
mov dword [esi + 0x15c0], 0x3f800000
mov dword [esi + 0x15c4], 0x3f800000
mov dword [esi + 0x15c8], 0x3f800000
mulss xmm0, dword [0x10155b64]
movss dword [esi + 0x15cc], xmm0
movss xmm0, dword [esp + 0x94]
comiss xmm0, dword [0x10155a64]
jbe 0x100919e0
movss xmm0, dword [esp + 0x80]
xor edx, edx
addss xmm0, dword [0x10155c94]
mov ecx, dword [esp + 0x9c]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x84]
addss xmm0, dword [0x10155c84]
movss dword [esp + 0x18], xmm0
push dword [esp + 0x18]
push dword [esp + 0x18]
push 1
call fcn.1000a140
add esp, 0xc
mov ecx, 1
call fcn.10013e90
mov al, byte [esp + 0x13]
pop edi
pop esi
mov ecx, dword [esp + 0x174]
xor ecx, esp
call fcn.100d7b08
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x17c]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.100d7b08
mov esp, ebp
pop ebp
ret 0x1c