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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1f8
mov eax, dword [0x1017c400]
xor eax, esp
mov dword [esp + 0x1f4], eax
mov eax, dword fs:[0x2c]
push esi
mov esi, ecx
mov dword [esp + 0x3c], eax
mov ecx, dword [0x101f04c8]
push edi
mov dword [esp + 0x34], esi
mov edi, dword [esi + 0x14]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc], eax
mov ecx, eax
mov eax, dword [0x101f87b8]
mov dword [esp + 0x24], 0
mov dword [esp + 0x38], edi
cmp eax, dword [ecx + 4]
jle 0x10085b78
push 0x101f87b8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b8], 0xffffffff
jne 0x10085b74
mov eax, dword [0x101f8450]
push 0x101f87b8
mov dword [0x101f87cc], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87cc]
mov eax, dword [edi + eax]
mov dword [esi + 0x80], eax
mov eax, dword [0x101f87b8]
cmp eax, dword [ecx + 4]
jle 0x10085bc4
push 0x101f87b8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b8], 0xffffffff
jne 0x10085bc0
mov eax, dword [0x101f8450]
push 0x101f87b8
mov dword [0x101f87cc], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87cc]
mov eax, dword [edi + eax]
mov dword [esi + 0x34e8], eax
mov eax, dword [0x101f879c]
cmp eax, dword [ecx + 4]
jle 0x10085c13
push 0x101f879c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f879c], 0xffffffff
jne 0x10085c0f
mov eax, dword [0x101f8450]
add eax, 4
push 0x101f879c
mov dword [0x101f87dc], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87dc]
movss xmm0, dword [edi + eax]
mov eax, dword [0x101f0ce8]
addss xmm0, dword [eax + 0x20]
mov byte [esi + 0x1a], 0
mov dword [esi + 0x20], edi
movss dword [esi + 0x34ec], xmm0
mov eax, dword [0x101f82d0]
cmp eax, dword [ecx + 4]
jle 0x10085c74
push 0x101f82d0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82d0], 0xffffffff
jne 0x10085c70
mov eax, dword [0x101f82c0]
push 0x101f82d0
mov dword [0x101f82a8], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f82a8]
mov eax, dword [edi + eax]
mov dword [esi + 0x24], eax
mov eax, dword [edi + 0xe4]
mov dword [esi + 0x28], eax
mov eax, dword [0x101f836c]
cmp eax, dword [ecx + 4]
jle 0x10085cc6
push 0x101f836c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f836c], 0xffffffff
jne 0x10085cc2
mov eax, dword [0x101f83d0]
push 0x101f836c
mov dword [0x101f8378], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8378]
mov eax, dword [edi + eax]
mov dword [esi + 0x40], eax
mov eax, dword [0x101f85b4]
cmp eax, dword [ecx + 4]
jle 0x10085d0f
push 0x101f85b4
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f85b4], 0xffffffff
jne 0x10085d0b
mov eax, dword [0x101f84e4]
push 0x101f85b4
mov dword [0x101f85b0], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f85b0]
mov eax, dword [edi + eax]
mov dword [esi + 0x68], eax
mov eax, dword [0x101f87b0]
cmp eax, dword [ecx + 4]
jle 0x10085d58
push 0x101f87b0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b0], 0xffffffff
jne 0x10085d54
mov eax, dword [0x101f8508]
push 0x101f87b0
mov dword [0x101f87d8], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87d8]
mov eax, dword [edi + eax]
mov dword [esi + 0x6c], eax
mov eax, dword [0x101f87b8]
cmp eax, dword [ecx + 4]
jle 0x10085da1
push 0x101f87b8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b8], 0xffffffff
jne 0x10085d9d
mov eax, dword [0x101f8450]
push 0x101f87b8
mov dword [0x101f87cc], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87cc]
mov eax, dword [edi + eax]
mov dword [esi + 0x78], eax
mov eax, dword [0x101f879c]
cmp eax, dword [ecx + 4]
jle 0x10085de9
push 0x101f879c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f879c], 0xffffffff
jne 0x10085de9
mov eax, dword [0x101f8450]
add eax, 4
push 0x101f879c
mov dword [0x101f87dc], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87dc]
mov ecx, edi
mov eax, dword [edi + eax]
mov dword [esi + 0x7c], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0xc]
movq xmm0, qword [eax]
movq qword [esi + 0xa8], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xb0], eax
mov eax, dword [0x101f834c]
cmp eax, dword [ecx + 4]
jle 0x10085e54
push 0x101f834c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f834c], 0xffffffff
jne 0x10085e50
mov eax, dword [0x101f8350]
push 0x101f834c
mov dword [0x101f8354], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8354]
movq xmm0, qword [eax + edi]
movq qword [esi + 0xb4], xmm0
mov eax, dword [eax + edi + 8]
mov dword [esi + 0xbc], eax
mov eax, dword [0x101f87d0]
cmp eax, dword [ecx + 4]
jle 0x10085eae
push 0x101f87d0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87d0], 0xffffffff
jne 0x10085eaa
mov eax, dword [0x101f84c8]
push 0x101f87d0
mov dword [0x101f8794], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8794]
movq xmm0, qword [eax + edi]
movq qword [esi + 0xc0], xmm0
mov eax, dword [eax + edi + 8]
mov dword [esi + 0xc8], eax
mov eax, dword [0x101f86f0]
cmp eax, dword [ecx + 4]
jle 0x10085f08
push 0x101f86f0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f86f0], 0xffffffff
jne 0x10085f04
mov eax, dword [0x101f84a4]
push 0x101f86f0
mov dword [0x101f8708], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8708]
movq xmm0, qword [eax + edi]
movq qword [esi + 0xe4], xmm0
mov eax, dword [eax + edi + 8]
mov dword [esi + 0xec], eax
mov eax, dword [0x101f8754]
cmp eax, dword [ecx + 4]
jle 0x10085f62
push 0x101f8754
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f8754], 0xffffffff
jne 0x10085f5e
mov eax, dword [0x101f84a0]
push 0x101f8754
mov dword [0x101f8758], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8758]
movq xmm0, qword [eax + edi]
movq qword [esi + 0xf0], xmm0
mov eax, dword [eax + edi + 8]
mov dword [esi + 0xf8], eax
mov eax, dword [0x101f8798]
cmp eax, dword [ecx + 4]
jle 0x10085fb8
push 0x101f8798
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f8798], 0xffffffff
jne 0x10085fb8
mov eax, dword [0x101f84d0]
push 0x101f8798
mov dword [0x101f87a8], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87a8]
mov ecx, edi
movq xmm0, qword [eax + edi]
movq qword [esi + 0xfc], xmm0
mov eax, dword [eax + edi + 8]
mov dword [esi + 0x104], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x2c]
call eax
lea ecx, [edi + 8]
movq xmm0, qword [eax]
movq qword [esi + 0x108], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x110], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [esp + 0xc]
mov byte [esi + 0x1b], al
mov eax, dword [0x101f87bc]
cmp eax, dword [ecx + 4]
jle 0x1008603d
push 0x101f87bc
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87bc], 0xffffffff
jne 0x1008603d
mov eax, dword [0x101f84b0]
push 0x101f87bc
mov dword [0x101f87ac], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87ac]
mov ecx, dword [0x101f0ce8]
movss xmm0, dword [esi + 0x7c]
mov eax, dword [eax + edi]
mov dword [esi + 0x1c], eax
divss xmm0, dword [ecx + 0x20]
addss xmm0, dword [0x10176174]
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x78]
mov dword [esi + 0x44], eax
divss xmm0, dword [ecx + 0x20]
mov ecx, edi
addss xmm0, dword [0x10176174]
cvttss2si eax, xmm0
mov dword [esi + 0x48], eax
call fcn.10049be0
mov dword [esp + 0x10], eax
xorps xmm0, xmm0
test eax, eax
je 0x100860df
mov eax, dword [esp + 0xc]
mov ecx, dword [0x101f85c8]
cmp ecx, dword [eax + 4]
jle 0x100860d1
push 0x101f85c8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f85c8], 0xffffffff
jne 0x100860d1
mov eax, dword [0x101f84dc]
push 0x101f85c8
mov dword [0x101f85c4], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f85c4]
mov ecx, dword [esp + 0x10]
movss xmm0, dword [eax + ecx]
movss xmm7, dword [esi + 0x78]
lea ecx, [esp + 0x10]
movss xmm6, dword [esi + 0x7c]
mov eax, dword [0x101f0ce8]
movss dword [esi + 0x70], xmm0
movaps xmm0, xmm7
subss xmm0, xmm6
movss xmm1, dword [0x101761b8]
mov dword [esp + 0x44], 0x11
mov dword [esp + 0x10], 0
divss xmm0, dword [eax + 0x20]
lea eax, [esp + 0x28]
addss xmm0, dword [0x10176174]
cvttss2si edx, xmm0
test edx, edx
mov dword [esp + 0x28], edx
cmovns ecx, eax
cmp edx, 0x11
lea eax, [esp + 0x44]
cmovle eax, ecx
mov ecx, dword [0x101f0ce8]
mov eax, dword [eax]
mov dword [esi + 0x2c], eax
movss dword [esp + 0x44], xmm1
movss xmm4, dword [esi + 0xb8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss xmm5, dword [esi + 0xbc]
mulss xmm0, dword [ecx + 0x20]
divss xmm1, xmm0
movss xmm0, dword [esi + 0xb4]
subss xmm0, dword [esi + 0xc0]
mulss xmm0, xmm1
movss dword [esi + 0xcc], xmm0
subss xmm4, dword [esi + 0xc4]
mulss xmm4, xmm1
movss dword [esi + 0xd0], xmm4
subss xmm5, dword [esi + 0xc8]
mulss xmm5, xmm1
movss dword [esi + 0xd4], xmm5
movq xmm0, qword [esi + 0xcc]
mov eax, dword [esi + 0xd4]
movq qword [esi + 0xd8], xmm0
mov dword [esi + 0xe0], eax
mov eax, dword [0x101f0d14]
test eax, eax
je 0x100861e1
mov eax, dword [eax + 0x16c]
mov dword [esi + 0x34], eax
movd xmm0, dword [esi + 0x34]
mov eax, dword [esi + 0x20]
mov dword [esi + 0x8c], 0
mov byte [esi + 0xa6], 0
addss xmm6, dword [ecx + 0x20]
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x88], xmm6
mulss xmm0, dword [ecx + 0x20]
subss xmm0, xmm7
movss dword [esi + 0x98], xmm0
mov ecx, dword [eax + 0x3874]
test ecx, ecx
je 0x10086267
cmp byte [esi + 0x1b], 0
jne 0x10086267
mov eax, dword [ecx + 0x80]
mov dword [esi + 0x3508], eax
mov eax, dword [ecx + 0x88]
mov dword [esi + 0x350c], eax
mov eax, dword [ecx + 0x90]
mov dword [esi + 0x3510], eax
mov eax, dword [ecx + 0x8c]
mov dword [esi + 0x3514], eax
mov eax, dword [ecx + 0xa0]
mov dword [esi + 0x3518], eax
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x100862b2
mov edx, dword [edi]
mov ecx, edi
mov edx, dword [edx + 8]
call edx
mov ecx, edi
movq xmm0, qword [eax]
movq qword [esi + 0x34f0], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x34f8], eax
mov eax, dword [edi]
mov eax, dword [eax + 4]
call eax
movq xmm0, qword [eax]
movq qword [esi + 0x34fc], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x3504], eax
movss xmm0, dword [esi + 0x78]
lea edi, [esi + 0x1a0c]
subss xmm0, dword [esi + 0x7c]
mov edx, dword [esp + 0x38]
mov ecx, 0xb6
mov eax, dword [0x101f8494]
movss dword [esi + 0x84], xmm0
mov esi, dword [edx + 0x2970]
rep movsd dword es:[edi], dword [esi]
movups xmm0, xmmword [eax + edx]
mov edi, dword [esp + 0x34]
movups xmmword [edi + 0x14c], xmm0
movups xmm0, xmmword [eax + edx + 0x10]
movups xmmword [edi + 0x15c], xmm0
movups xmm0, xmmword [eax + edx + 0x20]
movups xmmword [edi + 0x16c], xmm0
movups xmm0, xmmword [eax + edx + 0x30]
movups xmmword [edi + 0x17c], xmm0
movups xmm0, xmmword [eax + edx + 0x40]
movups xmmword [edi + 0x18c], xmm0
movups xmm0, xmmword [eax + edx + 0x50]
mov al, byte [edi + 0x24]
and al, 1
movups xmmword [edi + 0x19c], xmm0
mov byte [edi + 0xa4], al
mov esi, dword [edi + 0x14]
mov ecx, esi
mov dword [esp + 0x28], esi
call fcn.10049be0
test eax, eax
je 0x10086421
mov ecx, eax
call fcn.1004a220
mov dword [esp + 0x30], eax
test eax, eax
je 0x10086421
xor edi, edi
mov edx, dword [esi + 0x2970]
mov ecx, esi
add edx, edi
mov dword [esp + 0x38], edx
mov dword [edx + 0x30], esi
call fcn.10049c50
mov dword [edx + 8], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x10], eax
cmp eax, 2
jb 0x1008640e
movss xmm0, dword [edx + 0x20]
comiss xmm0, dword [0x1017608c]
jbe 0x1008640e
mov eax, dword [0x101f2048]
test eax, eax
je 0x100863d5
mov edx, dword [esp + 0x24]
or edx, 1
mov esi, edx
and esi, 0xfffffffd
test dl, 2
mov ecx, esi
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x28]
cmove ecx, edx
mov edx, ecx
mov dword [esp + 0x24], ecx
and edx, 0xfffffffe
mov dword [esp + 0x24], edx
add eax, 2
je 0x100863ee
mov dword [esp + 0x24], edx
jmp 0x100863f0
mov ecx, dword [esp + 0x24]
or ecx, 2
and ecx, 0xfffffffd
mov edx, ecx
and edx, 0xfffffffe
test cl, 1
cmove edx, ecx
mov dword [esp + 0x24], edx
xor eax, eax
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
push dword [esp + 0x10]
mov edx, dword [esi]
push dword [ecx + eax + 4]
mov ecx, esi
push dword [esp + 0x40]
mov eax, dword [edx + 0x3c4]
call eax
add edi, 0x38
cmp edi, 0x2d8
jl 0x10086361
mov edi, dword [esp + 0x34]
cmp dword [edi + 0x3530], 0
je 0x10086446
mov ecx, dword [edi + 0x3528]
mov eax, dword [edi + 0x3524]
dec ecx
and ecx, dword [edi + 0x352c]
mov eax, dword [eax + ecx*4]
mov dword [edi + 0x351c], eax
lea ecx, [edi + 0x3520]
call fcn.10087de0
mov ecx, dword [0x101f04c8]
mov esi, eax
mov eax, dword [esp + 0x40]
mov edi, dword [edi + 0x14]
mov dword [esp + 0x38], esi
mov dword [esp + 0x1c], edi
mov eax, dword [eax + ecx*4]
mov ecx, dword [0x101f87b8]
mov dword [esp + 0xc], eax
cmp ecx, dword [eax + 4]
jle 0x100864aa
push 0x101f87b8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b8], 0xffffffff
jne 0x100864aa
mov eax, dword [0x101f8450]
push 0x101f87b8
mov dword [0x101f87cc], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87cc]
mov ecx, dword [esp + 0xc]
mov eax, dword [edi + eax]
mov dword [esi + 0x68], eax
mov eax, dword [0x101f87b8]
cmp eax, dword [ecx + 4]
jle 0x100864f7
push 0x101f87b8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b8], 0xffffffff
jne 0x100864f3
mov eax, dword [0x101f8450]
push 0x101f87b8
mov dword [0x101f87cc], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87cc]
mov eax, dword [edi + eax]
mov dword [esi + 0x34d0], eax
mov eax, dword [0x101f879c]
cmp eax, dword [ecx + 4]
jle 0x10086546
push 0x101f879c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f879c], 0xffffffff
jne 0x10086542
mov eax, dword [0x101f8450]
add eax, 4
push 0x101f879c
mov dword [0x101f87dc], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87dc]
movss xmm0, dword [edi + eax]
mov eax, dword [0x101f0ce8]
addss xmm0, dword [eax + 0x20]
mov byte [esi + 2], 0
mov dword [esi + 8], edi
movss dword [esi + 0x34d4], xmm0
mov eax, dword [0x101f82d0]
cmp eax, dword [ecx + 4]
jle 0x100865a7
push 0x101f82d0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82d0], 0xffffffff
jne 0x100865a3
mov eax, dword [0x101f82c0]
push 0x101f82d0
mov dword [0x101f82a8], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f82a8]
mov eax, dword [edi + eax]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0xe4]
mov dword [esi + 0x10], eax
mov eax, dword [0x101f836c]
cmp eax, dword [ecx + 4]
jle 0x100865f9
push 0x101f836c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f836c], 0xffffffff
jne 0x100865f5
mov eax, dword [0x101f83d0]
push 0x101f836c
mov dword [0x101f8378], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8378]
mov eax, dword [edi + eax]
mov dword [esi + 0x28], eax
mov eax, dword [0x101f85b4]
cmp eax, dword [ecx + 4]
jle 0x10086642
push 0x101f85b4
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f85b4], 0xffffffff
jne 0x1008663e
mov eax, dword [0x101f84e4]
push 0x101f85b4
mov dword [0x101f85b0], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f85b0]
mov eax, dword [edi + eax]
mov dword [esi + 0x50], eax
mov eax, dword [0x101f87b0]
cmp eax, dword [ecx + 4]
jle 0x1008668b
push 0x101f87b0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b0], 0xffffffff
jne 0x10086687
mov eax, dword [0x101f8508]
push 0x101f87b0
mov dword [0x101f87d8], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87d8]
mov eax, dword [edi + eax]
mov dword [esi + 0x54], eax
mov eax, dword [0x101f87b8]
cmp eax, dword [ecx + 4]
jle 0x100866d4
push 0x101f87b8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b8], 0xffffffff
jne 0x100866d0
mov eax, dword [0x101f8450]
push 0x101f87b8
mov dword [0x101f87cc], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f87cc]
mov eax, dword [edi + eax]
mov dword [esi + 0x60], eax
mov eax, dword [0x101f879c]
cmp eax, dword [ecx + 4]
jle 0x1008671c
push 0x101f879c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f879c], 0xffffffff
jne 0x1008671c
mov eax, dword [0x101f8450]
add eax, 4
push 0x101f879c
mov dword [0x101f87dc], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87dc]
mov ecx, edi
mov eax, dword [edi + eax]
mov dword [esi + 0x64], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [esp + 0xc]
movq xmm0, qword [eax]
movq qword [esi + 0x90], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x98], eax
mov eax, dword [0x101f834c]
cmp eax, dword [ecx + 4]
jle 0x10086787
push 0x101f834c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f834c], 0xffffffff
jne 0x10086783
mov eax, dword [0x101f8350]
push 0x101f834c
mov dword [0x101f8354], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8354]
movq xmm0, qword [edi + eax]
movq qword [esi + 0x9c], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0xa4], eax
mov eax, dword [0x101f87d0]
cmp eax, dword [ecx + 4]
jle 0x100867e1
push 0x101f87d0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87d0], 0xffffffff
jne 0x100867dd
mov eax, dword [0x101f84c8]
push 0x101f87d0
mov dword [0x101f8794], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8794]
movq xmm0, qword [edi + eax]
movq qword [esi + 0xa8], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0xb0], eax
mov eax, dword [0x101f86f0]
cmp eax, dword [ecx + 4]
jle 0x1008683b
push 0x101f86f0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f86f0], 0xffffffff
jne 0x10086837
mov eax, dword [0x101f84a4]
push 0x101f86f0
mov dword [0x101f8708], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8708]
movq xmm0, qword [edi + eax]
movq qword [esi + 0xcc], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0xd4], eax
mov eax, dword [0x101f8754]
cmp eax, dword [ecx + 4]
jle 0x10086895
push 0x101f8754
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f8754], 0xffffffff
jne 0x10086891
mov eax, dword [0x101f84a0]
push 0x101f8754
mov dword [0x101f8758], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
mov eax, dword [0x101f8758]
movq xmm0, qword [edi + eax]
movq qword [esi + 0xd8], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0xe0], eax
mov eax, dword [0x101f8798]
cmp eax, dword [ecx + 4]
jle 0x100868eb
push 0x101f8798
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f8798], 0xffffffff
jne 0x100868eb
mov eax, dword [0x101f84d0]
push 0x101f8798
mov dword [0x101f87a8], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87a8]
mov ecx, edi
movq xmm0, qword [edi + eax]
movq qword [esi + 0xe4], xmm0
mov eax, dword [edi + eax + 8]
mov dword [esi + 0xec], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x2c]
call eax
lea ecx, [edi + 8]
movq xmm0, qword [eax]
movq qword [esi + 0xf0], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0xf8], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [esp + 0xc]
mov byte [esi + 3], al
mov eax, dword [0x101f87bc]
cmp eax, dword [ecx + 4]
jle 0x10086970
push 0x101f87bc
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87bc], 0xffffffff
jne 0x10086970
mov eax, dword [0x101f84b0]
push 0x101f87bc
mov dword [0x101f87ac], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f87ac]
mov ecx, dword [0x101f0ce8]
movss xmm0, dword [esi + 0x64]
mov eax, dword [edi + eax]
mov dword [esi + 4], eax
divss xmm0, dword [ecx + 0x20]
addss xmm0, dword [0x10176174]
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x60]
mov dword [esi + 0x2c], eax
divss xmm0, dword [ecx + 0x20]
mov ecx, edi
addss xmm0, dword [0x10176174]
cvttss2si eax, xmm0
mov dword [esi + 0x30], eax
call fcn.10049be0
mov dword [esp + 0x10], eax
test eax, eax
je 0x10086a11
mov eax, dword [esp + 0xc]
mov ecx, dword [0x101f85c8]
cmp ecx, dword [eax + 4]
jle 0x10086a01
push 0x101f85c8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f85c8], 0xffffffff
jne 0x10086a01
mov eax, dword [0x101f84dc]
push 0x101f85c8
mov dword [0x101f85c4], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f85c4]
mov ecx, dword [esp + 0x10]
movss xmm0, dword [ecx + eax]
jmp 0x10086a14
xorps xmm0, xmm0
movss xmm7, dword [esi + 0x60]
lea ecx, [esp + 0x10]
movss xmm6, dword [esi + 0x64]
mov eax, dword [0x101f0ce8]
movss dword [esi + 0x58], xmm0
movaps xmm0, xmm7
subss xmm0, xmm6
movss xmm1, dword [esp + 0x44]
mov dword [esp + 0x30], 0x11
mov dword [esp + 0x10], 0
divss xmm0, dword [eax + 0x20]
lea eax, [esp + 0x28]
addss xmm0, dword [0x10176174]
cvttss2si edx, xmm0
test edx, edx
mov dword [esp + 0x28], edx
cmovns ecx, eax
cmp edx, 0x11
lea eax, [esp + 0x30]
cmovle eax, ecx
mov ecx, dword [0x101f0ce8]
mov eax, dword [eax]
mov dword [esi + 0x14], eax
movss xmm4, dword [esi + 0xa0]
movss xmm5, dword [esi + 0xa4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [ecx + 0x20]
divss xmm1, xmm0
movss xmm0, dword [esi + 0x9c]
subss xmm0, dword [esi + 0xa8]
mulss xmm0, xmm1
movss dword [esi + 0xb4], xmm0
subss xmm4, dword [esi + 0xac]
mulss xmm4, xmm1
movss dword [esi + 0xb8], xmm4
subss xmm5, dword [esi + 0xb0]
mulss xmm5, xmm1
movss dword [esi + 0xbc], xmm5
movq xmm0, qword [esi + 0xb4]
mov eax, dword [esi + 0xbc]
movq qword [esi + 0xc0], xmm0
mov dword [esi + 0xc8], eax
mov eax, dword [0x101f0d14]
test eax, eax
je 0x10086b0e
mov eax, dword [eax + 0x16c]
mov dword [esi + 0x1c], eax
movd xmm0, dword [esi + 0x1c]
mov eax, dword [esi + 8]
mov dword [esi + 0x74], 0
mov byte [esi + 0x8e], 0
addss xmm6, dword [ecx + 0x20]
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x70], xmm6
mulss xmm0, dword [ecx + 0x20]
subss xmm0, xmm7
movss dword [esi + 0x80], xmm0
mov ecx, dword [eax + 0x3874]
test ecx, ecx
je 0x10086b8e
cmp byte [esi + 3], 0
jne 0x10086b8e
mov eax, dword [ecx + 0x80]
mov dword [esi + 0x34f0], eax
mov eax, dword [ecx + 0x88]
mov dword [esi + 0x34f4], eax
mov eax, dword [ecx + 0x90]
mov dword [esi + 0x34f8], eax
mov eax, dword [ecx + 0x8c]
mov dword [esi + 0x34fc], eax
mov eax, dword [ecx + 0xa0]
mov dword [esi + 0x3500], eax
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x10086bd9
mov edx, dword [edi]
mov ecx, edi
mov edx, dword [edx + 8]
call edx
mov ecx, edi
movq xmm0, qword [eax]
movq qword [esi + 0x34d8], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x34e0], eax
mov eax, dword [edi]
mov eax, dword [eax + 4]
call eax
movq xmm0, qword [eax]
movq qword [esi + 0x34e4], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 0x34ec], eax
movss xmm0, dword [esi + 0x60]
lea edi, [esi + 0x19f4]
subss xmm0, dword [esi + 0x64]
mov edx, dword [esp + 0x1c]
mov ecx, 0xb6
mov eax, dword [0x101f8494]
movss dword [esi + 0x6c], xmm0
mov esi, dword [edx + 0x2970]
rep movsd dword es:[edi], dword [esi]
movups xmm0, xmmword [edx + eax]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
movups xmmword [esi + 0x134], xmm0
movups xmm0, xmmword [edx + eax + 0x10]
movups xmmword [esi + 0x144], xmm0
movups xmm0, xmmword [edx + eax + 0x20]
movups xmmword [esi + 0x154], xmm0
movups xmm0, xmmword [edx + eax + 0x30]
movups xmmword [esi + 0x164], xmm0
movups xmm0, xmmword [edx + eax + 0x40]
movups xmmword [esi + 0x174], xmm0
movups xmm0, xmmword [edx + eax + 0x50]
mov al, byte [esi + 0xc]
and al, 1
mov byte [esi + 0x8c], al
movups xmmword [esi + 0x184], xmm0
mov ecx, dword [edi + 0x14]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x101f04c8]
movss xmm0, dword [0x10176340]
mov byte [esi + 3], al
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [0x101f0ce4]
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x30], xmm0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101f83fc]
cmp eax, dword [ecx + 4]
jle 0x10086cde
push 0x101f83fc
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f83fc], 0xffffffff
jne 0x10086cde
mov eax, dword [0x101f839c]
push 0x101f83fc
mov dword [0x101f8384], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f8384]
mov ecx, dword [esp + 0x1c]
push dword [ecx + eax]
mov ecx, dword [0x101f0ce4]
call dword [esp + 0x2c]
mov dword [esp + 0x28], eax
test eax, eax
je 0x10086d9c
mov ecx, dword [eax]
mov edx, dword [ecx + 0x6f8]
mov ecx, eax
call edx
mov edx, eax
mov dword [esp + 0xc], edx
test edx, edx
je 0x10086d9c
mov eax, dword [edi + 0x14]
mov esi, dword [esp + 0x40]
mov edi, dword [0x101f04c8]
mov ecx, dword [0x101f82cc]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + edi*4]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
cmp ecx, dword [eax + 4]
jle 0x10086d75
push 0x101f82cc
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82cc], 0xffffffff
jne 0x10086d71
mov eax, dword [0x101f82bc]
push 0x101f82cc
mov dword [0x101f829c], eax
call fcn.100bf252
add esp, 4
mov edx, dword [esp + 0xc]
mov eax, dword [0x101f829c]
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + eax], 0
je 0x10086d8e
movss xmm0, dword [edx + 0x130]
jmp 0x10086d96
movss xmm0, dword [edx + 0x12c]
movss dword [esp + 0x30], xmm0
push dword [edi + 0x351c]
mov edx, dword [edi + 0x14]
mov ecx, esi
call fcn.10085350
mov eax, dword [esi + 0x14]
add esp, 4
dec eax
cmp eax, 0x3f
ja 0x10087dae
mov eax, dword [0x101f80e0]
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x351c]
mov dword [esp + 0x20], eax
test eax, eax
je 0x10086f43
mov eax, dword [edi + 0x14]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10086f43
mov ecx, eax
call fcn.10049be0
mov ecx, dword [esp + 0x1c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul ecx, eax, 0x3540
add ecx, dword [esp + 0xc]
mov dword [esp + 0xc], ecx
je 0x10086f43
cmp dword [ecx + 0x3530], 0
je 0x10086f43
mov edx, dword [esp + 0x20]
mov eax, dword [0x101f0ce8]
mov esi, dword [esp + 0x38]
movss xmm0, dword [edx + 0x58]
mov dword [edx + 0x34cc], 0
divss xmm0, dword [eax + 0x20]
mov eax, dword [edx + 0x14]
add eax, dword [edx + 0x2c]
mov dword [esp + 0x20], eax
xor eax, eax
cmp dword [edx + 0x14], 1
addss xmm0, dword [0x10176174]
jle 0x10086eb2
mov eax, dword [edx + 0x30]
sub eax, dword [edx + 0x14]
mov esi, dword [esp + 0x20]
cmp esi, dword [edx + 0x30]
cvttss2si esi, xmm0
cmove eax, dword [edx + 0x2c]
cmp esi, eax
mov esi, dword [esp + 0x38]
jle 0x10086eb0
cvttss2si edi, xmm0
xor eax, eax
cmp edi, dword [edx + 0x30]
mov edi, dword [esp + 0x34]
jg 0x10086eb2
cvttss2si ecx, xmm0
mov dword [edx + 0x34cc], 1
mov eax, 1
cmp ecx, dword [edx + 0x30]
mov ecx, dword [esp + 0xc]
jne 0x10086eb2
mov dword [edx + 0x34cc], 2
mov eax, 2
jmp 0x10086eb2
xor eax, eax
cmp byte [edx + 0x18], 0
movss xmm1, dword [0x101762f0]
jne 0x10086f43
movss xmm0, dword [ecx + 0x10]
comiss xmm0, dword [edx + 0x60]
jae 0x10086f43
cmp eax, 1
jne 0x10086f43
mov eax, dword [esp + 0xc]
mov ecx, dword [ecx + 0x352c]
mov eax, dword [eax + 0x3530]
add eax, ecx
mov dword [esp + 0x1c], eax
cmp ecx, eax
je 0x10086f3b
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x3524]
mov eax, dword [eax + 0x3528]
dec eax
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0xc], eax
nop dword [eax + eax]
mov edi, dword [esp + 0x20]
and eax, ecx
mov eax, dword [edi + eax*4]
mov edi, dword [esp + 0x34]
cmp dword [eax + 0x34cc], 0
je 0x10086f33
mov eax, dword [esp + 0xc]
inc ecx
cmp ecx, dword [esp + 0x1c]
jne 0x10086f10
jmp 0x10086f3b
movss xmm1, dword [eax + 0xe4]
movss dword [edx + 0xe4], xmm1
mov eax, dword [edi + 0x351c]
xorps xmm3, xmm3
mov byte [esi + 0x8e], 0
movss xmm0, dword [esi + 0xb8]
movss xmm1, dword [esi + 0xb4]
mulss xmm1, xmm1
mov dword [esp + 0xc], eax
mulss xmm0, xmm0
movss xmm5, dword [esp + 0x30]
addss xmm1, xmm0
sqrtss xmm1, xmm1
comiss xmm1, xmm3
jbe 0x1008700b
movaps xmm0, xmm5
mulss xmm0, dword [0x10176154]
comiss xmm0, xmm1
jb 0x1008700b
movss xmm0, dword [esi + 0x1cb4]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10087007
movss xmm0, dword [esi + 0x1b64]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10087007
test byte [esi + 0xc], 1
mov eax, dword [esp + 0xc]
je 0x1008700b
mov byte [esi + 0x8e], 1
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xbc], 0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc8], 0
jmp 0x1008700b
mov eax, dword [esp + 0xc]
cmp byte [esi + 0x8e], 0
jne 0x10087580
movss xmm2, dword [0x101760b4]
movss xmm7, dword [0x10176160]
test eax, eax
je 0x100871e9
cmp dword [esi + 0x14], 1
jle 0x100871e9
mov edx, dword [edi + 0x351c]
movss xmm0, dword [esi + 0x1c84]
ucomiss xmm0, dword [edx + 0x1c84]
lahf
test ah, 0x44
jp 0x100871e9
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x3874]
cmp ecx, dword [eax + 0x64]
jne 0x100871e9
test byte [esi + 0xc], 1
je 0x100871ef
test byte [edx + 0xc], 1
je 0x100871e9
movss xmm6, dword [esi + 0xb4]
xorps xmm4, xmm4
movss xmm1, dword [esi + 0xb8]
movaps xmm0, xmm6
mulss xmm0, xmm6
mulss xmm1, xmm1
addss xmm0, xmm1
sqrtss xmm4, xmm0
movss xmm0, dword [esp + 0x10]
minss xmm4, xmm0
test ecx, ecx
je 0x100870bd
maxss xmm5, xmm2
jmp 0x100870c0
movaps xmm5, xmm0
movss xmm1, dword [esp + 0x44]
lea eax, [esp + 0x1c]
movaps xmm0, xmm1
mov dword [esp + 0x3c], 0x3f800000
subss xmm0, dword [esi + 0x1c7c]
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 0
comiss xmm0, xmm3
movss dword [esp + 0x1c], xmm0
cmovae ecx, eax
lea eax, [esp + 0x3c]
comiss xmm1, xmm0
cmovae eax, ecx
movss xmm0, dword [eax]
comiss xmm0, xmm3
movaps xmm2, xmm0
mulss xmm2, xmm7
addss xmm2, dword [0x1017617c]
mulss xmm2, xmm5
jbe 0x10087120
comiss xmm1, xmm0
ja 0x10087144
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1008712e
comiss xmm4, xmm2
ja 0x10087144
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100871e9
comiss xmm2, xmm4
jbe 0x100871e9
movaps xmm0, xmm1
divss xmm0, xmm4
push ecx
movaps xmm1, xmm0
mulss xmm0, dword [esi + 0xb8]
mulss xmm1, xmm6
mulss xmm0, xmm2
mulss xmm1, xmm2
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x40], xmm1
fld dword [esp + 0x40]
fstp dword [esp]
movss dword [esp + 0x18], xmm1
call fcn.10135733
add esp, 4
test ax, ax
jg 0x100871e9
fld dword [esp + 0x20]
push ecx
fstp dword [esp]
call fcn.10135733
add esp, 4
test ax, ax
jg 0x100871e9
movss xmm2, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x14]
movaps xmm1, xmm2
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
movss xmm0, dword [0x101763b0]
comiss xmm0, xmm1
jbe 0x100871e9
movss dword [esi + 0xb4], xmm3
movss dword [esi + 0xb8], xmm2
mov dword [esi + 0xbc], 0
test byte [esi + 0xc], 1
jne 0x100871ff
mov eax, dword [edi + 0x351c]
test eax, eax
je 0x10087209
test byte [eax + 0xc], 1
je 0x10087209
mov dword [esi + 0xbc], 0
fld dword [esi + 0xb4]
push ecx
fstp dword [esp]
call fcn.10135733
add esp, 4
test ax, ax
jg 0x1008724e
fld dword [esi + 0xb8]
push ecx
fstp dword [esp]
call fcn.10135733
add esp, 4
test ax, ax
jg 0x1008724e
fld dword [esi + 0xbc]
push ecx
fstp dword [esp]
call fcn.10135733
add esp, 4
test ax, ax
jle 0x1008726c
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xbc], 0
movss xmm0, dword [esi + 0x1c84]
xorps xmm3, xmm3
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jnp 0x10087291
movss xmm0, dword [esi + 0x1b6c]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x100872af
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xbc], 0
movss xmm0, dword [esi + 0x1b64]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x100872f8
movss xmm0, dword [0x101760a0]
comiss xmm0, dword [esi + 0x1b6c]
jbe 0x100872f8
cmp byte [esi + 0x8c], 0
je 0x100872f8
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 0
mov dword [esi + 0xbc], 0
cmp dword [esp + 0xc], 0
je 0x10087580
cmp dword [esi + 0x14], 1
jle 0x10087580
cmp byte [esi + 0x8e], 0
jne 0x10087580
mov edx, dword [edi + 0x351c]
movss xmm0, dword [esi + 0x1b6c]
ucomiss xmm0, dword [edx + 0x1c84]
lahf
test ah, 0x44
jp 0x10087580
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x3874]
cmp ecx, dword [eax + 0x64]
jne 0x10087580
test byte [esi + 0xc], 1
je 0x10087580
test byte [edx + 0xc], 1
je 0x10087580
mov eax, dword [esp + 0x40]
mov ecx, dword [0x101f04c8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101f82f8]
cmp eax, dword [ecx + 4]
jle 0x100873b1
push 0x101f82f8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82f8], 0xffffffff
jne 0x100873ae
mov eax, dword [0x101f82ec]
push 0x101f82f8
mov dword [0x101f82fc], eax
call fcn.100bf252
add esp, 4
xorps xmm3, xmm3
cmp dword [esp + 0x28], 0
xorps xmm4, xmm4
mov eax, dword [0x101f82fc]
mov ecx, dword [esp + 0x14]
movq xmm0, qword [eax + ecx]
movq qword [esp + 0x48], xmm0
movss xmm6, dword [esp + 0x4c]
movss xmm7, dword [esp + 0x48]
movaps xmm1, xmm6
movaps xmm0, xmm7
mulss xmm1, xmm6
mov eax, dword [eax + ecx + 8]
mulss xmm0, xmm7
mov dword [esp + 0x50], eax
addss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
sqrtss xmm4, xmm1
minss xmm4, xmm0
je 0x10087413
movss xmm5, dword [esp + 0x30]
maxss xmm5, dword [0x101760b4]
jmp 0x10087416
movaps xmm5, xmm0
movss xmm1, dword [esp + 0x44]
lea eax, [esp + 0x3c]
movaps xmm0, xmm1
mov dword [esp + 0x20], 0x3f800000
subss xmm0, dword [esi + 0x1c7c]
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], 0
comiss xmm0, xmm3
movss dword [esp + 0x3c], xmm0
cmovae ecx, eax
lea eax, [esp + 0x20]
comiss xmm1, xmm0
cmovae eax, ecx
movss xmm0, dword [eax]
comiss xmm0, xmm3
movaps xmm2, xmm0
mulss xmm2, dword [0x10176160]
addss xmm2, dword [0x1017617c]
mulss xmm2, xmm5
jbe 0x1008747a
comiss xmm1, xmm0
ja 0x1008749e
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x10087488
comiss xmm4, xmm2
ja 0x1008749e
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10087580
comiss xmm2, xmm4
jbe 0x10087580
divss xmm1, xmm4
push ecx
movaps xmm0, xmm1
mulss xmm1, xmm6
mulss xmm0, xmm7
mulss xmm1, xmm2
mulss xmm0, xmm2
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x40], xmm1
movss dword [esp + 0x18], xmm0
fld dword [esp + 0x18]
fstp dword [esp]
movss dword [esp + 0x24], xmm0
call fcn.10135733
add esp, 4
test ax, ax
jg 0x10087580
fld dword [esp + 0x3c]
push ecx
fstp dword [esp]
call fcn.10135733
add esp, 4
test ax, ax
jg 0x10087580
fld dword [esp + 0x50]
push ecx
fstp dword [esp]
call fcn.10135733
add esp, 4
test ax, ax
jg 0x10087580
movss xmm1, dword [esp + 0x20]
movss xmm0, dword [esp + 0x44]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [0x101763b0]
comiss xmm1, xmm0
jbe 0x10087580
mov eax, dword [esp + 0x40]
mov ecx, dword [0x101f04c8]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101f82f8]
cmp eax, dword [ecx + 4]
jle 0x10087580
push 0x101f82f8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82f8], 0xffffffff
jne 0x10087580
mov eax, dword [0x101f82ec]
push 0x101f82f8
mov dword [0x101f82fc], eax
call fcn.100bf252
add esp, 4
mov eax, dword [edi + 0x14]
mov ecx, dword [0x101f04c8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x101f82f8]
cmp eax, dword [ecx + 4]
jle 0x100875ce
push 0x101f82f8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82f8], 0xffffffff
jne 0x100875ce
mov eax, dword [0x101f82ec]
push 0x101f82f8
mov dword [0x101f82fc], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f82fc]
mov ecx, dword [esp + 0x14]
movq xmm0, qword [eax + ecx]
movq qword [esi + 0xc0], xmm0
mov eax, dword [eax + ecx + 8]
mov ecx, edi
mov dword [esi + 0xc8], eax
push dword [edi + 0x351c]
push esi
call fcn.10084770
mov ecx, dword [esp + 0x40]
mov edx, dword [0x101f04c8]
mov eax, dword [edi + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [0x101f82f8]
mov esi, dword [ecx + edx*4]
cmp eax, dword [esi + 4]
jle 0x1008764a
push 0x101f82f8
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82f8], 0xffffffff
jne 0x1008764a
mov eax, dword [0x101f82ec]
push 0x101f82f8
mov dword [0x101f82fc], eax
call fcn.100bf252
add esp, 4
mov eax, dword [edi + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [0x101f82d0]
cmp eax, dword [esi + 4]
jle 0x1008768b
push 0x101f82d0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f82d0], 0xffffffff
jne 0x1008768b
mov eax, dword [0x101f82c0]
push 0x101f82d0
mov dword [0x101f82a8], eax
call fcn.100bf252
add esp, 4
mov eax, dword [0x101f82a8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
mov dword [ecx + eax], edx
movss xmm0, dword [edi + 0x40]
mov eax, dword [0x101f836c]
movss dword [esp + 0x10], xmm0
cmp eax, dword [esi + 4]
jle 0x100876ea
push 0x101f836c
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f836c], 0xffffffff
jne 0x100876e0
mov eax, dword [0x101f83d0]
push 0x101f836c
mov dword [0x101f8378], eax
call fcn.100bf252
add esp, 4
mov ecx, dword [esp + 0xc]
movss xmm0, dword [esp + 0x10]
mov eax, dword [0x101f8378]
movss dword [ecx + eax], xmm0
movss xmm0, dword [edi + 0x1c]
mov eax, dword [0x101f87bc]
movss dword [esp + 0x10], xmm0
cmp eax, dword [esi + 4]
jle 0x1008773f
push 0x101f87bc
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87bc], 0xffffffff
jne 0x10087739
mov eax, dword [0x101f84b0]
push 0x101f87bc
mov dword [0x101f87ac], eax
call fcn.100bf252
add esp, 4
movss xmm0, dword [esp + 0x10]
mov eax, dword [0x101f87ac]
mov ecx, 0xb6
mov esi, dword [esp + 0xc]
mov edx, dword [0x101f04c8]
movss dword [eax + esi], xmm0
lea esi, [edi + 0x1a0c]
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x2970]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov eax, dword [0x101f85b4]
mov edi, dword [ecx + edx*4]
movss xmm0, dword [esi + 0x68]
movss dword [esp + 0x10], xmm0
cmp eax, dword [edi + 4]
jle 0x100877c0
push 0x101f85b4
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f85b4], 0xffffffff
jne 0x100877ba
mov eax, dword [0x101f84e4]
push 0x101f85b4
mov dword [0x101f85b0], eax
call fcn.100bf252
add esp, 4
movss xmm0, dword [esp + 0x10]
mov eax, dword [0x101f85b0]
mov ecx, dword [esp + 0xc]
movss dword [ecx + eax], xmm0
movss xmm0, dword [esi + 0x6c]
mov eax, dword [0x101f87b0]
movss dword [esp + 0x10], xmm0
cmp eax, dword [edi + 4]
jle 0x10087819
push 0x101f87b0
call fcn.100bf2a3
add esp, 4
cmp dword [0x101f87b0], 0xffffffff
jne 0x10087813
mov eax, dword [0x101f8508]
push 0x101f87b0
mov dword [0x101f87d8], eax
call fcn.100bf252
add esp, 4
movss xmm0, dword [esp + 0x10]
mov eax, dword [0x101f87d8]
mov edi, dword [esp + 0xc]
mov ecx, edi
movss dword [edi + eax], xmm0
lea eax, [esi + 0xb4]
push eax
call dword [0x101f1a08]
mov eax, dword [0x101f0ce8]
mov edi, dword [esp + 0x38]
movss xmm1, dword [esi + 0x10]
movss xmm0, dword [eax + 0x20]
mulss xmm0, dword [0x10176268]
addss xmm0, dword [edi + 0x60]
comiss xmm1, xmm0
jbe 0x10087865
mov dword [esi + 0x10], 0
xorps xmm1, xmm1
comiss xmm1, dword [edi + 0x60]
jb 0x1008786f
mov byte [edi + 2], 1
mov eax, dword [0x101f80e0]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x351c]
mov dword [esp + 0x3c], eax
test ecx, ecx
je 0x10087a1d
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x3540
add eax, dword [esp + 0x14]
je 0x10087a1d
mov esi, dword [eax + 0x3530]
cmp esi, 2
jbe 0x10087a1d
mov edx, dword [eax + 0x3528]
mov ecx, dword [eax + 0x352c]
mov eax, dword [eax + 0x3524]
mov dword [esp + 0x10], eax
lea eax, [edx - 1]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x10]
and eax, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [edx + eax*4]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10087a1d
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov byte [esp + 0x2f], 1
test eax, eax
je 0x10087929
cmp byte [eax + 2], 0
je 0x10087929
cmp byte [edi + 2], 0
je 0x10087929
test byte [eax + 0xc], 1
je 0x10087922
test byte [edi + 0xc], 1
jne 0x10087929
mov byte [esp + 0x1b], 1
jmp 0x1008792e
mov byte [esp + 0x1b], 0
mov edx, 2
cmp esi, edx
jbe 0x10087dcd
mov eax, dword [esp + 0x14]
add ecx, edx
dec eax
and ecx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x10087979
cmp byte [eax + 2], 0
jne 0x10087979
cmp byte [esp + 0x2f], 0
je 0x1008798a
movq xmm0, qword [eax + 0x9c]
mov eax, dword [eax + 0xa4]
movq qword [esp + 0x48], xmm0
mov dword [esp + 0x50], eax
mov byte [esp + 0x2f], 0
inc edx
mov eax, esi
cmp edx, eax
jae 0x10087a1d
mov ecx, dword [esp + 0x20]
jmp 0x10087933
movss xmm0, dword [eax + 0x9c]
movss xmm1, dword [eax + 0xa0]
subss xmm1, dword [esp + 0x4c]
subss xmm0, dword [esp + 0x48]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm1, dword [0x10176390]
ja 0x10087a19
cmp byte [esp + 0x1b], 0
je 0x10087a1d
comiss xmm1, dword [0x1017638c]
ja 0x10087a19
movss xmm1, dword [eax + 0xb8]
movss xmm0, dword [eax + 0xb4]
movss xmm2, dword [0x101763a0]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, xmm2
ja 0x10087a19
mov eax, dword [esp + 0x1c]
movss xmm1, dword [eax + 0xb8]
movss xmm0, dword [eax + 0xb4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
comiss xmm0, xmm2
jbe 0x10087a1d
mov al, 1
jmp 0x10087a1f
xor al, al
mov byte [edi + 0x84], al
mov eax, dword [esp + 0x34]
mov esi, dword [0x101f80e0]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 8]
add ecx, 8
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x3540
add eax, esi
mov dword [esp + 0x10], eax
je 0x10087aaa
mov esi, dword [eax + 0x3530]
cmp esi, 2
jb 0x10087aaa
cmp byte [0x101eab05], 0
je 0x10087aaa
mov edx, 2
cmp esi, edx
jbe 0x10087a9d
cmp esi, edx
jbe 0x10087dcd
mov ecx, dword [eax + 0x352c]
mov eax, dword [eax + 0x3528]
add ecx, edx
dec eax
and ecx, eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3524]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 2], 0
je 0x10087aa2
mov eax, dword [esp + 0x10]
inc edx
cmp edx, esi
jb 0x10087a68
mov ecx, dword [edi + 0x14]
jmp 0x10087aac
mov ecx, dword [edi + 0x1c]
sub ecx, dword [eax + 0x1c]
jmp 0x10087aac
xor ecx, ecx
mov esi, dword [esp + 0x34]
lea eax, [edi + 0x60]
mov dword [edi + 0x88], ecx
lea ecx, [esi + 0x10]
movss xmm0, dword [eax]
comiss xmm0, dword [ecx]
cmova ecx, eax
movss xmm0, dword [ecx]
movss dword [esi + 0x10], xmm0
movss dword [edi + 0x68], xmm0
cmp byte [esi + 4], 0
jne 0x10087d65
mov esi, dword [esi + 0x14]
lea eax, [esp + 0xb0]
push 0x80
xorps xmm0, xmm0
push 0
push eax
movlpd qword [esp + 0xac], xmm0
movq qword [esp + 0xb4], xmm0
call fcn.1011de80
add esp, 0xc
mov dword [esp + 0x130], 0
xorps xmm0, xmm0
mov dword [esp + 0x144], 0
lea eax, [esp + 0x15c]
mov dword [esp + 0x158], 0
movups xmmword [esp + 0x134], xmm0
push 0x80
push 0
push eax
movups xmmword [esp + 0x154], xmm0
call fcn.1011de80
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
add esp, 0xc
mov word [esp + 0x1dc], 0
xorps xmm0, xmm0
mov byte [esp + 0x1f0], 0
movups xmmword [esp + 0x1e0], xmm0
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101f0d58]
lea esi, [esp + 0xa0]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
or dword [esp + 0x24], 8
lea ecx, [esp + 0xb0]
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
movaps xmmword [esp + 0x60], xmm0
lea edx, [ecx + 1]
mov dword [esp + 0x74], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10087bc0
sub ecx, edx
lea eax, [esp + 0xb0]
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.100369f0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x4c]
call fcn.10034fc0
mov ecx, dword [esp + 0x74]
cmp ecx, 0xf
jbe 0x10087c1f
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10087c15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10087dd2
push ecx
push edx
call fcn.100bf656
add esp, 8
test byte [esp + 0x24], 4
je 0x10087c62
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xf
jbe 0x10087c62
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10087c58
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10087dd2
push ecx
push edx
call fcn.100bf656
add esp, 8
mov ecx, dword [esp + 0x58]
cmp ecx, 0x14
jbe 0x10087cb2
cmp dword [esp + 0x5c], 0xf
lea esi, [ecx - 0x14]
lea edx, [esp + 0x48]
cmova edx, dword [esp + 0x48]
sub ecx, esi
add edx, 0x14
mov dword [esp + 0x14], ecx
add ecx, 0xffffffed
push ecx
lea eax, [edx + esi]
push eax
push edx
call fcn.1011d900
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x54]
add esp, 0xc
mov dword [esp + 0x58], eax
push 3
push 0x10169998
call fcn.10035b70
mov ecx, dword [esp + 0x58]
cmp dword [esp + 0x5c], 0xf
lea edx, [esp + 0x48]
push ecx
cmova edx, dword [esp + 0x4c]
mov ecx, 0x101effe0
call fcn.100372c0
add esp, 4
mov edx, str.s_information:
mov ecx, eax
call fcn.10036270
push eax
call fcn.1005fc20
mov ecx, dword [esp + 0x60]
add esp, 4
cmp ecx, 0xf
jbe 0x10087d19
mov edx, dword [esp + 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10087d0f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10087dd7
push ecx
push edx
call fcn.100bf656
add esp, 8
mov edx, str.highest_simtime:
mov ecx, 0x101effe0
call fcn.10036270
mov esi, dword [esp + 0x34]
mov ecx, eax
movss xmm1, dword [esi + 0x10]
call fcn.10088c50
push eax
call fcn.1005fc20
add esp, 4
mov edx, str.simtime:
mov ecx, 0x101effe0
call fcn.10036270
movss xmm1, dword [edi + 0x60]
mov ecx, eax
call fcn.10088c50
push eax
call fcn.1005fc20
add esp, 4
cmp byte [esi + 4], 0
mov eax, 2
mov edi, dword [0x101eaab8]
cmovne edi, eax
cmp dword [esi + 0x3530], edi
jb 0x10087db9
lea eax, [esi + 0x3520]
mov ecx, eax
call fcn.1005e6c0
lea eax, [esi + 0x3520]
cmp dword [esi + 0x3530], edi
jae 0x10087d85
pop edi
pop esi
mov ecx, dword [esp + 0x1f4]
xor ecx, esp
call fcn.100bf244
mov esp, ebp
pop ebp
ret
lea ecx, [edi + 0x3520]
call fcn.1005e6c0
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
xor ecx, esp
call fcn.100bf244
mov esp, ebp
pop ebp
ret
call fcn.10089900
call fcn.1012a37e
call fcn.1012a37e
int3