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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x38
push esi
mov esi, dword [0x100ca9c8]
xorps xmm1, xmm1
push edi
mov byte [esi + 0x357], 0
mov dword [esi + 0x1df8], 0
mov dword [esi + 0x1dfc], 0
mov dl, byte [esi + 8]
and dl, 1
test byte [esi + 8], 2
mov byte [ebp - 2], dl
je 0x100365d3
test byte [esi + 0xc], 1
je 0x100365d3
cmp dword [esi + 0x1d28], 3
lea ecx, [esi + 0x1d28]
mov byte [ebp - 1], 1
mov dword [ebp - 0x10], ecx
je 0x100365e0
movss xmm0, dword [esi + 0x300]
comiss xmm0, xmm1
ja 0x100365c7
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x100365c7
movss xmm0, dword [esi + 0x304]
comiss xmm0, xmm1
ja 0x100365c7
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x100365c7
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
ja 0x100365c7
movss xmm0, dword [esi + 0x314]
comiss xmm0, xmm1
ja 0x100365c7
movss xmm0, dword [esi + 0x318]
comiss xmm0, xmm1
ja 0x100365c7
movss xmm0, dword [esi + 0x31c]
lea ecx, [esi + 0x1d28]
comiss xmm0, xmm1
mov dword [ebp - 0x10], ecx
jbe 0x100365e0
mov dword [esi + 0x1d28], 3
jmp 0x100365d7
mov byte [ebp - 1], 0
lea ecx, [esi + 0x1d28]
mov dword [ebp - 0x10], ecx
test dl, dl
je 0x10036714
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1003660a
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1003660a
mov dword [esi + 0x300], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1003662c
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1003662c
mov dword [esi + 0x308], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1003664e
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1003664e
mov dword [esi + 0x304], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x38]
test eax, eax
js 0x10036670
mov al, byte [eax + esi + 0x100]
test al, al
je 0x10036670
mov dword [esi + 0x344], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x10036692
mov al, byte [eax + esi + 0x100]
test al, al
je 0x10036692
mov dword [esi + 0x348], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x40]
test eax, eax
js 0x100366b4
mov al, byte [eax + esi + 0x100]
test al, al
je 0x100366b4
mov dword [esi + 0x34c], 0x3f800000
mov dword [ecx], 2
mov eax, dword [esi + 0x44]
test eax, eax
js 0x100366d6
mov al, byte [eax + esi + 0x100]
test al, al
je 0x100366d6
mov dword [esi + 0x350], 0x3f800000
mov dword [ecx], 2
mov al, byte [esi + 0xfc]
test al, al
je 0x100366ea
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfd], 0
je 0x100366fd
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0xfe], 0
je 0x10036714
test al, al
jne 0x10036714
mov dword [esi + 0x340], 0x3f800000
movups xmm0, xmmword [esi + 0x1458]
mov eax, dword [esi + 0x14a8]
lea ecx, [esi + 0x1458]
movss xmm2, dword [0x100be7a0]
movups xmmword [esi + 0x14ac], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [esi + 0x14bc], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [esi + 0x14cc], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [esi + 0x14dc], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [esi + 0x14ec], xmm0
mov dword [esi + 0x14fc], eax
mov eax, 0x15
nop dword [eax]
movss xmm0, dword [ecx - 0x1158]
comiss xmm0, xmm1
jbe 0x10036792
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x1003678b
movaps xmm0, xmm1
jmp 0x10036795
addss xmm0, dword [esi + 0x18]
jmp 0x10036795
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x10036770
mov eax, dword [esi + 0x1d50]
test eax, eax
je 0x10036808
mov edx, dword [esi + 0x1cf8]
test edx, edx
je 0x10036808
mov ecx, dword [esi + 0x1d40]
mov dword [esi + 0x1cfc], eax
mov dword [esi + 0x1d40], ecx
mov dword [esi + 0x1d00], 0
mov dword [edx + ecx*4 + 0x330], eax
add ecx, ecx
mov eax, dword [esi + 0x1cf8]
movups xmm0, xmmword [esi + 0x1d54]
movups xmmword [eax + ecx*8 + 0x338], xmm0
cmp byte [esi + 0x1d4e], 0
je 0x10036808
mov word [esi + 0x1d49], 1
mov byte [esi + 0x1d4b], 1
cmp byte [esi + 0x1d64], 0
mov word [esi + 0x1d4d], 0
mov dword [esi + 0x1d50], 0
mov dword [esi + 0x1d18], 0
je 0x10036833
call fcn.100374c0
cmp dword [esi + 0x1d6c], 2
jne 0x1003685f
cmp dword [esi + 0x1d84], 0
jne 0x10036855
cmp dword [esi + 0x1dd4], 0
jne 0x10036855
mov byte [esi + 0x1d4a], 0
mov dword [esi + 0x1d6c], 0
cmp byte [esi + 0x1d49], 0
je 0x100368d7
cmp byte [esi + 0x1d48], 0
je 0x100368d7
test byte [esi + 8], 4
je 0x100368d0
test byte [esi + 0xc], 4
je 0x100368d0
cmp byte [esi + 0x1d4a], 0
jne 0x100368d0
cmp byte [esi + 0x1d4b], 0
je 0x100368d0
cmp dword [esi + 0x1cf8], 0
je 0x100368d0
lea ecx, [ebp - 0x28]
call fcn.10036200
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss dword [esi + 0x380], xmm0
movss dword [esi + 0x384], xmm1
movss dword [esi + 0xe4], xmm0
movss dword [esi + 0xe8], xmm1
mov byte [esi + 0x357], 1
mov byte [esi + 0x1d49], 0
mov ecx, dword [esi + 0x1cf8]
mov byte [esi + 0x1d48], 0
mov dword [esi + 0x1d14], 0
test ecx, ecx
je 0x1003691b
mov eax, ecx
cmp dword [eax + 0x320], eax
je 0x10036911
test dword [eax + 8], 0x14000000
jne 0x10036911
mov eax, dword [eax + 0x31c]
test eax, eax
jne 0x100368f4
jmp 0x1003691b
cmp eax, ecx
je 0x1003691b
mov dword [eax + 0x32c], ecx
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x10036941
cmp dword [eax + 0x32c], 0
je 0x10036941
cmp dword [esi + 0x1d40], 0
jne 0x10036941
mov dword [eax + 0x32c], 0
call fcn.10037dd0
cmp byte [ebp - 2], 0
jne 0x10036952
cmp byte [ebp - 1], 0
je 0x100369ca
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x100369ca
test dword [eax + 8], 0x40000
jne 0x100369ca
mov byte [esi + 0x359], 1
cmp dword [esi + 0x1cfc], 0
je 0x100369d1
cmp byte [esi + 0x1d4a], 0
jne 0x100369d1
mov al, 1
mov edx, 1
mov byte [esi + 0x35a], al
mov ecx, edx
call fcn.10036360
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x10036bcc
cmp dword [esi + 0x1bc8], 0
je 0x100369de
mov edi, dword [0x100ca9c8]
mov dword [ebp - 0xc], edi
mov eax, dword [edi + 0x1be0]
shr eax, 1
test dl, al
jne 0x10036bd5
call fcn.1002ae60
jmp 0x10036bd5
mov byte [esi + 0x359], 0
cmp dword [esi + 0x1e00], 0
jne 0x1003697e
xor al, al
jmp 0x10036980
mov edi, dword [esi + 0x1cf8]
test edi, edi
je 0x10036ad3
cmp edi, dword [edi + 0x320]
je 0x10036ad3
test dword [edi + 8], 0x4000000
jne 0x10036ad3
mov eax, dword [edi + 0x31c]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10036ad3
movss xmm0, dword [edi + 0xc]
mov ecx, eax
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [edi + 0x10]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [edi + 0x14]
movss dword [ebp - 8], xmm0
movss xmm0, dword [edi + 0x18]
movss dword [ebp - 0x18], xmm0
call fcn.10033650
movss xmm4, dword [ebp - 0xc]
movss xmm5, dword [ebp - 0x24]
movaps xmm2, xmm4
mov ecx, dword [edi + 0x54]
mov eax, dword [ebp - 0x14]
movss xmm3, dword [ebp - 0x18]
mov edi, dword [0x100ca9c8]
addss xmm3, xmm5
addss xmm2, dword [ebp - 8]
subss xmm5, dword [eax + 0x10]
subss xmm4, dword [eax + 0xc]
subss xmm3, dword [eax + 0x10]
subss xmm2, dword [eax + 0xc]
mov eax, dword [edi + 0x1cf8]
mov dword [edi + 0x1cfc], ecx
mov dword [edi + 0x1d40], 0
mov dword [edi + 0x1d00], 0
mov dword [eax + 0x330], ecx
mov eax, dword [edi + 0x1cf8]
movss dword [ebp - 0x2c], xmm5
xorps xmm5, xmm5
movss dword [ebp - 0x30], xmm4
movss dword [ebp - 0x28], xmm2
movss dword [ebp - 0x24], xmm3
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [eax + 0x338], xmm0
jmp 0x10036bd2
mov edx, dword [esi + 0x1cd4]
test edx, edx
jle 0x10036b09
mov eax, dword [esi + 0x1cdc]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 8], 0x8000000
jne 0x10036bcc
lea ecx, [edx - 1]
mov dl, 1
call fcn.10035000
xorps xmm5, xmm5
jmp 0x10036bcc
cmp dword [esi + 0x1d40], 0
je 0x10036b99
mov edi, dword [0x100ca9c8]
mov dword [ebp - 0xc], edi
mov eax, dword [edi + 0x1cf8]
mov ecx, dword [eax + 0x32c]
test ecx, ecx
je 0x10036b38
cmp byte [ecx + 0x8b], 0
jne 0x10036b3a
mov ecx, eax
mov dword [edi + 0x1cf8], ecx
mov eax, dword [ecx + 0x330]
mov dword [edi + 0x1d40], 0
test eax, eax
je 0x10036b90
mov dword [edi + 0x1cfc], eax
mov dword [edi + 0x1d00], 0
mov dword [ecx + 0x330], eax
movups xmm0, xmmword [ecx + 0x338]
mov eax, dword [edi + 0x1cf8]
movups xmmword [eax + 0x338], xmm0
mov word [edi + 0x1d49], 1
mov byte [edi + 0x1d4b], 1
jmp 0x10036bd5
mov dl, 1
call fcn.10036150
jmp 0x10036bd5
test edi, edi
je 0x10036bb8
mov eax, dword [edi + 8]
test eax, 0x4000000
jne 0x10036bae
test eax, 0x1000000
jne 0x10036bb8
mov dword [edi + 0x330], 0
mov dword [esi + 0x1d00], 0
mov dword [esi + 0x1cfc], 0
mov edi, dword [0x100ca9c8]
mov dword [ebp - 0xc], edi
cmp dword [esi + 0x1cfc], 0
mov dword [esi + 0x1d10], 0
mov dword [esi + 0x1d0c], 0
mov dword [esi + 0x1d08], 0
mov dword [esi + 0x1d04], 0
je 0x10036ce7
cmp byte [esi + 0x1d4a], 0
jne 0x10036ce7
cmp dword [esi + 0x1e00], 0
jne 0x10036ce7
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x10036ce7
test dword [eax + 8], 0x40000
jne 0x10036ce7
movss xmm0, dword [edi + 0x300]
comiss xmm0, xmm5
seta al
mov byte [ebp - 3], al
test al, al
je 0x10036c69
mov edx, 1
xor ecx, ecx
call fcn.10036360
comiss xmm0, xmm5
jbe 0x10036c69
mov al, dl
jmp 0x10036c6b
xor al, al
mov edx, dword [esi + 0x1bc8]
mov ecx, dword [esi + 0x1cfc]
mov byte [ebp - 1], al
test edx, edx
jne 0x10036c8a
test al, al
je 0x10036c8e
mov dword [esi + 0x1d04], ecx
jmp 0x10036c8e
cmp edx, ecx
jne 0x10036ce7
cmp byte [ebp - 3], 0
mov eax, dword [esi + 0x1d08]
cmovne eax, ecx
mov dword [esi + 0x1d08], eax
test edx, edx
je 0x10036ca9
cmp edx, ecx
jne 0x10036ce7
cmp byte [ebp - 1], 0
mov eax, dword [esi + 0x1d0c]
cmovne eax, ecx
mov dword [esi + 0x1d0c], eax
test edx, edx
je 0x10036cc4
cmp edx, ecx
jne 0x10036ce7
mov edx, 1
lea ecx, [edx + 1]
call fcn.10036360
mov eax, dword [esi + 0x1d10]
comiss xmm0, xmm5
cmova eax, dword [esi + 0x1cfc]
mov dword [esi + 0x1d10], eax
mov ecx, dword [esi + 0x1cf8]
test ecx, ecx
je 0x10036d01
test dword [ecx + 8], 0x40000
je 0x10036d01
mov byte [esi + 0x1d4a], 1
mov eax, dword [esi + 0x1d24]
mov byte [esi + 0x1d64], 0
test eax, eax
je 0x10036d2a
mov dword [esi + 0x1d10], eax
mov dword [esi + 0x1d0c], eax
mov dword [esi + 0x1d08], eax
mov dword [esi + 0x1d04], eax
cmp dword [esi + 0x1d6c], 0
mov dword [esi + 0x1d24], 0
jne 0x10036e99
or eax, 0xffffffff
mov dword [esi + 0x1d74], 0xffffffff
mov dword [esi + 0x1d68], 0
test ecx, ecx
je 0x10036e91
or eax, eax
cmp dword [esi + 0x1e00], 0
jne 0x10036e91
or eax, 0xffffffff
test dword [ecx + 8], 0x40000
jne 0x10036e91
test byte [edi + 0x1bdc], 1
mov dword [ebp - 8], eax
jne 0x10036dc0
lea edx, [eax + 4]
lea ecx, [eax + 5]
call fcn.10036360
comiss xmm0, xmm5
ja 0x10036daf
lea ecx, [edx + 0xe]
mov dword [ebp - 8], 0xffffffff
call fcn.10036360
comiss xmm0, xmm5
jbe 0x10036dc0
mov dword [esi + 0x1d74], 0
mov dword [ebp - 8], 0
mov eax, dword [edi + 0x1bdc]
shr eax, 1
test al, 1
jne 0x10036e02
mov edx, 3
lea ecx, [edx + 2]
call fcn.10036360
comiss xmm0, xmm5
ja 0x10036df1
mov eax, dword [ebp - 8]
lea ecx, [edx + 0xf]
mov dword [ebp - 8], eax
call fcn.10036360
comiss xmm0, xmm5
jbe 0x10036e02
mov dword [esi + 0x1d74], 1
mov dword [ebp - 8], 1
mov eax, dword [edi + 0x1bdc]
shr eax, 2
test al, 1
jne 0x10036e45
mov edx, 3
lea ecx, [edx + 3]
call fcn.10036360
comiss xmm0, xmm5
ja 0x10036e34
mov eax, dword [ebp - 8]
lea ecx, [edx + 0x10]
mov dword [ebp - 8], eax
call fcn.10036360
comiss xmm0, xmm5
jbe 0x10036e45
mov dword [esi + 0x1d74], 2
mov dword [ebp - 8], 2
mov eax, dword [edi + 0x1bdc]
shr eax, 3
test al, 1
jne 0x10036e8e
mov edx, 3
lea ecx, [edx + 4]
call fcn.10036360
comiss xmm0, xmm5
ja 0x10036e77
mov eax, dword [ebp - 8]
lea ecx, [edx + 0x11]
mov dword [ebp - 8], eax
call fcn.10036360
comiss xmm0, xmm5
jbe 0x10036e8e
mov eax, 3
mov dword [esi + 0x1d74], 3
mov dword [esi + 0x1d7c], eax
jmp 0x10036ea3
mov eax, dword [ebp - 8]
mov dword [esi + 0x1d7c], eax
jmp 0x10036ea3
mov dword [esi + 0x1d6c], 2
xor al, al
xorps xmm0, xmm0
movss dword [ebp - 0x14], xmm0
cmp byte [ebp - 2], al
je 0x10036ec5
call fcn.10037710
mov al, byte [esi + 0x1d64]
xorps xmm5, xmm5
movss dword [ebp - 0x14], xmm0
mov ecx, dword [esi + 0x1d74]
cmp ecx, 0xffffffff
je 0x10036eeb
mov byte [esi + 0x1d64], 1
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x1d70], eax
mov dword [esi + 0x1d78], ecx
jmp 0x10036eef
test al, al
je 0x10036f12
cmp dword [esi + 0x1cfc], 0
jne 0x10036f12
mov word [esi + 0x1d4d], 0x101
mov dword [esi + 0x1d50], 0
mov byte [esi + 0x1d4a], 0
cmp byte [edi + 0x1d64], 0
jne 0x10036f28
cmp byte [edi + 0x1d4d], 0
jne 0x10036f28
xor al, al
jmp 0x10036f2a
mov al, 1
mov byte [edi + 0x1d4c], al
mov edi, dword [esi + 0x1cf8]
test edi, edi
je 0x1003712c
test dword [edi + 8], 0x40000
jne 0x1003712c
cmp dword [esi + 0x1e00], 0
jne 0x1003712c
mov eax, dword [ebp - 0xc]
movss xmm0, dword [eax + 0x1934]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x10036f7d
mulss xmm0, dword [eax + 0x280]
cmp dword [edi + 0x144], 0
mulss xmm0, dword [0x100be734]
mulss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x100be664]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 8], xmm1
jne 0x10037058
cmp byte [edi + 0x151], 0
je 0x10037058
cmp byte [esi + 0x1d64], 0
je 0x10037058
mov eax, dword [esi + 0x1d74]
movss xmm2, dword [0x100be6a4]
test eax, eax
je 0x10036fe5
cmp eax, 1
jne 0x10037014
movaps xmm0, xmm2
jmp 0x10036fed
movss xmm0, dword [0x100be7a0]
mulss xmm0, xmm1
mov dword [edi + 0x70], 0
mov dword [edi + 0x78], 0
addss xmm0, dword [edi + 0x58]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
mov eax, dword [esi + 0x1d74]
cmp eax, 2
je 0x10037029
cmp eax, 3
jne 0x10037058
movaps xmm0, xmm2
jmp 0x10037031
movss xmm0, dword [0x100be7a0]
mulss xmm0, xmm1
mov dword [edi + 0x74], 0
mov dword [edi + 0x7c], 0
addss xmm0, dword [edi + 0x5c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
xor edx, edx
lea ecx, [edx + 9]
call fcn.10036360
lea ecx, [edx + 8]
movaps xmm7, xmm0
call fcn.10036360
subss xmm7, xmm0
lea ecx, [edx + 0xb]
addss xmm7, xmm5
call fcn.10036360
lea ecx, [edx + 0xa]
movaps xmm6, xmm0
call fcn.10036360
mov ecx, dword [ebp - 0xc]
subss xmm6, xmm0
movss xmm1, dword [ecx + 0x338]
comiss xmm1, xmm5
addss xmm6, xmm5
jbe 0x100370b0
mulss xmm7, dword [0x100be640]
mulss xmm6, dword [0x100be640]
movss xmm0, dword [ecx + 0x33c]
comiss xmm0, xmm5
jbe 0x100370cd
mulss xmm7, dword [0x100be718]
mulss xmm6, dword [0x100be718]
movss xmm1, dword [ebp - 8]
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jnp 0x10037102
cmp byte [edi + 0x88], dl
je 0x10037102
mulss xmm7, xmm1
mov dword [edi + 0x70], edx
mov dword [edi + 0x78], edx
addss xmm7, dword [edi + 0x58]
cvttss2si eax, xmm7
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x68], xmm0
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jnp 0x1003712f
mulss xmm6, xmm1
mov dword [edi + 0x74], edx
mov dword [edi + 0x7c], edx
addss xmm6, dword [edi + 0x5c]
cvttss2si eax, xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x6c], xmm0
jmp 0x1003712f
mov ecx, dword [ebp - 0xc]
mov dword [esi + 0x1d80], 0
xorps xmm0, xmm0
mov dword [esi + 0x1d88], 0
mov dword [esi + 0x1d84], 0
mov dword [esi + 0x1d94], 0x7f7fffff
mov dword [esi + 0x1d90], 0x7f7fffff
mov dword [esi + 0x1d8c], 0x7f7fffff
movups xmmword [esi + 0x1d98], xmm0
mov dword [esi + 0x1da8], 0
mov dword [esi + 0x1db0], 0
mov dword [esi + 0x1dac], 0
mov dword [esi + 0x1dbc], 0x7f7fffff
mov dword [esi + 0x1db8], 0x7f7fffff
mov dword [esi + 0x1db4], 0x7f7fffff
movups xmmword [esi + 0x1dc0], xmm0
mov dword [esi + 0x1dd0], 0
mov dword [esi + 0x1dd8], 0
mov dword [esi + 0x1dd4], 0
mov dword [esi + 0x1de4], 0x7f7fffff
mov dword [esi + 0x1de0], 0x7f7fffff
mov dword [esi + 0x1ddc], 0x7f7fffff
movups xmmword [esi + 0x1de8], xmm0
cmp byte [esi + 0x1d64], 0
je 0x1003739c
mov eax, dword [ebp - 0x10]
cmp dword [eax], 3
jne 0x1003739c
mov edx, dword [esi + 0x1d40]
movss xmm5, dword [0x100be6a4]
test edx, edx
jne 0x100373a4
mov eax, dword [esi + 0x1cf8]
movss xmm2, dword [eax + 0x1f4]
subss xmm2, dword [eax + 0xc]
movss xmm6, dword [eax + 0x1fc]
movss xmm7, dword [eax + 0x200]
movss xmm3, dword [eax + 0x1f8]
subss xmm6, dword [eax + 0xc]
subss xmm7, dword [eax + 0x10]
subss xmm3, dword [eax + 0x10]
movss xmm0, dword [eax + 0x338]
subss xmm2, xmm5
addss xmm6, xmm5
addss xmm7, xmm5
subss xmm3, xmm5
comiss xmm0, xmm2
jb 0x100372a4
movss xmm0, dword [eax + 0x33c]
comiss xmm0, xmm3
jb 0x100372a4
comiss xmm6, dword [eax + 0x340]
jb 0x100372a4
comiss xmm7, dword [eax + 0x344]
jae 0x100373a4
movss xmm4, dword [ecx + 0x1934]
mov ecx, dword [eax + 0x31c]
mulss xmm4, dword [eax + 0x280]
test ecx, ecx
je 0x100372c6
mulss xmm4, dword [ecx + 0x280]
mulss xmm4, dword [0x100be664]
movaps xmm1, xmm7
add edx, edx
subss xmm1, xmm3
movaps xmm5, xmm6
subss xmm5, xmm2
movss xmm0, dword [eax + edx*8 + 0x33c]
minss xmm1, xmm4
minss xmm5, xmm4
xorps xmm1, xmmword [0x100beb80]
xorps xmm5, xmmword [0x100beb80]
subss xmm3, xmm1
movaps xmm4, xmm1
subss xmm2, xmm5
addss xmm5, xmm6
addss xmm4, xmm7
comiss xmm3, xmm0
jbe 0x1003731a
movaps xmm1, xmm3
jmp 0x10037321
movaps xmm1, xmm4
minss xmm1, xmm0
movss xmm6, dword [eax + 0x338]
comiss xmm2, xmm6
jbe 0x10037333
movaps xmm0, xmm2
jmp 0x1003733a
movaps xmm0, xmm5
minss xmm0, xmm6
movss dword [eax + edx*8 + 0x338], xmm0
movss dword [eax + edx*8 + 0x33c], xmm1
movss xmm0, dword [eax + edx*8 + 0x344]
comiss xmm3, xmm0
ja 0x10037361
movaps xmm3, xmm4
minss xmm3, xmm0
movss xmm0, dword [eax + edx*8 + 0x340]
comiss xmm2, xmm0
ja 0x10037376
movaps xmm2, xmm5
minss xmm2, xmm0
movss dword [eax + edx*8 + 0x340], xmm2
movss dword [eax + edx*8 + 0x344], xmm3
mov dword [esi + 0x1d00], 0
mov dword [esi + 0x1cfc], 0
movss xmm5, dword [0x100be6a4]
mov eax, dword [esi + 0x1cf8]
test eax, eax
je 0x100373f4
mov ecx, dword [esi + 0x1d40]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 + 0x338]
comiss xmm0, dword [eax + ecx*8 + 0x340]
ja 0x100373f4
movss xmm0, dword [eax + ecx*8 + 0x33c]
comiss xmm0, dword [eax + ecx*8 + 0x344]
ja 0x100373f4
movups xmm0, xmmword [eax + ecx*8 + 0x338]
lea ecx, [ebp - 0x30]
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x30], xmm0
jmp 0x10037409
lea ecx, [ebp - 0x30]
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x30], xmm0
test eax, eax
je 0x10037447
movss xmm4, dword [ebp - 0x28]
movss xmm3, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x30]
movss xmm0, dword [ebp - 0x2c]
addss xmm4, dword [eax + 0xc]
addss xmm3, dword [eax + 0x10]
addss xmm1, dword [eax + 0xc]
addss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x28], xmm4
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x30], xmm1
movss dword [ebp - 0x2c], xmm0
jmp 0x1003744e
xorps xmm0, xmm0
movups xmmword [ebp - 0x30], xmm0
movss xmm1, dword [ebp - 0x14]
lea eax, [ebp - 0x30]
movups xmm0, xmmword [eax]
pop edi
movups xmmword [esi + 0x1d2c], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x1d30]
addss xmm1, dword [esi + 0x1d38]
movss dword [esi + 0x1d30], xmm0
movss dword [esi + 0x1d38], xmm1
movss xmm0, dword [esi + 0x1d2c]
addss xmm0, xmm5
mov dword [esi + 0x1d3c], 0
minss xmm0, dword [esi + 0x1d34]
movss dword [esi + 0x1d2c], xmm0
movss dword [esi + 0x1d34], xmm0
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret