Function at 0x1000f510
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
mov edx, dword [0x1008fb10]
push esi
push edi
mov edi, edx
mov dword [ebp - 0xc], edi
cmp byte [edi], 0
jne 0x1000f546
call fcn.100107d0
mov edx, dword [0x1008fb10]
movss xmm0, dword [edi + 0xc]
addss xmm0, dword [edi + 0x17c0]
inc dword [edi + 0x17c4]
mov dword [edi + 0x2754], 0
mov dword [edi + 0x1800], 0
movss dword [edi + 0x17c0], xmm0
mov esi, dword [edx + 0x90]
test esi, esi
jne 0x1000f58a
mov eax, dword [edx + 0x84]
mov eax, dword [eax + 0x34]
mov esi, dword [eax]
movss xmm1, dword [edx + 0x88]
mov eax, dword [edx + 0x1804]
mov dword [edx + 0x1730], esi
mulss xmm1, dword [esi]
mulss xmm1, dword [esi + 4]
movss dword [edx + 0x1738], xmm1
test eax, eax
je 0x1000f5bd
mulss xmm1, dword [eax + 0x230]
jmp 0x1000f5c0
xorps xmm1, xmm1
movss dword [edx + 0x1734], xmm1
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [edx + 0x173c], ecx
mov dword [edx + 0x1744], esi
lea esi, [edi + 0x1914]
mov dword [edx + 0x1740], eax
mov ecx, esi
movss dword [edx + 0x1748], xmm1
movss xmm0, dword [edi + 4]
mov eax, dword [edi + 0x147c]
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [edi + 8]
movss dword [ebp - 0x24], xmm0
movups xmm0, xmmword [ebp - 0x30]
mov dword [edi + 0x174c], eax
movups xmmword [edi + 0x1750], xmm0
call fcn.1002b9b0
mov eax, dword [edi + 0x84]
mov ecx, dword [esi + 0x48]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x4c]
cmp ecx, eax
jne 0x1000f666
inc ecx
test eax, eax
je 0x1000f653
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 0x4c]
jmp 0x1000f658
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x48]
call fcn.10023cc0
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x50]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ecx + edx*4], eax
inc dword [esi + 0x48]
lea esi, [edi + 0x1914]
mov ecx, esi
call fcn.1002bed0
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x3c]
movss xmm0, dword [eax + 0x14]
movss xmm1, dword [eax + 0x18]
movss dword [ebp - 0x30], xmm0
maxss xmm0, dword [eax + 0x1c]
movss dword [ebp - 0x2c], xmm1
maxss xmm1, dword [eax + 0x20]
mov eax, dword [esi + 0x40]
movss dword [ebp - 0x28], xmm0
movss dword [ebp - 0x24], xmm1
cmp ecx, eax
jne 0x1000f6db
inc ecx
test eax, eax
je 0x1000f6c8
cdq
sub eax, edx
sar eax, 1
add eax, dword [esi + 0x40]
jmp 0x1000f6cd
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x3c]
call fcn.10030fc0
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x44]
add eax, eax
movups xmm0, xmmword [ebp - 0x30]
movups xmmword [ecx + eax*8], xmm0
inc dword [esi + 0x3c]
lea ecx, [edi + 0x1914]
call fcn.1002bda0
xor ecx, ecx
mov byte [edi + 0x18e4], 0
cmp byte [edi + 0x1479], cl
mov eax, 2
mov dword [edi + 0x18e8], 0
cmovne ecx, eax
mov dword [edi + 0x18f4], 0
xor eax, eax
mov dword [edi + 0x18f0], 0
cmp byte [edi + 0x1478], al
mov dword [edi + 0x18ec], 0
setne al
or ecx, eax
cmp dword [edi + 0x181c], 0
mov dword [edi + 0x1938], ecx
jne 0x1000f75e
mov dword [edi + 0x1820], 0
cmp byte [edi + 0x1830], 0
mov eax, dword [edi + 0x1814]
mov edx, dword [0x1008fb10]
mov dword [edi + 0x181c], eax
mov dword [edi + 0x1814], 0
mov byte [edi + 0x1818], 0
mov dword [ebp - 8], edx
jne 0x1000f7d9
mov eax, dword [edi + 0x1824]
cmp dword [edi + 0x1828], eax
jne 0x1000f7d9
test eax, eax
je 0x1000f7d9
mov ecx, dword [edx + 0x1824]
test ecx, ecx
setne al
mov byte [edx + 0x1831], al
test ecx, ecx
je 0x1000f7be
mov dword [edx + 0x182c], 0
mov dword [edx + 0x1824], 0
mov byte [edx + 0x1832], 0
mov dword [edx + 0x183c], 0
mov eax, dword [edi + 0x1824]
test eax, eax
je 0x1000f7f8
movss xmm0, dword [edi + 0x182c]
addss xmm0, dword [edi + 0xc]
movss dword [edi + 0x182c], xmm0
mov ecx, dword [edi + 0x271c]
mov dword [edi + 0x1828], eax
mov word [edi + 0x1830], 0
test ecx, ecx
je 0x1000f81f
cmp eax, ecx
je 0x1000f81f
mov dword [edi + 0x271c], 0
cmp byte [edi + 0x198c], 0
je 0x1000f88a
mov eax, dword [edi + 0x19a8]
inc eax
cmp eax, dword [edi + 0x17c4]
jge 0x1000f88a
call fcn.10023570
mov eax, dword [edi + 0x19e8]
test eax, eax
je 0x1000f87f
mov dword [edi + 0x19e4], 0
mov dword [edi + 0x19e0], 0
dec dword [edx + 0x318]
push eax
mov eax, dword [edx + 0xc4]
call eax
mov edx, dword [0x1008fb10]
add esp, 4
mov dword [edi + 0x19e8], 0
mov dword [ebp - 8], edx
xorps xmm0, xmm0
movq qword [edi + 0x19ec], xmm0
mov eax, dword [edi + 0x19d4]
mov ecx, 0x200
movss xmm2, dword [0x10082c9c]
mov dword [edi + 0x19d8], eax
lea eax, [edi + 0x3ec]
mov dword [edi + 0x19d4], 0
mov esi, eax
mov dword [edi + 0x19d0], 0x7f7fffff
add edi, 0xbec
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0xc]
xor ecx, ecx
nop dword [eax]
cmp byte [esi + ecx + 0xed], 0
xorps xmm4, xmm4
je 0x1000f8f2
movss xmm0, dword [eax]
comiss xmm4, xmm0
jbe 0x1000f8eb
xorps xmm0, xmm0
jmp 0x1000f8f5
addss xmm0, dword [esi + 0xc]
jmp 0x1000f8f5
movaps xmm0, xmm2
movss dword [eax], xmm0
inc ecx
add eax, 4
cmp ecx, 0x200
jl 0x1000f8d0
mov edi, dword [ebp - 8]
lea eax, [esi + 0xd0]
test eax, eax
jne 0x1000f918
lea eax, [edi + 0xd0]
movss xmm0, dword [eax]
movss xmm1, dword [0x10082cb0]
comiss xmm0, xmm1
jb 0x1000f978
movss xmm0, dword [eax + 4]
comiss xmm0, xmm1
jb 0x1000f978
lea eax, [esi + 0x330]
test eax, eax
jne 0x1000f943
lea eax, [edi + 0xd0]
movss xmm0, dword [eax]
comiss xmm0, xmm1
jb 0x1000f978
movss xmm0, dword [eax + 4]
comiss xmm0, xmm1
jb 0x1000f978
movss xmm0, dword [esi + 0xd0]
movss xmm1, dword [esi + 0xd4]
subss xmm0, dword [esi + 0x330]
subss xmm1, dword [esi + 0x334]
jmp 0x1000f97e
xorps xmm0, xmm0
xorps xmm1, xmm1
movss dword [esi + 0x328], xmm0
lea edx, [esi + 0x338]
movss dword [esi + 0x32c], xmm1
lea edi, [esi + 0x388]
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd4]
movss xmm5, dword [0x100831b0]
movss xmm6, dword [0x10082cb4]
mov dword [esi + 0x330], eax
lea eax, [esi + 0x374]
mov dword [esi + 0x334], ecx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], 5
mov cl, byte [eax - 0x29c]
test cl, cl
je 0x1000fa05
comiss xmm4, dword [edi]
jbe 0x1000fa05
mov byte [eax], 1
xor cl, cl
mov byte [eax + 0xa], cl
movss xmm0, dword [edi]
movss dword [edi + 0x14], xmm0
cmp byte [eax - 0x29c], 0
je 0x1000fa20
comiss xmm4, xmm0
jbe 0x1000fa19
movaps xmm0, xmm4
jmp 0x1000fa23
mov byte [eax], 0
test cl, cl
jne 0x1000f9e4
movss xmm0, dword [edi]
comiss xmm0, xmm4
jb 0x1000f9e4
mov cl, 1
jmp 0x1000f9e6
addss xmm0, dword [esi + 0xc]
jmp 0x1000fa23
movaps xmm0, xmm2
movss dword [edi], xmm0
cmp byte [eax], 0
mov byte [eax + 5], 0
je 0x1000fab8
movss xmm2, dword [esi + 0x17c0]
movss xmm0, dword [esi + 0x1c]
movaps xmm1, xmm2
subss xmm1, dword [edi - 0x28]
comiss xmm0, xmm1
jbe 0x1000fa88
movss xmm2, dword [esi + 0xd0]
movss xmm1, dword [esi + 0xd4]
subss xmm1, dword [edx + 4]
subss xmm2, dword [edx]
movss xmm0, dword [esi + 0x20]
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm1, xmm2
comiss xmm0, xmm1
jbe 0x1000fa85
mov byte [eax + 5], 1
movaps xmm2, xmm6
movss dword [edi - 0x28], xmm2
mov eax, dword [esi + 0xd0]
mov ecx, dword [esi + 0xd4]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
mov dword [edx + 4], ecx
mov dword [edx + 0x78], 0
mov dword [edx + 0x7c], 0
mov dword [edi + 0x50], 0
jmp 0x1000fb1c
cmp byte [eax - 0x29c], 0
je 0x1000fb24
movss xmm3, dword [esi + 0xd0]
subss xmm3, dword [edx]
movss xmm2, dword [esi + 0xd4]
subss xmm2, dword [edx + 4]
movss xmm0, dword [edx + 0x78]
movaps xmm1, xmm3
mulss xmm3, xmm3
andps xmm1, xmm5
maxss xmm0, xmm1
movaps xmm1, xmm2
andps xmm1, xmm5
mulss xmm2, xmm2
movss dword [edx + 0x78], xmm0
addss xmm3, xmm2
movss xmm0, dword [edx + 0x7c]
maxss xmm0, xmm1
movss dword [edx + 0x7c], xmm0
movss xmm0, dword [edi + 0x50]
maxss xmm0, xmm3
movss dword [edi + 0x50], xmm0
movss xmm2, dword [0x10082c9c]
inc eax
add edi, 4
add edx, 8
mov dword [ebp - 0x10], eax
sub dword [ebp - 0xc], 1
jne 0x1000f9d2
mov eax, dword [esi + 0x2984]
mov ecx, 0x78
movss xmm1, dword [esi + 0xc]
movaps xmm0, xmm1
mov edi, dword [ebp - 8]
subss xmm0, dword [esi + eax*4 + 0x27a4]
addss xmm0, dword [esi + 0x2988]
movss dword [esi + 0x2988], xmm0
movss dword [esi + eax*4 + 0x27a4], xmm1
movss xmm1, dword [esi + 0x2988]
divss xmm1, dword [0x10082c50]
mov eax, dword [esi + 0x2984]
inc eax
cdq
movss xmm0, dword [0x10082b80]
idiv ecx
movss dword [ebp - 0xc], xmm0
divss xmm0, xmm1
mov eax, dword [esi + 0x1840]
mov dword [esi + 0x2984], edx
movss dword [esi + 0x314], xmm0
test eax, eax
je 0x1000fc76
mov edx, dword [esi + 0x1824]
cmp dword [eax + 0x64], edx
jne 0x1000fc76
mov ecx, dword [edi + 0x1824]
lea eax, [edi + 0x1830]
cmp ecx, edx
jne 0x1000fbd9
mov byte [eax], 1
cmp byte [esi + 0xd8], 0
je 0x1000fca5
mov eax, dword [esi + 0x1840]
movss xmm2, dword [esi + 0xd0]
subss xmm2, dword [esi + 0x1834]
movss xmm1, dword [esi + 0xd4]
mov ecx, dword [eax + 0x23c]
subss xmm1, dword [esi + 0x1838]
movss xmm0, dword [ecx + 0xc]
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x1000fc2e
movss xmm0, dword [ecx + 0x10]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000fc53
test dword [ecx + 8], 0x100
jne 0x1000fc49
comiss xmm4, dword [edi + 0x2774]
jb 0x1000fc49
mov eax, dword [edi + 0x10]
mov dword [edi + 0x2774], eax
movss dword [ecx + 0xc], xmm2
movss dword [ecx + 0x10], xmm1
mov ecx, dword [esi + 0x1840]
call fcn.10018970
movss xmm0, dword [0x10082b80]
mov edi, dword [0x1008fb10]
mov dword [ebp - 8], edi
movss dword [ebp - 0xc], xmm0
jmp 0x1000fce3
mov eax, dword [esi + 0x183c]
test eax, eax
je 0x1000fcd9
mov edx, dword [esi + 0x1824]
cmp dword [eax + 0x64], edx
jne 0x1000fcd9
mov ecx, dword [edi + 0x1824]
cmp ecx, edx
jne 0x1000fc9c
mov byte [edi + 0x1830], 1
cmp byte [esi + 0xd8], 0
jne 0x1000fcd9
test ecx, ecx
setne al
mov byte [edi + 0x1831], al
test ecx, ecx
je 0x1000fcbe
mov dword [edi + 0x182c], 0
mov dword [edi + 0x183c], 0
mov byte [edi + 0x1832], 0
mov dword [edi + 0x1824], 0
mov dword [esi + 0x1840], 0
movss xmm0, dword [esi + 0x2774]
xorps xmm6, xmm6
comiss xmm0, xmm6
jbe 0x1000fd26
subss xmm0, dword [esi + 0xc]
comiss xmm6, xmm0
movss dword [esi + 0x2774], xmm0
jb 0x1000fd26
mov ecx, dword [esi + 0x14]
call fcn.100112a0
movss xmm0, dword [0x10082b80]
xorps xmm6, xmm6
mov edi, dword [0x1008fb10]
mov dword [ebp - 8], edi
movss dword [ebp - 0xc], xmm0
mov eax, dword [esi + 0x1840]
test eax, eax
je 0x1000fd4a
test dword [eax + 8], 0x200
jne 0x1000fd4a
mov dword [esi + 0x180c], eax
mov edx, dword [eax + 0x23c]
jmp 0x1000fdf6
mov ecx, dword [edi + 0x17d0]
sub ecx, 1
movss xmm7, dword [esi + 0xd0]
movss xmm5, dword [esi + 0xd4]
js 0x1000fde0
mov eax, dword [edi + 0x17d8]
lea edx, [eax + ecx*4]
mov eax, dword [edx]
cmp byte [eax + 0x8c], 0
je 0x1000fdd8
test dword [eax + 8], 0x200
jne 0x1000fdd8
movss xmm2, dword [edi + 0x1440]
movss xmm0, dword [eax + 0x1c0]
movaps xmm3, xmm2
movss xmm1, dword [edi + 0x1444]
subss xmm0, xmm2
movss xmm2, dword [eax + 0x1c4]
movaps xmm4, xmm1
addss xmm3, dword [eax + 0x1c8]
addss xmm4, dword [eax + 0x1cc]
subss xmm2, xmm1
comiss xmm7, xmm0
jb 0x1000fdd8
comiss xmm5, xmm2
jb 0x1000fdd8
comiss xmm3, xmm7
jbe 0x1000fdd8
comiss xmm4, xmm5
ja 0x1000fde2
sub edx, 4
sub ecx, 1
jns 0x1000fd72
xor eax, eax
mov dword [esi + 0x180c], eax
test eax, eax
je 0x1000fdf4
mov edx, dword [eax + 0x23c]
jmp 0x1000fdf6
xor edx, edx
mov dword [esi + 0x1810], edx
mov eax, dword [edi + 0x1868]
sub eax, 1
mov dword [ebp - 0x14], eax
js 0x1000fe3d
lea ecx, [eax + eax*8]
mov eax, dword [edi + 0x1870]
lea ecx, [ecx + 1]
lea ecx, [eax + ecx*4]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
nop
mov ecx, dword [ecx]
test ecx, ecx
je 0x1000fe2f
test dword [ecx + 8], 0x8000000
jne 0x1000fe90
mov ecx, dword [ebp - 0x10]
sub ecx, 0x24
sub eax, 1
mov dword [ebp - 0x10], ecx
jns 0x1000fe20
movss xmm7, dword [ebp - 0xc]
mov dword [ebp - 0x10], 0
mov dword [esi + 0x1910], 0
xor al, al
lea ecx, [esi + 0x383]
mov byte [ebp - 1], al
or edx, 0xffffffff
mov eax, 0xfffffc7d
xor edi, edi
sub eax, esi
mov dword [ebp - 0xc], eax
nop dword [eax]
cmp byte [ecx - 0xf], 0
je 0x1000fef7
cmp dword [esi + 0x180c], 0
jne 0x1000fef3
cmp dword [esi + 0x1868], 0
jne 0x1000fef3
xor al, al
jmp 0x1000fef5
movss xmm0, dword [esi + 0xc]
mulss xmm0, dword [0x10082bfc]
mov dword [ebp - 0x10], ecx
movss xmm7, dword [ebp - 0xc]
addss xmm0, dword [esi + 0x1910]
minss xmm0, xmm7
movss dword [esi + 0x1910], xmm0
test edx, edx
je 0x1000fe53
mov dword [ebp - 0x10], ecx
cmp dword [edx + 0x23c], ecx
je 0x1000fe53
mov eax, ecx
mov dword [ebp - 0x10], eax
nop dword [eax]
cmp edx, eax
je 0x1000fe53
mov edx, dword [edx + 0x238]
test edx, edx
jne 0x1000fed0
mov dword [esi + 0x180c], edx
mov dword [esi + 0x1810], edx
jmp 0x1000fe53
mov al, 1
mov byte [ecx], al
mov al, byte [ecx - 0x2ab]
or byte [ebp - 1], al
test al, al
je 0x1000ff21
cmp edx, 0xffffffff
je 0x1000ff1c
movss xmm0, dword [esi + edx*4 + 0x360]
comiss xmm0, dword [edi + esi + 0x360]
jbe 0x1000ff21
mov edx, dword [ebp - 0xc]
add edx, ecx
mov eax, dword [ebp - 0xc]
inc ecx
add eax, ecx
add edi, 4
cmp eax, 5
jl 0x1000fe70
mov edi, dword [ebp - 8]
cmp edx, 0xffffffff
je 0x1000ff49
cmp byte [edx + esi + 0x383], 0
jne 0x1000ff49
xor cl, cl
jmp 0x1000ff4b
mov cl, 1
mov eax, dword [esi + 0x298c]
cmp eax, 0xffffffff
je 0x1000ff5d
test eax, eax
setne al
jmp 0x1000ff80
test cl, cl
je 0x1000ff71
cmp dword [esi + 0x180c], 0
jne 0x1000ff7e
mov al, byte [ebp - 1]
test al, al
jne 0x1000ff7e
cmp dword [esi + 0x1868], 0
jne 0x1000ff7e
xor al, al
jmp 0x1000ff80
mov al, 1
mov byte [esi + 0x310], al
mov eax, dword [esi + 0x2990]
cmp eax, 0xffffffff
je 0x1000ff98
test eax, eax
setne al
jmp 0x1000ffad
cmp dword [esi + 0x1824], 0
jne 0x1000ffab
cmp dword [ebp - 0x10], 0
jne 0x1000ffab
xor al, al
jmp 0x1000ffad
mov al, 1
mov byte [esi + 0x311], al
xor eax, eax
mov edx, dword [esi + 0x2994]
cmp edx, 0xffffffff
je 0x1000ffc5
test edx, edx
setne al
cmp byte [esi + 0x198c], 0
mov byte [esi + 0x312], al
mov dword [esi + 0x1988], 0
mov dword [esi + 0x2994], 0xffffffff
mov dword [esi + 0x2990], 0xffffffff
mov dword [esi + 0x298c], 0xffffffff
mov dword [esi + 0x2764], 0x3f800000
mov dword [esi + 0x2768], 0x3f800000
je 0x1001001d
test byte [esi + 0x1990], 0x10
je 0x1001001d
mov al, 1
jmp 0x1001001f
xor al, al
test cl, cl
jne 0x1001003b
test al, al
jne 0x1001003b
mov dword [esi + 0x1810], 0
mov dword [esi + 0x180c], 0
mov ecx, dword [esi + 0x180c]
test ecx, ecx
je 0x1001006d
mov eax, dword [ecx + 4]
cmp dword [0x100d2090], eax
je 0x1001006d
movss xmm0, dword [esi + 0xe0]
movaps xmm4, xmm6
movss dword [0x1008ff64], xmm4
movaps xmm1, xmm0
mov dword [0x100d2090], eax
jmp 0x10010088
movss xmm0, dword [esi + 0xe0]
movaps xmm1, xmm0
test ecx, ecx
je 0x10010354
movss xmm4, dword [0x1008ff64]
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jnp 0x100100ec
cmp byte [ecx + 0x8f], 0
jne 0x100100ec
movss xmm3, dword [esi + 0x314]
divss xmm3, dword [0x10082c4c]
comiss xmm6, xmm0
mulss xmm3, dword [0x10082c20]
seta al
mov byte [ebp - 1], al
movaps xmm0, xmm3
cmp byte [0x100d2094], al
jne 0x100100ca
addss xmm0, xmm4
divss xmm0, xmm3
mov byte [0x100d2094], al
divss xmm3, xmm0
movaps xmm4, xmm3
movss dword [0x1008ff68], xmm3
movss dword [0x1008ff64], xmm4
jmp 0x100100fc
mov al, byte [0x100d2094]
movss xmm3, dword [0x1008ff68]
mov byte [ebp - 1], al
cmp byte [ecx + 0x8f], 0
jne 0x10010354
comiss xmm4, xmm6
ja 0x10010123
movss xmm0, dword [esi + 0xe4]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jnp 0x10010354
mov edx, dword [esi + 0x180c]
mov ecx, edx
mov eax, dword [edx + 8]
test eax, 0x1000000
je 0x10010155
and eax, 0x218
cmp eax, 0x10
jne 0x10010155
mov eax, dword [ecx + 0x238]
test eax, eax
je 0x10010155
mov ecx, eax
mov eax, dword [ecx + 8]
test eax, 0x1000000
jne 0x10010135
mov eax, dword [ecx + 8]
and eax, 0x210
ucomiss xmm4, xmm6
mov dword [ebp - 0x10], eax
lahf
test ah, 0x44
jnp 0x100102f5
cmp byte [esi + 0xe9], 0
je 0x1001024a
cmp byte [esi + 0x8c], 0
je 0x100102f5
movss xmm0, dword [esi + 0xe0]
mulss xmm0, dword [0x10082b40]
movss xmm2, dword [edx + 0x230]
movss xmm1, dword [0x10082b5c]
addss xmm0, xmm2
comiss xmm1, xmm0
ja 0x100101bc
movss xmm1, dword [0x10082bd0]
minss xmm1, xmm0
movaps xmm5, xmm1
movss dword [edx + 0x230], xmm1
divss xmm5, xmm2
movss xmm1, dword [esi + 0xd4]
subss xmm1, dword [edx + 0x18]
movss xmm4, dword [edx + 0x14]
movss xmm0, dword [esi + 0xd0]
shufps xmm5, xmm5, 0
subss xmm0, xmm4
subss xmm7, xmm5
movaps xmm3, xmm7
mulss xmm7, dword [edx + 0x20]
mulss xmm3, dword [edx + 0x1c]
mulss xmm1, xmm7
mulss xmm3, xmm0
divss xmm1, dword [edx + 0x20]
divss xmm3, dword [edx + 0x1c]
movaps xmm0, xmm1
addss xmm0, dword [edx + 0x18]
addss xmm1, dword [edx + 0x10]
addss xmm4, xmm3
addss xmm3, dword [edx + 0xc]
movss dword [edx + 0x18], xmm0
movups xmm0, xmmword [edx + 0x1c]
movss dword [edx + 0x14], xmm4
mulps xmm0, xmm5
movss dword [edx + 0xc], xmm3
movss dword [edx + 0x10], xmm1
movups xmmword [edx + 0x1c], xmm0
jmp 0x100102f5
cmp dword [ebp - 0x10], 0
jne 0x100102f5
cmp byte [ebp - 1], 0
movss xmm0, dword [ecx + 0x50]
subss xmm0, dword [ecx + 0x48]
movss xmm1, dword [ecx + 0x58]
movss xmm2, dword [edi + 0x1738]
addss xmm1, xmm1
mulss xmm2, dword [ecx + 0x230]
mulss xmm2, dword [0x10082bf8]
addss xmm0, xmm1
mulss xmm0, dword [0x10082b64]
minss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
je 0x100102aa
movss xmm2, dword [0x10082c9c]
jmp 0x100102ad
movaps xmm2, xmm7
divss xmm2, xmm3
movss xmm1, dword [ecx + 0x6c]
subss xmm4, xmm7
mulss xmm2, xmm0
movaps xmm0, xmm1
addss xmm1, dword [ecx + 0xf4]
comiss xmm6, xmm4
subss xmm0, xmm2
movss dword [0x1008ff64], xmm4
subss xmm1, xmm0
movss dword [ecx + 0x6c], xmm0
movss dword [ecx + 0xf4], xmm1
jbe 0x100102f5
mov dword [0x1008ff64], 0
movss xmm1, dword [esi + 0xe4]
ucomiss xmm1, xmm6
lahf
test ah, 0x44
jnp 0x10010354
cmp dword [ebp - 0x10], 0
jne 0x10010354
cmp byte [esi + 0xe9], 0
jne 0x10010354
test byte [edx + 8], 0x10
jne 0x10010354
movss xmm0, dword [edi + 0x1738]
mulss xmm0, dword [ecx + 0x230]
movss xmm2, dword [edx + 0x68]
mulss xmm0, xmm1
movaps xmm1, xmm2
addss xmm2, dword [edx + 0xf0]
subss xmm1, xmm0
subss xmm2, xmm1
movss dword [edx + 0x68], xmm1
movss dword [edx + 0xf0], xmm2
cmp dword [esi + 0x1824], 0
jne 0x1001039d
mov ecx, dword [esi + 0x1808]
test ecx, ecx
je 0x1001039d
cmp byte [ecx + 0x8c], 0
je 0x1001039d
mov eax, dword [edi + 0x28]
test eax, eax
js 0x1001039d
movss xmm0, dword [edi + eax*4 + 0x3ec]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x1001038d
mov al, 1
jmp 0x1001038f
xor al, al
test al, al
je 0x1001039d
mov dword [ecx + 0x258], 0
xor edx, edx
cmp dword [esi + 0x17d0], edx
je 0x100103e3
xor edi, edi
nop dword [eax]
mov eax, dword [esi + 0x17d8]
lea edi, [edi + 4]
inc edx
mov ecx, dword [edi + eax - 4]
mov al, byte [ecx + 0x8c]
mov byte [ecx + 0x8d], al
mov byte [ecx + 0x8c], 0
mov byte [ecx + 0x8e], 0
cmp edx, dword [esi + 0x17d0]
jne 0x100103b0
mov edi, dword [ebp - 8]
mov eax, dword [esi + 0x1808]
test eax, eax
je 0x1001042c
cmp byte [eax + 0x8d], 0
jne 0x1001042c
mov eax, dword [edi + 0x17d0]
sub eax, 1
js 0x1001042c
mov edx, dword [edi + 0x17d8]
mov ecx, dword [edx + eax*4]
test ecx, ecx
je 0x10010420
cmp byte [ecx + 0x8d], 0
je 0x10010420
test dword [ecx + 8], 0x1000000
je 0x10010427
sub eax, 1
jns 0x10010407
jmp 0x1001042c
call fcn.10018970
mov ecx, dword [esi + 0x17ec]
test ecx, ecx
jns 0x10010452
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
push ecx
lea ecx, [esi + 0x17e8]
call fcn.10023cc0
push 0
lea ecx, [esi + 0x1874]
mov dword [esi + 0x17e8], 0
call fcn.10023aa0
mov ecx, dword [esi + 0x1808]
call fcn.10012f90
mov eax, dword [0x1008fb10]
xor edx, edx
push 0
mov ecx, str.DebugDefault
mov dword [eax + 0x18ac], 0x43c80000
mov dword [eax + 0x18b0], 0x43c80000
mov dword [eax + 0x1884], 4
call fcn.10014ad0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret