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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0x174
mov ebx, dword [ebp + 0x20]
movsd xmm0, qword [0x101f22c8]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x10c], edx
mov edx, dword [ebp + 0x3c]
movsd qword [edx + 8], xmm0
movsd qword [edx], xmm0
inc dword [0x10219744]
cmp dword [ebp + 0x1c], 0
mov dword [esp + 0xb4], eax
je 0x10131661
mov edi, dword [ebp + 0x1c]
test ebx, ebx
pxor xmm0, xmm0
movsd qword [esp + 0x60], xmm0
jle 0x10130551
movsd xmm0, qword [esp + 0x60]
xor esi, esi
mov eax, ebx
mov ebx, dword [ebp + 0x14]
comisd xmm0, xmmword [edi + esi*8]
jb 0x10130544
lea edx, [edi + esi*8]
push edx
push dword [ebx + esi*4]
mov ecx, dword [esp + 0x130]
push dword [ecx + esi*4]
movsd qword [esp + 0x6c], xmm0
call fcn.100b0a90
mov eax, dword [ebp + 0x20]
movsd xmm0, qword [esp + 0x6c]
add esp, 0xc
inc esi
cmp esi, eax
jl 0x10130515
movsd qword [esp + 0x60], xmm0
mov ebx, eax
mov ecx, dword [esp + 0x10c]
mov esi, dword [ecx]
mov edx, dword [ecx + 0x10]
movsd xmm0, qword [ecx + 8]
mov ecx, dword [0x10219190]
movsd qword [esp + 8], xmm0
mov dword [esp], esi
mov eax, 1
mov dword [esp + 4], edx
imul edx, esi, 0xa10
cmp dword [edx + ecx + 0x9fc], 0
lea esi, [esp + 0xf0]
mov edx, 0x1000
cmove edx, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edx
xor edx, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
call fcn.100dfc50
push 4
push ebx
call fcn.101beb7a
mov dword [esp + 0x10c], eax
push 4
push ebx
call fcn.101beb7a
mov dword [esp + 0x144], eax
push 4
push ebx
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x108], eax
xor edx, edx
test ebx, ebx
jle 0x101309ff
xor esi, esi
mov dword [esp + 0x5c], edx
mov dword [esp + 0x120], edi
mov edx, dword [ebp + 0x14]
lea eax, [esp + 0xc0]
push eax
push dword [edx + esi*4]
mov ecx, dword [esp + 0x130]
push dword [ecx + esi*4]
call fcn.100ae040
add esp, 0xc
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc8]
mov ecx, dword [ecx + esi*4]
shl edx, 4
mov edi, dword [esp + 0xcc]
movsd xmm1, qword [ecx + edx]
mov edx, dword [0x1021f988]
shl eax, 4
subsd xmm1, qword [ecx + eax]
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + esi*4]
shl ebx, 4
movsd xmm0, qword [ecx + ebx + 8]
shl edi, 4
subsd xmm0, qword [ecx + edi + 8]
cmp eax, edx
minsd xmm1, xmm0
divsd xmm1, qword [0x101f22d0]
movsd qword [esp + 0x68], xmm1
jle 0x10130768
cmp dword [ebp + 0x18], 0
je 0x101306a1
mov ebx, dword [ebp + 0x18]
mov ebx, dword [ebx + esi*4]
jmp 0x101306a3
xor ebx, ebx
movsd xmm2, qword [0x101f22c8]
mov edi, dword [0x10219190]
movsd xmm1, qword [esp + 0x68]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x4c], xmm2
mov dword [esp], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x40], 1
mov dword [esp + 4], ebx
imul ebx, dword [ecx], 0xa10
movsd xmm0, qword [ebx + edi + 0x48]
mulsd xmm0, qword [0x101f22d8]
movsd qword [esp + 0x20], xmm0
mov dword [esp + 8], eax
mov dword [esp + 0x54], 7
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
lea ecx, [esp + 0xf8]
mov dword [esp + 0x30], ecx
lea ebx, [esp + 0xfc]
mov dword [esp + 0x34], ebx
lea edi, [esp + 0x100]
mov dword [esp + 0x38], edi
lea ecx, [esp + 0xe8]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
call fcn.100b6020
movsd xmm0, qword [esp + 0xe8]
mov ebx, dword [esp + 0x100]
mov edx, dword [esp + 0xfc]
jmp 0x101307fd
shl eax, 4
push eax
call fcn.101bcde0
mov edx, dword [ebp + 0x14]
mov dword [esp + 0xfc], eax
mov ecx, dword [edx + esi*4]
shl ecx, 4
push ecx
mov ebx, dword [esp + 0x130]
push dword [ebx + esi*4]
push eax
call fcn.101d7590
add esp, 0x10
cmp dword [ebp + 0x18], 0
mov eax, dword [ebp + 0x14]
mov ebx, dword [eax + esi*4]
mov dword [esp + 0x100], ebx
je 0x101307e1
push 8
push ebx
call fcn.101beb7a
mov edx, dword [esp + 0x108]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x104], eax
shl edx, 3
push edx
push dword [ecx + esi*4]
push eax
call fcn.101d7590
add esp, 0x14
mov ebx, dword [esp + 0x100]
mov edx, dword [esp + 0xfc]
jmp 0x101307ee
mov dword [esp + 0xfc], 0
xor edx, edx
movsd xmm0, qword [esp + 0x60]
movsd qword [esp + 0xe8], xmm0
mov ecx, dword [0x10219190]
movsd xmm4, qword [esp + 0xf0]
mov eax, dword [esp + 0xc4]
mov edi, dword [esp + 0x128]
mov edi, dword [edi + esi*4]
movsd xmm1, qword [0x101f22e0]
mov dword [esp + 0x70], edi
shl eax, 4
movsd xmm5, qword [eax + edi]
imul edi, dword [0x1022002c], 0x168
addsd xmm1, xmm5
mov eax, dword [esp + 0x10c]
imul eax, dword [eax], 0xa10
movsd xmm3, qword [eax + ecx + 0x78]
mov dword [esp + 0x74], eax
mov eax, dword [0x10220028]
movsd xmm2, qword [edi + eax - 0x48]
maxsd xmm2, qword [edi + eax - 0x40]
mov edi, dword [esp + 0x120]
movsd xmm6, qword [edi + esi*8]
subsd xmm1, xmm3
addsd xmm1, xmm4
comisd xmm1, xmm2
jbe 0x101308cf
mov eax, dword [esp + 0xc8]
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x70]
subsd xmm6, xmm0
shl eax, 4
movsd xmm0, qword [ecx + eax + 8]
shl edi, 4
subsd xmm0, qword [ecx + edi + 8]
mov ecx, dword [esp + 0x58]
subsd xmm5, xmm2
subsd xmm5, xmm3
addsd xmm5, xmm4
mulsd xmm0, xmm5
subsd xmm6, xmm0
mulsd xmm6, qword [0x101f22e8]
jmp 0x101308db
mulsd xmm6, qword [0x101f22e8]
subsd xmm6, xmm0
comisd xmm6, xmmword [esp + 0x60]
ja 0x10130915
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x104]
mov edi, dword [esp + 0x108]
mov dword [ecx + esi*4], eax
test edx, edx
mov dword [edi + esi*4], ebx
je 0x1013106b
mov eax, dword [esp + 0x134]
mov dword [eax + esi*4], edx
jmp 0x101309e3
mov edi, dword [esp + 0xf8]
movsd xmm1, qword [esp + 0x68]
movsd xmm2, qword [0x101f22c8]
movsd qword [esp + 0x18], xmm6
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x4c], xmm2
xor eax, eax
mov dword [esp], edi
mov dword [esp + 0x40], 1
mov dword [esp + 4], edx
mov edx, dword [esp + 0x74]
movsd xmm0, qword [edx + ecx + 0x48]
mulsd xmm0, qword [0x101f22d8]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x134]
movsd qword [esp + 0x20], xmm0
mov dword [esp + 0x54], 7
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ebx, [ecx + esi*4]
lea ecx, [edx + esi*4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x34], ecx
lea edx, [esp + 0xe8]
lea edi, [ebx + esi*4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
call fcn.100b6020
push dword [esp + 0xf8]
call fcn.101bceaa
pop ecx
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x101309de
push eax
call fcn.101bceaa
pop ecx
mov eax, ebx
mov ebx, dword [eax + esi*4]
add dword [esp + 0x5c], ebx
inc esi
cmp esi, dword [ebp + 0x20]
jl 0x10130605
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x120]
mov ebx, dword [ebp + 0x20]
push 0x18
push edx
call fcn.101beb7a
add esp, 8
mov dword [esp + 0x124], eax
xor edx, edx
test ebx, ebx
jle 0x10130c0e
mov ecx, dword [0x10219190]
movsd xmm0, qword [esp + 0xf0]
movsd xmm2, qword [0x1021f990]
divsd xmm2, qword [0x101f22f8]
mulsd xmm2, qword [0x101f22f0]
movsd xmm5, qword [0x101f2348]
movsd xmm3, qword [0x101f22d8]
movsd xmm1, qword [0x101f2308]
movsd xmm4, qword [esp + 0x60]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x68], edx
mov dword [esp + 0x120], edi
xor eax, eax
cmp dword [ecx + eax*4], 0
jle 0x10130bec
movsd xmm3, qword [0x1021fbc8]
maxsd xmm3, qword [0x1021fbc0]
mov edx, dword [esp + 0x10c]
imul edx, dword [edx], 0xa10
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x104]
mov edi, dword [edi + eax*4]
movsd qword [esp + 0x58], xmm0
movaps xmm6, xmm0
subsd xmm6, qword [edx + esi + 0x78]
mov esi, dword [ecx + eax*4]
mov ecx, dword [esp + 0x68]
xor ebx, ebx
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x78]
mov esi, ebx
shl esi, 4
movsd xmm0, qword [edx + esi]
addsd xmm0, xmm6
comisd xmm3, xmm0
jbe 0x10130bd0
mov edx, dword [esp + 0x134]
mov esi, dword [edx + eax*4]
movsd xmm0, qword [esi + ebx*8]
comisd xmm2, xmm0
jbe 0x10130bd0
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0x6c]
movsd xmm7, qword [0x101f2300]
lea edx, [ecx + ecx*2]
movsd qword [esi + edx*8], xmm0
mov esi, dword [esp + 0x70]
movsd xmm0, qword [edi + esi + 0x48]
mulsd xmm7, xmm0
mov edi, dword [esp + 0x120]
movsd xmm1, qword [edi + eax*8]
comisd xmm7, xmm1
jbe 0x10130b50
mov esi, dword [esp + 0x124]
movsd qword [esi + edx*8 + 8], xmm4
jmp 0x10130bc7
movaps xmm7, xmm0
mulsd xmm7, qword [0x101f22d8]
comisd xmm7, xmm1
jbe 0x10130b70
mov esi, dword [esp + 0x124]
movsd qword [esi + edx*8 + 8], xmm5
jmp 0x10130bc7
comisd xmm0, xmm1
jbe 0x10130b8d
movsd xmm0, qword [0x101f2308]
mov esi, dword [esp + 0x124]
movsd qword [esi + edx*8 + 8], xmm0
jmp 0x10130bc7
mulsd xmm0, qword [0x101f2308]
comisd xmm0, xmm1
jbe 0x10130bb2
movsd xmm0, qword [0x101f2318]
mov esi, dword [esp + 0x124]
movsd qword [esi + edx*8 + 8], xmm0
jmp 0x10130bc7
movsd xmm0, qword [0x101f2310]
mov esi, dword [esp + 0x124]
movsd qword [esi + edx*8 + 8], xmm0
mov dword [esi + edx*8 + 0x10], eax
mov dword [esi + edx*8 + 0x14], ebx
inc ecx
inc ebx
cmp ebx, dword [esp + 0x74]
jl 0x10130ad1
movsd xmm0, qword [esp + 0x58]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x108]
inc eax
cmp eax, dword [ebp + 0x20]
jl 0x10130a78
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x120]
mov ebx, dword [ebp + 0x20]
movsd qword [esp + 0x60], xmm4
test edx, edx
jne 0x10130c15
mov esi, 1
jmp 0x10130c36
push 0x1012a720
push 0x18
push edx
push dword [esp + 0x130]
mov dword [esp + 0x78], edx
call fcn.101bec80
mov edx, dword [esp + 0x78]
add esp, 0x10
xor esi, esi
mov dword [esp + 0x68], edx
call fcn.100ed480
mov edx, dword [esp + 0x68]
fstp qword [esp + 0xa8]
movsd xmm2, qword [esp + 0xa8]
comisd xmm2, xmmword [esp + 0x60]
movsd xmm1, qword [0x101f2320]
mov ecx, dword [esp + 0x124]
movsd xmm3, qword [ecx]
divsd xmm3, xmm1
mulsd xmm3, qword [0x101f2328]
movsd qword [esp + 0xe8], xmm2
jb 0x10130caf
movsd xmm0, qword [0x101f2330]
movsd xmm5, qword [esp + 0x60]
mulsd xmm3, xmm1
movsd xmm4, qword [0x101f2348]
subsd xmm4, xmm5
divsd xmm4, xmm0
addsd xmm5, xmm4
comisd xmm2, xmm5
jae 0x10130c91
xor ecx, ecx
mov dword [esp + 0xdc], ecx
cmp edx, 1
jle 0x10130d0f
movsd xmm0, qword [0x101f2338]
mov ebx, dword [esp + 0x124]
mov dword [esp + 0x120], edi
mov eax, 1
lea edi, [eax + eax*2]
movsd xmm1, qword [ebx + edi*8]
ucomisd xmm1, xmm0
jp 0x10130ce8
je 0x10130cfe
mov edi, dword [ebx + edi*8 + 0x10]
cmp edi, dword [ebx + 0x10]
jne 0x10130cfe
comisd xmm3, xmm1
jb 0x10130cfe
mov ecx, eax
inc eax
cmp eax, edx
jl 0x10130cd8
mov edi, dword [esp + 0x120]
mov ebx, dword [ebp + 0x20]
mov dword [esp + 0xdc], ecx
test esi, esi
jne 0x1013165a
mov dword [esp + 0x120], edi
xor edx, edx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xb0], edx
push dword [esp + 0xdc]
push 0
call fcn.100ed700
add esp, 8
mov esi, dword [esp + 0x124]
mov ecx, dword [esp + 0x104]
inc dword [esp + 0xe4]
lea edx, [eax + eax*2]
mov ebx, dword [esi + edx*8 + 0x10]
mov esi, dword [esi + edx*8 + 0x14]
mov dword [esp + 0xe0], edx
mov edx, dword [ecx + ebx*4]
mov edi, esi
shl edi, 4
movsd xmm0, qword [edi + edx]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm1, qword [edi + edx + 8]
movsd qword [ecx + 8], xmm1
mov edx, dword [esp + 0x128]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], edx
lea edx, [esp + 0xb8]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xd4]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x78]
mov dword [esp + 0x24], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0x28], edx
call fcn.100abc10
movsd xmm0, qword [esp + 0x78]
mov edx, dword [ebp + 0x3c]
movsd qword [edx], xmm0
test esi, esi
movsd xmm1, qword [esp + 0x80]
movsd qword [edx + 8], xmm1
jne 0x10130dfe
mov edx, dword [esp + 0x108]
mov ecx, dword [edx + ebx*4]
dec ecx
jmp 0x10130e01
lea ecx, [esi - 1]
mov edx, dword [esp + 0x104]
mov edi, dword [edx + ebx*4]
shl ecx, 4
movsd xmm0, qword [ecx + edi]
mov edx, esp
movsd qword [edx], xmm0
movsd xmm1, qword [ecx + edi + 8]
movsd qword [edx + 8], xmm1
mov ecx, dword [esp + 0x128]
mov edx, dword [ecx + ebx*4]
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x14], edx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xd8]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x88]
mov dword [esp + 0x24], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0x28], edx
call fcn.100abc10
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x104]
mov edi, dword [ecx + ebx*4]
mov ecx, dword [ebp + 0x14]
inc esi
xor eax, eax
cmp esi, dword [edx + ebx*4]
cmove esi, eax
mov edx, esp
shl esi, 4
movsd xmm0, qword [esi + edi]
movsd qword [edx], xmm0
movsd xmm1, qword [esi + edi + 8]
movsd qword [edx + 8], xmm1
mov esi, dword [esp + 0x128]
mov edx, dword [esi + ebx*4]
mov esi, dword [ecx + ebx*4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x110]
mov dword [esp + 0x20], edi
lea edx, [esp + 0x98]
mov dword [esp + 0x24], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0x28], edx
call fcn.100abc10
mov ecx, dword [esp + 0x110]
sub ecx, dword [esp + 0xd8]
mov dword [esp + 0xd0], ecx
jns 0x10130f09
mov edx, dword [ebp + 0x14]
add ecx, dword [edx + ebx*4]
mov dword [esp + 0xd0], ecx
push 0x10
add ecx, 2
push ecx
call fcn.101beb7a
add esp, 8
mov dword [esp + 0x118], eax
movsd xmm0, qword [esp + 0x88]
mov esi, eax
mov ecx, dword [ebp + 0x14]
movsd qword [esi], xmm0
movsd xmm1, qword [esp + 0x90]
movsd qword [esi + 8], xmm1
mov edx, dword [esp + 0xd8]
mov edi, dword [ecx + ebx*4]
movsd xmm0, qword [0x1020c110]
mov dword [esp + 0x12c], edi
mov dword [esp + 0x130], ebx
inc edx
xor eax, eax
cmp edx, edi
cmove edx, eax
mov ecx, 1
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x110]
inc ecx
cmp ecx, edi
cmove ecx, eax
mov eax, 0x10
lea esi, [esi + 0x10]
movsd xmm1, qword [esi - 0x10]
mov dword [esp + 0x114], esi
mov esi, dword [esp + 0x11c]
cmp edx, ecx
je 0x10131097
mov ebx, dword [esp + 0x128]
mov esi, dword [esp + 0x130]
mov esi, dword [ebx + esi*4]
mov edi, edx
shl edi, 4
movsd xmm4, qword [edi + esi]
movaps xmm2, xmm4
subsd xmm2, xmm1
comisd xmm0, xmm2
jbe 0x10130ff6
pxor xmm3, xmm3
subsd xmm3, xmm0
comisd xmm2, xmm3
jbe 0x10130ff6
mov ebx, dword [esp + 0x114]
movsd xmm2, qword [edi + esi + 8]
subsd xmm2, qword [ebx - 8]
comisd xmm0, xmm2
jbe 0x10130ff6
comisd xmm2, xmm3
ja 0x10131059
mov ebx, dword [esp + 0x118]
movsd qword [eax + ebx], xmm4
movsd xmm0, qword [edi + esi + 8]
mov esi, dword [ebp + 0x14]
mov edi, dword [esp + 0x130]
movsd qword [eax + ebx + 8], xmm0
mov eax, dword [esp + 0x11c]
mov esi, dword [esi + edi*4]
mov ecx, dword [esp + 0x110]
movsd xmm0, qword [0x1020c110]
mov dword [esp + 0x12c], esi
inc eax
inc ecx
mov dword [esp + 0x11c], eax
xor edi, edi
cmp ecx, esi
cmove ecx, edi
shl eax, 4
add ebx, eax
movsd xmm1, qword [ebx - 0x10]
mov dword [esp + 0x114], ebx
inc edx
xor ebx, ebx
cmp edx, dword [esp + 0x12c]
cmove edx, ebx
jmp 0x10130f9a
mov edx, dword [esp + 0x134]
lea ecx, [esp + 0xd0]
push ecx
lea edi, [edx + esi*4]
push edi
push ebx
push eax
call fcn.100b4410
add esp, 0x10
mov eax, dword [esp + 0x108]
mov ebx, dword [eax + esi*4]
jmp 0x101309e3
mov ebx, dword [esp + 0x130]
mov esi, dword [esp + 0x11c]
movsd xmm3, qword [esp + 0x98]
subsd xmm1, xmm3
comisd xmm0, xmm1
jbe 0x101310e7
pxor xmm2, xmm2
subsd xmm2, xmm0
comisd xmm1, xmm2
jbe 0x101310e7
mov edx, dword [esp + 0x114]
movsd xmm1, qword [edx - 8]
subsd xmm1, qword [esp + 0xa0]
comisd xmm0, xmm1
jbe 0x101310e7
comisd xmm1, xmm2
ja 0x10131103
mov edx, dword [esp + 0x118]
movsd qword [eax + edx], xmm3
movsd xmm0, qword [esp + 0xa0]
movsd qword [eax + edx + 8], xmm0
inc esi
cmp esi, 2
jle 0x101314a2
mov ecx, dword [esp + 0x118]
movsd xmm0, qword [0x101f22c8]
movsd qword [esp + 0x18], xmm0
movsd qword [esp + 0x20], xmm0
movsd qword [esp + 0x28], xmm0
movsd qword [esp + 0x4c], xmm0
xor eax, eax
mov edx, 1
mov dword [esp + 0x44], 6
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x54], 7
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
dec esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
lea esi, [esp + 0xf8]
mov dword [esp + 0x30], esi
lea edi, [esp + 0xfc]
mov dword [esp + 0x34], edi
lea ecx, [esp + 0x100]
mov dword [esp + 0x38], ecx
lea esi, [esp + 0xe8]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], eax
call fcn.100b6020
mov edx, dword [ebp + 0x3c]
movsd xmm0, qword [edx]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm1, qword [edx + 8]
movsd qword [ecx + 8], xmm1
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0x100]
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], 0
lea edx, [esp + 0x74]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x60]
mov dword [esp + 0x24], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0x28], edx
call fcn.100abc10
cmp dword [esp + 0xd0], 0
jne 0x10131487
mov edx, dword [esp + 0x74]
mov dword [esp + 0x70], edx
test edx, edx
jle 0x1013122c
mov edx, dword [esp + 0xfc]
movsd xmm0, qword [0x101f22f0]
mov ecx, dword [esp + 0x70]
comisd xmm0, xmmword [edx + ecx*8]
ja 0x10131239
movsd xmm0, qword [0x101f22c8]
jmp 0x101312ec
mov esi, ecx
mov edi, dword [esp + 0xf8]
shl esi, 4
movsd xmm0, qword [esi + edi - 0x10]
mov edx, esp
movsd qword [edx], xmm0
movsd xmm1, qword [esi + edi - 8]
movsd qword [edx + 8], xmm1
lea ecx, [esp + 0x10]
movsd xmm2, qword [edi + esi]
movsd qword [ecx], xmm2
movsd xmm3, qword [edi + esi + 8]
movsd qword [ecx + 8], xmm3
lea edx, [esp + 0x20]
movsd xmm4, qword [esi + edi + 0x10]
movsd qword [edx], xmm4
movsd xmm5, qword [esi + edi + 0x18]
movsd qword [edx + 8], xmm5
call fcn.100ade40
fstp qword [esp + 0xa8]
movsd xmm1, qword [esp + 0xa8]
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x10c]
imul esi, dword [ecx], 0xa10
mov edi, dword [0x10219190]
movsd xmm0, qword [esi + edi + 0x48]
divsd xmm0, qword [0x101f22d0]
comisd xmm1, xmm0
mov dword [esp + 0x70], edx
jbe 0x1013122c
mov edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x70]
movsd xmm0, qword [edx + ecx*8]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x100]
lea ecx, [edx + 1]
dec esi
cmp ecx, esi
jge 0x101313e5
mov edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x70]
movsd xmm1, qword [0x101f22f0]
movsd xmm2, qword [edx + ecx*8 + 8]
comisd xmm1, xmm2
jbe 0x101313e5
comisd xmm0, xmm2
jbe 0x101313e5
mov esi, ecx
mov edi, dword [esp + 0xf8]
shl esi, 4
movsd xmm1, qword [edi + esi]
mov edx, esp
movsd qword [edx], xmm1
movsd xmm2, qword [edi + esi + 8]
movsd qword [edx + 8], xmm2
lea ecx, [esp + 0x10]
movsd xmm3, qword [esi + edi + 0x10]
movsd qword [ecx], xmm3
movsd xmm4, qword [esi + edi + 0x18]
movsd qword [ecx + 8], xmm4
lea edx, [esp + 0x20]
movsd xmm5, qword [esi + edi + 0x20]
movsd qword [edx], xmm5
movsd xmm6, qword [esi + edi + 0x28]
movsd qword [edx + 8], xmm6
movsd qword [esp + 0x58], xmm0
call fcn.100ade40
movsd xmm0, qword [esp + 0x58]
fstp qword [esp + 0xa8]
movsd xmm2, qword [esp + 0xa8]
mov edx, dword [esp + 0x10c]
imul ecx, dword [edx], 0xa10
mov esi, dword [0x10219190]
movsd xmm1, qword [ecx + esi + 0x48]
divsd xmm1, qword [0x101f22d0]
comisd xmm2, xmm1
jbe 0x101313e5
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xfc]
movsd xmm0, qword [edx + ecx*8 + 8]
inc ecx
mov dword [esp + 0xb0], ecx
movsd xmm1, qword [0x101f2340]
comisd xmm1, xmm0
jbe 0x10131487
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xf8]
shl edx, 4
movsd xmm0, qword [edx + ecx]
mov esi, esp
movsd qword [esi], xmm0
movsd xmm1, qword [edx + ecx + 8]
movsd qword [esi + 8], xmm1
mov edi, dword [esp + 0x128]
mov edx, dword [edi + ebx*4]
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], edx
mov edx, dword [ebp + 0x14]
mov edx, dword [edx + ebx*4]
mov dword [esp + 0x14], edx
lea edx, [esp + 0xb8]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xd4]
mov dword [esp + 0x20], edx
lea edx, [esp + 0x78]
mov dword [esp + 0x24], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0x28], edx
call fcn.100abc10
movsd xmm0, qword [esp + 0x78]
mov edx, dword [ebp + 0x3c]
movsd xmm1, qword [esp + 0x80]
movsd qword [edx], xmm0
movsd qword [edx + 8], xmm1
push dword [esp + 0xf8]
call fcn.101bceaa
push dword [esp + 0x100]
call fcn.101bceaa
add esp, 8
push dword [esp + 0x118]
call fcn.101bceaa
pop ecx
mov edx, dword [esp + 0x10c]
imul ecx, dword [edx], 0xa10
mov esi, dword [0x10219190]
movsd xmm1, qword [esp + 0xf0]
subsd xmm1, qword [ecx + esi + 0x78]
mov edi, dword [ebp + 0x3c]
addsd xmm1, qword [edi]
movsd xmm0, qword [0x1021fbc8]
maxsd xmm0, qword [0x1021fbc0]
comisd xmm0, xmm1
ja 0x10131647
cmp dword [esp + 0xe4], 0x14
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0xe0]
movsd xmm0, qword [0x101f2338]
movsd qword [edx + ecx*8], xmm0
jle 0x10130d2e
mov edi, dword [esp + 0x120]
mov eax, ebx
mov ebx, dword [ebp + 0x20]
mov esi, 1
cmp dword [ebp + 0x38], 0
je 0x10131537
mov edx, dword [ebp + 0x38]
mov dword [edx], eax
test ebx, ebx
jle 0x1013157b
mov dword [esp + 0x58], esi
mov dword [esp + 0x120], edi
mov edi, dword [esp + 0x104]
xor eax, eax
mov esi, eax
push dword [edi + esi*4]
call fcn.101bceaa
mov edx, dword [esp + 0x138]
push dword [edx + esi*4]
call fcn.101bceaa
add esp, 8
inc esi
cmp esi, ebx
jl 0x10131551
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x120]
push dword [esp + 0x104]
call fcn.101bceaa
push dword [esp + 0x138]
call fcn.101bceaa
push dword [esp + 0x110]
call fcn.101bceaa
push dword [esp + 0x130]
call fcn.101bceaa
add esp, 0x10
cmp dword [ebp + 0x1c], 0
je 0x1013163b
test esi, esi
jne 0x101315cb
xor eax, eax
add esp, 0x174
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov esi, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x14], edi
mov edi, dword [ebp + 0x34]
mov dword [esp + 0x18], ebx
mov ebx, dword [ebp + 0x30]
mov dword [esp + 0x1c], esi
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x28], ebx
mov ebx, dword [ebp + 0x38]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], esi
call fcn.1012ff9c
xor eax, eax
add esp, 0x174
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push edi
call fcn.101bceaa
pop ecx
jmp 0x101315b8
mov edi, dword [esp + 0x120]
mov eax, ebx
mov ebx, dword [ebp + 0x20]
xor esi, esi
jmp 0x1013152c
xor eax, eax
jmp 0x1013152c
push 8
push ebx
call fcn.101beb7a
add esp, 8
mov edi, eax
jmp 0x101304fa