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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x20
push esi
mov esi, dword [0x100be9bc]
xorps xmm1, xmm1
push edi
mov byte [esi + 0x357], 0
mov dword [esi + 0x1cc4], 0
mov dword [esi + 0x1cc8], 0
mov dl, byte [esi + 8]
and dl, 1
test byte [esi + 8], 2
mov byte [ebp - 2], dl
je 0x1003805d
test byte [esi + 0xc], 1
je 0x1003805d
cmp dword [esi + 0x1bf4], 4
lea ecx, [esi + 0x1bf4]
mov byte [ebp - 1], 1
je 0x10038067
movss xmm0, dword [esi + 0x300]
comiss xmm0, xmm1
ja 0x10038051
movss xmm0, dword [esi + 0x308]
comiss xmm0, xmm1
ja 0x10038051
movss xmm0, dword [esi + 0x304]
comiss xmm0, xmm1
ja 0x10038051
movss xmm0, dword [esi + 0x30c]
comiss xmm0, xmm1
ja 0x10038051
movss xmm0, dword [esi + 0x310]
comiss xmm0, xmm1
ja 0x10038051
movss xmm0, dword [esi + 0x314]
comiss xmm0, xmm1
ja 0x10038051
movss xmm0, dword [esi + 0x318]
comiss xmm0, xmm1
ja 0x10038051
movss xmm0, dword [esi + 0x31c]
lea ecx, [esi + 0x1bf4]
comiss xmm0, xmm1
jbe 0x10038067
mov dword [esi + 0x1bf4], 4
jmp 0x10038061
mov byte [ebp - 1], 0
lea ecx, [esi + 0x1bf4]
test dl, dl
je 0x1003819b
mov eax, dword [esi + 0x64]
test eax, eax
js 0x10038091
mov al, byte [esi + eax + 0x100]
test al, al
je 0x10038091
mov dword [esi + 0x300], 0x3f800000
mov dword [ecx], 3
mov eax, dword [esi + 0x68]
test eax, eax
js 0x100380b3
mov al, byte [eax + esi + 0x100]
test al, al
je 0x100380b3
mov dword [esi + 0x308], 0x3f800000
mov dword [ecx], 3
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x100380d5
mov al, byte [eax + esi + 0x100]
test al, al
je 0x100380d5
mov dword [esi + 0x304], 0x3f800000
mov dword [ecx], 3
mov eax, dword [esi + 0x38]
test eax, eax
js 0x100380f7
mov al, byte [eax + esi + 0x100]
test al, al
je 0x100380f7
mov dword [esi + 0x344], 0x3f800000
mov dword [ecx], 3
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x10038119
mov al, byte [eax + esi + 0x100]
test al, al
je 0x10038119
mov dword [esi + 0x348], 0x3f800000
mov dword [ecx], 3
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1003813b
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1003813b
mov dword [esi + 0x34c], 0x3f800000
mov dword [ecx], 3
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1003815d
mov al, byte [eax + esi + 0x100]
test al, al
je 0x1003815d
mov dword [esi + 0x350], 0x3f800000
mov dword [ecx], 3
mov al, byte [esi + 0xfc]
test al, al
je 0x10038171
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfd], 0
je 0x10038184
mov dword [esi + 0x33c], 0x3f800000
cmp byte [esi + 0xfe], 0
je 0x1003819b
test al, al
jne 0x1003819b
mov dword [esi + 0x340], 0x3f800000
movups xmm0, xmmword [esi + 0x1458]
mov eax, dword [esi + 0x14a8]
lea ecx, [esi + 0x1458]
movss xmm2, dword [0x1009a38c]
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]
nop dword [eax + eax]
movss xmm0, dword [ecx - 0x1158]
comiss xmm0, xmm1
jbe 0x10038222
movss xmm0, dword [ecx]
comiss xmm1, xmm0
jbe 0x1003821b
movaps xmm0, xmm1
jmp 0x10038225
addss xmm0, dword [esi + 0x18]
jmp 0x10038225
movaps xmm0, xmm2
movss dword [ecx], xmm0
add ecx, 4
sub eax, 1
jne 0x10038200
mov ecx, dword [esi + 0x1c1c]
test ecx, ecx
je 0x100382c3
cmp byte [esi + 0x1c16], al
je 0x1003824f
cmp byte [esi + 0x1c1a], al
je 0x100382c3
mov edi, dword [esi + 0x1bc4]
test edi, edi
je 0x100382c3
mov edx, dword [esi + 0x1c0c]
mov dword [esi + 0x1bcc], 0
cmp byte [esi + 0x1c1a], 0
mov dword [esi + 0x1bc8], ecx
mov dword [edi + edx*4 + 0x330], ecx
je 0x100382a6
mov eax, dword [esi + 0x1bc4]
add edx, edx
movups xmm0, xmmword [esi + 0x1c20]
movups xmmword [eax + edx*8 + 0x338], xmm0
mov word [esi + 0x1c15], 1
mov byte [esi + 0x1c17], 1
mov ecx, dword [esi + 0x1c0c]
mov eax, dword [esi + 0x1bc4]
add ecx, ecx
movups xmm0, xmmword [esi + 0x1c20]
movups xmmword [eax + ecx*8 + 0x338], xmm0
cmp byte [esi + 0x1c30], 0
mov word [esi + 0x1c19], 0
mov dword [esi + 0x1c1c], 0
mov dword [esi + 0x1be4], 0
je 0x100382ee
call fcn.10038e40
cmp dword [esi + 0x1c38], 2
jne 0x1003831a
cmp dword [esi + 0x1c50], 0
jne 0x10038310
cmp dword [esi + 0x1ca0], 0
jne 0x10038310
mov byte [esi + 0x1c16], 0
mov dword [esi + 0x1c38], 0
cmp byte [esi + 0x1c15], 0
je 0x10038392
cmp byte [esi + 0x1c14], 0
je 0x10038392
test byte [esi + 8], 4
je 0x1003838b
test byte [esi + 0xc], 4
je 0x1003838b
cmp byte [esi + 0x1c16], 0
jne 0x1003838b
cmp byte [esi + 0x1c17], 0
je 0x1003838b
cmp dword [esi + 0x1bc4], 0
je 0x1003838b
lea ecx, [ebp - 0x10]
call fcn.10037cc0
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 + 0x1c15], 0
mov edx, dword [esi + 0x1bc4]
mov byte [esi + 0x1c14], 0
mov dword [esi + 0x1be0], 0
test edx, edx
je 0x100383d5
mov ecx, edx
nop
mov eax, dword [ecx + 8]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x100383cb
mov ecx, dword [ecx + 0x31c]
test ecx, ecx
jne 0x100383b0
jmp 0x100383d5
cmp ecx, edx
je 0x100383d5
mov dword [ecx + 0x32c], edx
mov eax, dword [esi + 0x1bc4]
test eax, eax
je 0x100383fb
cmp dword [eax + 0x32c], 0
je 0x100383fb
cmp dword [esi + 0x1c0c], 0
jne 0x100383fb
mov dword [eax + 0x32c], 0
call fcn.10039730
cmp byte [ebp - 2], 0
jne 0x1003840c
cmp byte [ebp - 1], 0
je 0x10038481
mov eax, dword [esi + 0x1bc4]
test eax, eax
je 0x10038481
test dword [eax + 8], 0x40000
jne 0x10038481
mov byte [esi + 0x359], 1
cmp dword [esi + 0x1bc8], 0
je 0x10038488
cmp byte [esi + 0x1c16], 0
jne 0x10038488
mov al, 1
mov edx, 1
mov byte [esi + 0x35a], al
mov ecx, edx
call fcn.10037df0
xorps xmm5, xmm5
comiss xmm0, xmm5
jbe 0x10038576
cmp dword [esi + 0x1aa4], 0
je 0x10038495
mov edi, dword [0x100be9bc]
mov eax, dword [edi + 0x1abc]
shr eax, 1
test dl, al
jne 0x1003857c
call fcn.1002c5b0
jmp 0x1003857c
mov byte [esi + 0x359], 0
cmp dword [esi + 0x1ccc], 0
jne 0x10038438
xor al, al
jmp 0x1003843a
mov edi, dword [esi + 0x1bc4]
test edi, edi
je 0x10038502
mov eax, dword [edi + 8]
and eax, 0x5000000
cmp eax, 0x1000000
jne 0x10038502
mov ecx, dword [edi + 0x31c]
test ecx, ecx
je 0x10038502
call fcn.10034cc0
mov ecx, dword [edi + 0x54]
xorps xmm5, xmm5
mov edi, dword [0x100be9bc]
mov eax, dword [edi + 0x1bc4]
mov dword [edi + 0x1bc8], ecx
mov dword [edi + 0x1bcc], 0
mov dword [eax + 0x330], ecx
cmp byte [esi + 0x1c17], 0
mov byte [esi + 0x1c14], 0
je 0x1003857c
mov byte [esi + 0x1c15], 1
jmp 0x1003857c
mov edx, dword [esi + 0x1bac]
test edx, edx
jle 0x10038531
mov eax, dword [esi + 0x1bb4]
lea ecx, [edx + edx*8]
mov eax, dword [eax + ecx*4 - 0x20]
test dword [eax + 8], 0x8000000
jne 0x10038576
lea ecx, [edx - 1]
mov dl, 1
call fcn.10036a70
xorps xmm5, xmm5
jmp 0x10038576
cmp dword [esi + 0x1c0c], 0
je 0x10038543
xor ecx, ecx
call fcn.10037b90
jmp 0x10038576
test edi, edi
je 0x10038562
mov eax, dword [edi + 8]
test eax, 0x4000000
jne 0x10038558
test eax, 0x1000000
jne 0x10038562
mov dword [edi + 0x330], 0
mov dword [esi + 0x1bcc], 0
mov dword [esi + 0x1bc8], 0
mov edi, dword [0x100be9bc]
cmp dword [esi + 0x1bc8], 0
mov dword [esi + 0x1bdc], 0
mov dword [esi + 0x1bd8], 0
mov dword [esi + 0x1bd4], 0
mov dword [esi + 0x1bd0], 0
je 0x1003868a
cmp byte [esi + 0x1c16], 0
jne 0x1003868a
cmp dword [esi + 0x1ccc], 0
jne 0x1003868a
mov eax, dword [esi + 0x1bc4]
test eax, eax
je 0x1003868a
test dword [eax + 8], 0x40000
jne 0x1003868a
movss xmm0, dword [edi + 0x300]
comiss xmm0, xmm5
seta al
mov byte [ebp - 1], al
test al, al
je 0x1003860c
mov edx, 1
xor ecx, ecx
call fcn.10037df0
comiss xmm0, xmm5
ja 0x1003860e
xor dl, dl
mov ecx, dword [esi + 0x1aa4]
test ecx, ecx
jne 0x1003862a
test dl, dl
je 0x10038632
mov eax, dword [esi + 0x1bc8]
mov dword [esi + 0x1bd0], eax
jmp 0x10038632
cmp ecx, dword [esi + 0x1bc8]
jne 0x1003868a
cmp byte [ebp - 1], 0
je 0x10038644
mov eax, dword [esi + 0x1bc8]
mov dword [esi + 0x1bd4], eax
test ecx, ecx
je 0x10038650
cmp ecx, dword [esi + 0x1bc8]
jne 0x1003868a
test dl, dl
je 0x10038660
mov eax, dword [esi + 0x1bc8]
mov dword [esi + 0x1bd8], eax
test ecx, ecx
je 0x1003866c
cmp ecx, dword [esi + 0x1bc8]
jne 0x1003868a
mov edx, 1
lea ecx, [edx + 1]
call fcn.10037df0
comiss xmm0, xmm5
jbe 0x1003868a
mov eax, dword [esi + 0x1bc8]
mov dword [esi + 0x1bdc], eax
mov ecx, dword [esi + 0x1bc4]
test ecx, ecx
je 0x100386a4
test dword [ecx + 8], 0x40000
je 0x100386a4
mov byte [esi + 0x1c16], 1
mov eax, dword [esi + 0x1bf0]
mov byte [esi + 0x1c30], 0
test eax, eax
je 0x100386cd
mov dword [esi + 0x1bdc], eax
mov dword [esi + 0x1bd8], eax
mov dword [esi + 0x1bd4], eax
mov dword [esi + 0x1bd0], eax
cmp dword [esi + 0x1c38], 0
mov dword [esi + 0x1bf0], 0
jne 0x1003883c
or eax, 0xffffffff
mov dword [esi + 0x1c40], 0xffffffff
mov dword [esi + 0x1c34], 0
test ecx, ecx
je 0x10038834
or eax, eax
cmp dword [esi + 0x1ccc], 0
jne 0x10038834
or eax, 0xffffffff
test dword [ecx + 8], 0x40000
jne 0x10038834
test byte [edi + 0x1ab8], 1
mov dword [ebp - 8], eax
jne 0x10038763
lea edx, [eax + 4]
lea ecx, [eax + 5]
call fcn.10037df0
comiss xmm0, xmm5
ja 0x10038752
lea ecx, [edx + 0xe]
mov dword [ebp - 8], 0xffffffff
call fcn.10037df0
comiss xmm0, xmm5
jbe 0x10038763
mov dword [esi + 0x1c40], 0
mov dword [ebp - 8], 0
mov eax, dword [edi + 0x1ab8]
shr eax, 1
test al, 1
jne 0x100387a5
mov edx, 3
lea ecx, [edx + 2]
call fcn.10037df0
comiss xmm0, xmm5
ja 0x10038794
mov eax, dword [ebp - 8]
lea ecx, [edx + 0xf]
mov dword [ebp - 8], eax
call fcn.10037df0
comiss xmm0, xmm5
jbe 0x100387a5
mov dword [esi + 0x1c40], 1
mov dword [ebp - 8], 1
mov eax, dword [edi + 0x1ab8]
shr eax, 2
test al, 1
jne 0x100387e8
mov edx, 3
lea ecx, [edx + 3]
call fcn.10037df0
comiss xmm0, xmm5
ja 0x100387d7
mov eax, dword [ebp - 8]
lea ecx, [edx + 0x10]
mov dword [ebp - 8], eax
call fcn.10037df0
comiss xmm0, xmm5
jbe 0x100387e8
mov dword [esi + 0x1c40], 2
mov dword [ebp - 8], 2
mov eax, dword [edi + 0x1ab8]
shr eax, 3
test al, 1
jne 0x10038831
mov edx, 3
lea ecx, [edx + 4]
call fcn.10037df0
comiss xmm0, xmm5
ja 0x1003881a
mov eax, dword [ebp - 8]
lea ecx, [edx + 0x11]
mov dword [ebp - 8], eax
call fcn.10037df0
comiss xmm0, xmm5
jbe 0x10038831
mov eax, 3
mov dword [esi + 0x1c40], 3
mov dword [esi + 0x1c48], eax
jmp 0x10038846
mov eax, dword [ebp - 8]
mov dword [esi + 0x1c48], eax
jmp 0x10038846
mov dword [esi + 0x1c38], 2
cmp byte [ebp - 2], 0
xorps xmm0, xmm0
movss dword [ebp - 0xc], xmm0
je 0x10038861
call fcn.10039080
movss dword [ebp - 0xc], xmm0
xorps xmm5, xmm5
mov ecx, dword [esi + 0x1c40]
cmp ecx, 0xffffffff
je 0x10038885
mov byte [esi + 0x1c30], 1
mov eax, dword [esi + 0x37c]
mov dword [esi + 0x1c3c], eax
mov dword [esi + 0x1c44], ecx
cmp byte [esi + 0x1c30], 0
je 0x100388b1
cmp dword [esi + 0x1bc8], 0
jne 0x100388b1
mov word [esi + 0x1c19], 0x101
mov dword [esi + 0x1c1c], 0
mov byte [esi + 0x1c16], 0
cmp byte [edi + 0x1c30], 0
jne 0x100388c7
cmp byte [edi + 0x1c19], 0
jne 0x100388c7
xor al, al
jmp 0x100388c9
mov al, 1
movss xmm4, dword [0x1009a174]
mov byte [edi + 0x1c18], al
mov edi, dword [esi + 0x1bc4]
test edi, edi
je 0x10038adc
test dword [edi + 8], 0x40000
jne 0x10038adc
cmp dword [esi + 0x1ccc], 0
jne 0x10038adc
mov eax, dword [0x100be9bc]
movss xmm0, dword [eax + 0x1934]
mov eax, dword [edi + 0x31c]
mulss xmm0, dword [edi + 0x280]
test eax, eax
je 0x10038926
mulss xmm0, dword [eax + 0x280]
cmp dword [edi + 0x144], 0
mulss xmm0, dword [0x1009a2d0]
mulss xmm0, dword [esi + 0x18]
addss xmm0, xmm4
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [ebp - 8], xmm1
jne 0x100389fd
cmp byte [edi + 0x151], 0
je 0x100389fd
cmp byte [esi + 0x1c30], 0
je 0x100389fd
mov eax, dword [esi + 0x1c40]
movss xmm2, dword [0x1009a1b4]
test eax, eax
je 0x1003898a
cmp eax, 1
jne 0x100389b9
movaps xmm0, xmm2
jmp 0x10038992
movss xmm0, dword [0x1009a38c]
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 + 0x1c40]
cmp eax, 2
je 0x100389ce
cmp eax, 3
jne 0x100389fd
movaps xmm0, xmm2
jmp 0x100389d6
movss xmm0, dword [0x1009a38c]
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.10037df0
lea ecx, [edx + 8]
movaps xmm7, xmm0
call fcn.10037df0
subss xmm7, xmm0
lea ecx, [edx + 0xb]
addss xmm7, xmm5
call fcn.10037df0
lea ecx, [edx + 0xa]
movaps xmm6, xmm0
call fcn.10037df0
mov ecx, dword [0x100be9bc]
subss xmm6, xmm0
movss xmm1, dword [ecx + 0x338]
comiss xmm1, xmm5
addss xmm6, xmm5
jbe 0x10038a58
mulss xmm7, dword [0x1009a148]
mulss xmm6, dword [0x1009a148]
movss xmm0, dword [ecx + 0x33c]
comiss xmm0, xmm5
jbe 0x10038a75
mulss xmm7, dword [0x1009a268]
mulss xmm6, dword [0x1009a268]
movss xmm1, dword [ebp - 8]
ucomiss xmm7, xmm5
lahf
test ah, 0x44
jnp 0x10038aaa
cmp byte [edi + 0x88], dl
je 0x10038aaa
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
movss xmm4, dword [0x1009a174]
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jnp 0x10038ae2
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 0x10038ae2
mov ecx, dword [0x100be9bc]
mov dword [esi + 0x1c4c], 0
xorps xmm0, xmm0
mov dword [esi + 0x1c54], 0
mov dword [esi + 0x1c50], 0
mov dword [esi + 0x1c60], 0x7f7fffff
mov dword [esi + 0x1c5c], 0x7f7fffff
mov dword [esi + 0x1c58], 0x7f7fffff
movups xmmword [esi + 0x1c64], xmm0
mov dword [esi + 0x1c74], 0
mov dword [esi + 0x1c7c], 0
mov dword [esi + 0x1c78], 0
mov dword [esi + 0x1c88], 0x7f7fffff
mov dword [esi + 0x1c84], 0x7f7fffff
mov dword [esi + 0x1c80], 0x7f7fffff
movups xmmword [esi + 0x1c8c], xmm0
mov dword [esi + 0x1c9c], 0
mov dword [esi + 0x1ca4], 0
mov dword [esi + 0x1ca0], 0
mov dword [esi + 0x1cb0], 0x7f7fffff
mov dword [esi + 0x1cac], 0x7f7fffff
mov dword [esi + 0x1ca8], 0x7f7fffff
movups xmmword [esi + 0x1cb4], xmm0
cmp byte [esi + 0x1c30], 0
je 0x10038d4a
cmp dword [esi + 0x1bf4], 4
jne 0x10038d4a
mov edx, dword [esi + 0x1c0c]
movss xmm7, dword [0x1009a1b4]
test edx, edx
jne 0x10038d52
mov eax, dword [esi + 0x1bc4]
movss xmm2, dword [eax + 0x1f4]
subss xmm2, dword [eax + 0xc]
movss xmm5, dword [eax + 0x1fc]
movss xmm6, dword [eax + 0x200]
movss xmm3, dword [eax + 0x1f8]
subss xmm5, dword [eax + 0xc]
subss xmm6, dword [eax + 0x10]
subss xmm3, dword [eax + 0x10]
movss xmm0, dword [eax + 0x338]
subss xmm2, xmm7
addss xmm5, xmm7
addss xmm6, xmm7
subss xmm3, xmm7
comiss xmm0, xmm2
jb 0x10038c58
movss xmm0, dword [eax + 0x33c]
comiss xmm0, xmm3
jb 0x10038c58
comiss xmm5, dword [eax + 0x340]
jb 0x10038c58
comiss xmm6, dword [eax + 0x344]
jae 0x10038d52
movss xmm1, dword [ecx + 0x1934]
mov edi, dword [eax + 0x31c]
mulss xmm1, dword [eax + 0x280]
test edi, edi
je 0x10038c7a
mulss xmm1, dword [edi + 0x280]
mulss xmm1, xmm4
movaps xmm7, xmm5
add edx, edx
movaps xmm4, xmm6
subss xmm7, xmm2
subss xmm4, xmm3
movss xmm0, dword [eax + edx*8 + 0x33c]
minss xmm7, xmm1
minss xmm4, xmm1
xorps xmm7, xmmword [0x1009b100]
xorps xmm4, xmmword [0x1009b100]
subss xmm2, xmm7
subss xmm3, xmm4
addss xmm7, xmm5
addss xmm4, xmm6
comiss xmm3, xmm0
jbe 0x10038cc7
movaps xmm1, xmm3
jmp 0x10038cce
movaps xmm1, xmm4
minss xmm1, xmm0
comiss xmm2, dword [eax + 0x338]
jbe 0x10038cdc
movaps xmm0, xmm2
jmp 0x10038ce8
movaps xmm0, xmm7
minss xmm0, dword [eax + edx*8 + 0x338]
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 0x10038d0f
movaps xmm3, xmm4
minss xmm3, xmm0
movss xmm0, dword [eax + edx*8 + 0x340]
comiss xmm2, xmm0
ja 0x10038d24
movaps xmm2, xmm7
minss xmm2, xmm0
movss dword [eax + edx*8 + 0x340], xmm2
movss dword [eax + edx*8 + 0x344], xmm3
mov dword [esi + 0x1bcc], 0
mov dword [esi + 0x1bc8], 0
movss xmm7, dword [0x1009a1b4]
mov edx, dword [esi + 0x1bc4]
test edx, edx
je 0x10038db1
mov eax, dword [esi + 0x1c0c]
movss xmm2, dword [edx + 0x10]
add eax, eax
movaps xmm3, xmm2
movups xmm4, xmmword [edx + eax*8 + 0x338]
movaps xmm0, xmm4
movaps xmm5, xmm4
shufps xmm0, xmm4, 0xff
addss xmm3, xmm0
shufps xmm5, xmm4, 0xaa
addss xmm5, dword [edx + 0xc]
movaps xmm0, xmm4
shufps xmm4, xmm4, 0x55
addss xmm0, dword [edx + 0xc]
addss xmm2, xmm4
movss dword [ebp - 0x14], xmm3
movss dword [ebp - 0x18], xmm5
movss dword [ebp - 0x20], xmm0
movss dword [ebp - 0x1c], xmm2
jmp 0x10038dd3
movss xmm0, dword [ecx + 0x10]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ecx + 0x14]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
movss dword [ebp - 0x14], xmm0
movss xmm1, dword [ebp - 0xc]
lea eax, [ebp - 0x20]
movups xmm0, xmmword [eax]
pop edi
movups xmmword [esi + 0x1bf8], xmm0
movaps xmm0, xmm1
addss xmm0, dword [esi + 0x1bfc]
addss xmm1, dword [esi + 0x1c04]
movss dword [esi + 0x1bfc], xmm0
movss dword [esi + 0x1c04], xmm1
movss xmm0, dword [esi + 0x1bf8]
addss xmm0, xmm7
mov dword [esi + 0x1c08], 0
minss xmm0, dword [esi + 0x1c00]
movss dword [esi + 0x1bf8], xmm0
movss dword [esi + 0x1c00], xmm0
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret