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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push edi
push esi
push ebx
sub esp, 0x1b4
mov esi, ecx
mov ebx, edx
mov edi, dword [ebp + 0x24]
mov edx, dword [ebp + 0x30]
mov ecx, dword [0x10210a18]
mov dword [esp + 0x174], eax
mov eax, dword [ebp + 0x1c]
inc ecx
mov dword [esp + 0xb0], edx
mov edx, dword [0x1021f8f8]
mov dword [0x10210a18], ecx
cmp edx, 3
je 0x1009dc1f
cmp edx, 1
je 0x1009be2d
test edx, edx
jne 0x1009acf6
push 4
push edi
call fcn.101beb7a
mov edx, dword [ebp + 0x3c]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x40]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x48]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x4c]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x50]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
add esp, 0x30
mov edx, dword [ebp + 0x54]
mov dword [edx], eax
test edi, edi
jle 0x1009bf93
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x13c], ebx
mov ebx, dword [ebp + 0x38]
xor eax, eax
mov dword [esp + 0xa8], esi
mov esi, eax
push 0x10
push dword [edi + esi*4]
call fcn.101beb7a
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx]
mov dword [edx + esi*4], eax
mov ecx, dword [ecx]
mov edx, dword [edi + esi*4]
shl edx, 4
push edx
mov edx, dword [ebp + 0x14]
push dword [edx + esi*4]
push dword [ecx + esi*4]
call fcn.101d7590
add esp, 0x14
mov edx, dword [ebp + 0x40]
mov edx, dword [edx]
mov ecx, dword [edi + esi*4]
mov dword [edx + esi*4], ecx
mov edx, dword [ebp + 0x50]
mov ecx, dword [edx]
mov edx, dword [ebx + esi*4]
mov dword [ecx + esi*4], edx
mov edx, dword [ebx + esi*4]
test edx, edx
jle 0x1009ac62
push 4
push edx
call fcn.101beb7a
mov edx, dword [ebp + 0x48]
push 4
mov ecx, dword [edx]
mov dword [ecx + esi*4], eax
push dword [ebx + esi*4]
call fcn.101beb7a
add esp, 0x10
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx]
mov dword [ecx + esi*4], eax
mov edx, dword [ebp + 0x54]
mov ecx, dword [edx]
mov dword [ecx + esi*4], 3
cmp dword [ebx + esi*4], 0
jle 0x1009acd6
mov ebx, dword [ebp + 0x2c]
xor eax, eax
mov edi, eax
push 0x10
mov edx, dword [ebx + esi*4]
push dword [edx + edi*4]
call fcn.101beb7a
mov ecx, dword [ebp + 0x48]
mov edx, dword [ecx]
mov edx, dword [edx + esi*4]
mov dword [edx + edi*4], eax
mov ecx, dword [ecx]
mov edx, dword [ecx + esi*4]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ecx + esi*4]
mov ecx, dword [ebx + esi*4]
mov ecx, dword [ecx + edi*4]
shl ecx, 4
push ecx
push dword [eax + edi*4]
push dword [edx + edi*4]
call fcn.101d7590
add esp, 0x14
mov edx, dword [ebp + 0x4c]
mov eax, dword [ebx + esi*4]
mov ecx, dword [edx]
mov ecx, dword [ecx + esi*4]
mov edx, dword [eax + edi*4]
mov dword [ecx + edi*4], edx
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + esi*4]
jl 0x1009ac7b
mov ebx, dword [ebp + 0x38]
mov edi, dword [ebp + 0x18]
inc esi
cmp esi, dword [ebp + 0x24]
jl 0x1009abf4
mov edi, dword [ebp + 0x24]
mov ebx, dword [esp + 0x13c]
mov esi, dword [esp + 0xa8]
jmp 0x1009bf93
cmp edx, 2
jne 0x1009bf98
cmp dword [ebx + 0x95c], 0
jle 0x1009ae77
push 4
push edi
call fcn.101beb7a
mov edx, dword [ebp + 0x3c]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x40]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x48]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x4c]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x50]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
add esp, 0x30
mov edx, dword [ebp + 0x54]
mov dword [edx], eax
test edi, edi
jle 0x1009bf93
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x13c], ebx
mov dword [esp + 0xa8], esi
xor eax, eax
mov esi, dword [ebp + 0x38]
mov ebx, eax
push 0x10
push dword [edi + ebx*4]
call fcn.101beb7a
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx]
mov dword [edx + ebx*4], eax
mov ecx, dword [ecx]
mov edx, dword [edi + ebx*4]
shl edx, 4
push edx
mov edx, dword [ebp + 0x14]
push dword [edx + ebx*4]
push dword [ecx + ebx*4]
call fcn.101d7590
mov edx, dword [ebp + 0x40]
push 4
mov edx, dword [edx]
mov ecx, dword [edi + ebx*4]
mov dword [edx + ebx*4], ecx
mov edx, dword [ebp + 0x50]
mov ecx, dword [edx]
mov edx, dword [esi + ebx*4]
mov dword [ecx + ebx*4], edx
push dword [esi + ebx*4]
call fcn.101beb7a
mov edx, dword [ebp + 0x48]
push 4
mov ecx, dword [edx]
mov dword [ecx + ebx*4], eax
push dword [esi + ebx*4]
call fcn.101beb7a
add esp, 0x24
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx]
mov edx, dword [ebp + 0x54]
mov dword [ecx + ebx*4], eax
mov edx, dword [edx]
mov dword [edx + ebx*4], 3
cmp dword [esi + ebx*4], 0
jle 0x1009ae57
mov esi, dword [ebp + 0x2c]
xor eax, eax
mov edi, eax
push 0x10
mov edx, dword [esi + ebx*4]
push dword [edx + edi*4]
call fcn.101beb7a
mov ecx, dword [ebp + 0x48]
mov edx, dword [ecx]
mov edx, dword [edx + ebx*4]
mov dword [edx + edi*4], eax
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx + edi*4]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ecx + ebx*4]
mov ecx, dword [esi + ebx*4]
mov ecx, dword [ecx + edi*4]
shl ecx, 4
push ecx
push dword [eax + edi*4]
push dword [edx]
call fcn.101d7590
add esp, 0x14
mov edx, dword [ebp + 0x4c]
mov eax, dword [esi + ebx*4]
mov ecx, dword [edx]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [eax + edi*4]
mov dword [ecx + edi*4], edx
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + ebx*4]
jl 0x1009adfc
mov esi, dword [ebp + 0x38]
mov edi, dword [ebp + 0x18]
inc ebx
cmp ebx, dword [ebp + 0x24]
jl 0x1009ad7d
mov edi, dword [ebp + 0x24]
mov ebx, dword [esp + 0x13c]
mov esi, dword [esp + 0xa8]
jmp 0x1009bf93
mov edx, dword [ebp + 0x44]
mov dword [0x10283544], 1
test eax, eax
mov dword [edx], 0
je 0x1009c4bf
xor edx, edx
test edi, edi
jle 0x1009be19
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], eax
xor ecx, ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x13c], ebx
mov ebx, dword [ebp + 0x44]
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0xa0]
mov edx, dword [esp + 0x13c]
movsd xmm2, qword [0x101e5830]
movsd xmm3, qword [0x1021f8d8]
mulsd xmm3, qword [0x101e5838]
movaps xmm1, xmm3
movsd xmm4, qword [0x1021f8e0]
addsd xmm4, qword [0x101e5840]
mov eax, dword [edx + 0x30]
mov edi, dword [ebp + 0x14]
movsd xmm0, qword [eax]
subsd xmm0, qword [edx + 0x80]
movsd qword [esp + 0x118], xmm2
movsd qword [esp + 0x128], xmm4
subsd xmm1, xmm0
movsd qword [esp + 0x120], xmm1
movsd qword [esp + 0x130], xmm1
mov ecx, dword [edx + 0x28]
movsd xmm5, qword [edx + 0x80]
subsd xmm5, qword [ecx]
mov edx, dword [esp + 0x8c]
movsd qword [esp + 0xd0], xmm2
movsd qword [esp + 0xe0], xmm4
addsd xmm5, xmm3
movsd qword [esp + 0xd8], xmm5
movsd qword [esp + 0xe8], xmm5
mov eax, dword [edi + esi*4]
mov edi, dword [ebp + 0x20]
mov ecx, dword [edx + esi*4]
movsd xmm6, qword [edi + esi*8]
movsd qword [esp + 8], xmm6
mov dword [esp], eax
mov eax, dword [ebp + 0x18]
mov edx, dword [eax + esi*4]
mov dword [esp + 4], ecx
mov dword [esp + 0x10], edx
xor edi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
lea ecx, [esp + 0x150]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
lea eax, [esp + 0x154]
mov dword [esp + 0x48], eax
lea edx, [esp + 0x158]
mov dword [esp + 0x4c], edx
lea ecx, [esp + 0x118]
mov dword [esp + 0x50], ecx
lea edi, [esp + 0x128]
mov dword [esp + 0x54], edi
call fcn.10070110
test eax, eax
jne 0x1009dc0d
mov eax, dword [esp + 0x158]
test eax, eax
jle 0x1009c4b8
push 4
mov edx, dword [ebx]
add eax, edx
push eax
mov eax, dword [ebp + 0x3c]
push edx
push dword [eax]
call fcn.100db0e0
mov edx, dword [ebp + 0x3c]
mov edi, dword [ebp + 0x40]
mov dword [edx], eax
mov eax, dword [esp + 0x168]
mov ecx, dword [ebx]
add eax, ecx
push 4
push eax
push ecx
push dword [edi]
call fcn.100db0e0
mov edx, dword [ebp + 0x40]
mov edi, dword [ebp + 0x48]
mov dword [edx], eax
mov eax, dword [esp + 0x178]
mov ecx, dword [ebx]
add eax, ecx
push 4
push eax
push ecx
push dword [edi]
call fcn.100db0e0
mov edx, dword [ebp + 0x48]
mov edi, dword [ebp + 0x4c]
mov dword [edx], eax
mov eax, dword [esp + 0x188]
mov ecx, dword [ebx]
add eax, ecx
push 4
push eax
push ecx
push dword [edi]
call fcn.100db0e0
mov edx, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x50]
mov dword [edx], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [ebx]
add eax, ecx
push 4
push eax
push ecx
push dword [edi]
call fcn.100db0e0
mov edx, dword [ebp + 0x50]
mov edi, dword [ebp + 0x54]
mov dword [edx], eax
mov eax, dword [esp + 0x1a8]
mov ecx, dword [ebx]
add eax, ecx
push 4
push eax
push ecx
push dword [edi]
call fcn.100db0e0
add esp, 0x60
mov edx, dword [ebp + 0x54]
mov dword [edx], eax
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + esi*4]
test eax, eax
jle 0x1009c488
cmp dword [esp + 0xb0], 0
je 0x1009c3e6
xor edi, edi
push 8
push eax
call fcn.101beb7a
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x38]
push 8
push dword [eax + esi*4]
call fcn.101beb7a
add esp, 0x10
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x158]
mov edx, dword [ebp + 0x38]
cmp dword [edx + esi*4], 0
jle 0x1009b5df
movsd xmm2, qword [0x101e5858]
movsd xmm3, qword [0x101e5850]
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
xor edx, edx
mov dword [esp + 0x90], eax
mov dword [esp + 0x7c], edi
mov edi, edx
movsd xmm1, qword [0x101e5850]
movsd xmm0, qword [0x101e5858]
mov eax, dword [ebp + 0x2c]
mov edx, dword [eax + esi*4]
cmp dword [edx + edi*4], 0
movsd qword [ecx + edi*8], xmm3
movsd qword [ebx + edi*8], xmm2
jle 0x1009b1f8
mov edx, dword [edx + edi*4]
movsd xmm1, qword [ecx + edi*8]
movsd xmm0, qword [ebx + edi*8]
mov dword [esp + 0x9c], ecx
xor eax, eax
mov dword [esp + 0xa4], eax
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + edi*4]
mov dword [esp + 0xa0], esi
mov esi, dword [esp + 0xa4]
movaps xmm4, xmm1
movaps xmm6, xmm0
mov ecx, esi
shl ecx, 4
movsd xmm5, qword [ecx + eax + 8]
movaps xmm1, xmm5
movaps xmm0, xmm5
inc esi
maxsd xmm1, xmm4
minsd xmm0, xmm6
cmp esi, edx
jl 0x1009b1bc
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0xa0]
movsd qword [ebx + edi*8], xmm0
movsd qword [ecx + edi*8], xmm1
movsd xmm4, qword [esp + 0x120]
comisd xmm4, xmm0
jbe 0x1009b398
comisd xmm1, xmm4
jbe 0x1009b398
cmp dword [esp + 0x90], 0
jle 0x1009b5b6
lea edx, [esp + 0x15c]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x9c], ecx
xor eax, eax
mov ebx, eax
mov ecx, dword [esp + 0x150]
movsd xmm0, qword [0x101e5848]
movsd qword [esp + 8], xmm0
xor eax, eax
mov dword [esp + 0x15c], 5
mov ecx, dword [ecx + ebx*4]
mov dword [esp], ecx
mov ecx, dword [esp + 0x154]
mov ecx, dword [ecx + ebx*4]
mov dword [esp + 4], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx + esi*4]
mov ecx, dword [ecx + edi*4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xb0]
mov ecx, dword [ecx + esi*4]
mov ecx, dword [ecx + edi*4]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0x34]
mov ecx, dword [ecx + esi*4]
movsd xmm1, qword [ecx + edi*8]
mov ecx, dword [ebp + 0x2c]
mov ecx, dword [ecx + esi*4]
mov ecx, dword [ecx + edi*4]
movsd qword [esp + 0x1c], xmm1
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x15c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x160]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x164]
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x168]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
call fcn.100d2c30
test eax, eax
jne 0x1009dc0d
mov ecx, dword [esp + 0x150]
mov dword [esp + 0xac], ecx
push dword [ecx + ebx*4]
call fcn.101bceaa
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0xb0]
mov ecx, dword [ecx]
mov dword [eax + ebx*4], ecx
mov ecx, dword [esp + 0x168]
mov eax, dword [esp + 0x158]
mov ecx, dword [ecx]
mov dword [eax + ebx*4], ecx
push dword [esp + 0x164]
call fcn.101bceaa
push dword [esp + 0x16c]
call fcn.101bceaa
add esp, 0xc
mov ecx, dword [esp + 0x158]
inc ebx
cmp ebx, ecx
jl 0x1009b23c
movsd xmm2, qword [0x101e5858]
movsd xmm3, qword [0x101e5850]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x9c]
jmp 0x1009b5b6
comisd xmm4, xmm1
jbe 0x1009b5b6
cmp dword [esp + 0x90], 1
jg 0x1009b51d
mov dword [esp + 0x94], ebx
mov ebx, dword [ebp + 0x44]
mov edx, dword [ebx]
mov ebx, dword [ebp + 0x48]
mov ebx, dword [ebx]
mov dword [esp + 0x74], edi
mov edi, dword [ebp + 0x50]
mov eax, dword [edi]
mov eax, dword [eax + edx*4]
push 4
lea edi, [eax + 1]
push edi
push eax
push dword [ebx + edx*4]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0xac], ecx
call fcn.100db0e0
mov ecx, dword [esp + 0xac]
movsd xmm3, qword [0x101e5850]
movsd xmm2, qword [0x101e5858]
mov edx, dword [ebp + 0x48]
mov edx, dword [edx]
mov dword [esp + 0xa4], ebx
mov ebx, dword [ebp + 0x44]
mov dword [esp + 0x84], edi
push 4
mov edi, dword [ebx]
mov dword [edx + edi*4], eax
mov edx, dword [ebx]
mov ebx, dword [ebp + 0x50]
mov edi, dword [ebx]
mov eax, dword [edi + edx*4]
mov ebx, dword [ebp + 0x4c]
mov ebx, dword [ebx]
lea edi, [eax + 1]
push edi
push eax
push dword [ebx + edx*4]
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xbc], ecx
call fcn.100db0e0
mov ecx, dword [esp + 0xbc]
movsd xmm3, qword [0x101e5850]
movsd xmm2, qword [0x101e5858]
add esp, 0x20
mov dword [esp + 0x60], eax
mov edx, dword [ebp + 0x44]
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x94], ebx
mov ebx, dword [edx]
mov dword [eax + ebx*4], ecx
mov ebx, dword [ebp + 0x28]
mov eax, dword [edx]
mov ecx, dword [ebx + esi*4]
mov ecx, dword [ecx + edi*4]
mov esi, dword [ebp + 0x48]
mov ebx, dword [esi]
mov esi, dword [ebp + 0x50]
mov esi, dword [esi]
mov esi, dword [esi + eax*4]
mov ebx, dword [ebx + eax*4]
mov dword [ebx + esi*4], ecx
mov esi, dword [ebp + 0x2c]
mov ebx, dword [esp + 0xa0]
mov eax, dword [edx]
mov ebx, dword [esi + ebx*4]
mov ecx, dword [ebp + 0x4c]
mov esi, dword [ebp + 0x50]
mov ecx, dword [ecx]
mov esi, dword [esi]
mov esi, dword [esi + eax*4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + edi*4]
mov dword [ecx + esi*4], eax
mov eax, dword [ebp + 0x50]
mov esi, dword [edx]
mov ebx, dword [eax]
mov eax, dword [ebp + 0x54]
inc dword [ebx + esi*4]
mov ecx, dword [edx]
mov eax, dword [eax]
mov ebx, dword [esp + 0x94]
mov esi, dword [esp + 0xa0]
mov dword [eax + ecx*4], 3
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
jmp 0x1009b5b6
mov dword [esp + 0x94], ebx
mov dword [esp + 0x9c], ecx
xor edx, edx
mov ebx, edx
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + esi*4]
mov eax, dword [ecx + edi*4]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [esp + 0x150]
mov eax, dword [eax + ebx*4]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
mov dword [esp + 0x18], 6
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x154]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], eax
call fcn.100af680
test eax, eax
jne 0x1009c0ee
mov eax, dword [esp + 0x158]
inc ebx
cmp ebx, eax
jl 0x1009b52f
movsd xmm2, qword [0x101e5858]
movsd xmm3, qword [0x101e5850]
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
mov eax, dword [ebp + 0x38]
inc edi
cmp edi, dword [eax + esi*4]
jl 0x1009b162
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x94], ebx
mov ebx, dword [ebp + 0x44]
mov dword [esp + 0x9c], ecx
test edi, edi
je 0x1009b647
mov edx, dword [ebp + 0x38]
cmp dword [edx + esi*4], 0
jle 0x1009b61b
mov ebx, dword [ebp + 0x38]
mov dword [esp + 0x90], eax
xor edi, edi
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + esi*4]
push dword [edx + edi*4]
call fcn.101bceaa
pop ecx
inc edi
cmp edi, dword [ebx + esi*4]
jl 0x1009b5f8
mov eax, dword [esp + 0x90]
mov ebx, dword [ebp + 0x44]
mov edx, dword [esp + 0xb0]
push dword [edx + esi*4]
mov dword [esp + 0x94], eax
call fcn.101bceaa
push dword [esp + 0xb4]
call fcn.101bceaa
mov eax, dword [esp + 0x98]
add esp, 8
mov edi, 1
test eax, eax
jle 0x1009b6f5
mov dword [esp + 0x80], edi
mov dword [esp + 0xa0], esi
mov esi, dword [ebp + 0x3c]
xor eax, eax
mov ebx, eax
mov edi, dword [ebp + 0x44]
mov edx, dword [esp + 0x154]
push 0x10
mov edi, dword [edi]
add edi, ebx
push dword [edx + ebx*4]
call fcn.101beb7a
mov ecx, dword [esi]
mov dword [ecx + edi*4], eax
mov edx, dword [esp + 0x158]
mov eax, dword [esi]
mov ecx, dword [esp + 0x15c]
mov ecx, dword [ecx + ebx*4]
shl ecx, 4
push ecx
push dword [edx + ebx*4]
push dword [eax + edi*4]
call fcn.101d7590
mov edx, dword [esp + 0x164]
push dword [edx + ebx*4]
call fcn.101bceaa
add esp, 0x18
mov ecx, dword [esp + 0x154]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx]
mov edx, dword [ecx + ebx*4]
inc ebx
mov dword [eax + edi*4], edx
mov edx, dword [ebp + 0x54]
mov ecx, dword [edx]
mov dword [ecx + edi*4], 3
mov eax, dword [esp + 0x158]
cmp ebx, eax
jl 0x1009b669
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0xa0]
mov ebx, dword [ebp + 0x44]
add dword [ebx], eax
push dword [esp + 0x150]
call fcn.101bceaa
push dword [esp + 0x158]
call fcn.101bceaa
add esp, 8
mov edx, dword [ebp + 0x14]
mov eax, dword [esp + 0x8c]
mov ecx, dword [edx + esi*4]
mov edx, dword [eax + esi*4]
mov eax, dword [ebp + 0x18]
mov dword [esp], ecx
mov ecx, dword [ebp + 0x20]
movsd xmm0, qword [ecx + esi*8]
movsd qword [esp + 8], xmm0
mov dword [esp + 4], edx
lea ecx, [esp + 0x150]
mov edx, dword [eax + esi*4]
xor eax, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea edx, [esp + 0x154]
mov dword [esp + 0x34], edx
lea ecx, [esp + 0x158]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x50], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x54], eax
call fcn.10070110
test eax, eax
jne 0x1009dc0d
mov eax, dword [esp + 0x158]
test eax, eax
jle 0x1009bdb7
push 4
mov edx, dword [ebx]
add eax, edx
push eax
mov eax, dword [ebp + 0x3c]
push edx
push dword [eax]
call fcn.100db0e0
mov edx, dword [ebp + 0x3c]
mov dword [edx], eax
mov eax, dword [esp + 0x168]
push 4
mov ecx, dword [ebx]
add eax, ecx
push eax
mov eax, dword [ebp + 0x40]
push ecx
push dword [eax]
call fcn.100db0e0
mov edx, dword [ebp + 0x40]
mov dword [edx], eax
mov eax, dword [esp + 0x178]
push 4
mov ecx, dword [ebx]
add eax, ecx
push eax
mov eax, dword [ebp + 0x48]
push ecx
push dword [eax]
call fcn.100db0e0
mov edx, dword [ebp + 0x48]
mov dword [edx], eax
mov eax, dword [esp + 0x188]
push 4
mov ecx, dword [ebx]
add eax, ecx
push eax
mov eax, dword [ebp + 0x4c]
push ecx
push dword [eax]
call fcn.100db0e0
mov edx, dword [ebp + 0x4c]
mov dword [edx], eax
mov eax, dword [esp + 0x198]
push 4
mov ecx, dword [ebx]
add eax, ecx
push eax
mov eax, dword [ebp + 0x50]
push ecx
push dword [eax]
call fcn.100db0e0
mov edx, dword [ebp + 0x50]
mov dword [edx], eax
mov eax, dword [esp + 0x1a8]
push 4
mov ecx, dword [ebx]
add eax, ecx
push eax
mov eax, dword [ebp + 0x54]
push ecx
push dword [eax]
call fcn.100db0e0
add esp, 0x60
mov edx, dword [ebp + 0x54]
mov dword [edx], eax
mov eax, dword [ebp + 0x38]
mov edx, dword [eax + esi*4]
test edx, edx
jle 0x1009c3a6
test edi, edi
jne 0x1009b995
push 8
push edx
call fcn.101beb7a
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x38]
push 8
push dword [eax + esi*4]
call fcn.101beb7a
add esp, 0x10
mov dword [esp + 0x9c], eax
mov eax, dword [ebp + 0x38]
mov edx, dword [eax + esi*4]
test edx, edx
jle 0x1009b995
mov ecx, dword [ebp + 0x2c]
mov edi, dword [ebp + 0x38]
movsd xmm2, qword [0x101e5858]
movsd xmm3, qword [0x101e5850]
mov ecx, dword [ecx + esi*4]
mov edi, dword [edi + esi*4]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xa0], esi
xor eax, eax
mov ebx, dword [esp + 0x6c]
cmp dword [ebx + eax*4], 0
movsd qword [edx + eax*8], xmm3
movsd qword [ecx + eax*8], xmm2
jle 0x1009b972
mov ebx, dword [ebp + 0x28]
mov edi, dword [esp + 0xa0]
mov ebx, dword [ebx + edi*4]
mov edi, dword [esp + 0x6c]
movsd xmm1, qword [edx + eax*8]
movsd xmm0, qword [ecx + eax*8]
mov ebx, dword [ebx + eax*4]
mov edi, dword [edi + eax*4]
mov dword [esp + 0x9c], edx
xor esi, esi
movaps xmm4, xmm1
movaps xmm6, xmm0
mov edx, esi
shl edx, 4
movsd xmm5, qword [edx + ebx + 8]
movaps xmm1, xmm5
movaps xmm0, xmm5
inc esi
maxsd xmm1, xmm4
minsd xmm0, xmm6
cmp esi, edi
jl 0x1009b93d
mov edx, dword [esp + 0x9c]
movsd qword [ecx + eax*8], xmm0
movsd qword [edx + eax*8], xmm1
inc eax
cmp eax, dword [esp + 0x68]
jl 0x1009b8ff
mov esi, dword [esp + 0xa0]
mov ebx, dword [ebp + 0x44]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x58]
cmp dword [esp + 0xb0], 0
je 0x1009c2ea
mov eax, dword [esp + 0x158]
xor ecx, ecx
test edx, edx
jle 0x1009bcec
mov dword [esp + 0x64], ecx
xor edi, edi
movsd xmm2, qword [esp + 0xd8]
mov edx, dword [esp + 0x94]
movsd xmm1, qword [edx + edi*8]
comisd xmm2, xmm1
jbe 0x1009bb30
mov edx, dword [esp + 0x9c]
movsd xmm0, qword [edx + edi*8]
comisd xmm0, xmm2
jbe 0x1009bb30
test eax, eax
jle 0x1009bc75
xor ebx, ebx
mov edx, dword [esp + 0x150]
movsd xmm0, qword [0x101e5848]
movsd qword [esp + 8], xmm0
xor eax, eax
mov dword [esp + 0x15c], 5
mov ecx, dword [edx + ebx*4]
mov edx, dword [esp + 0x154]
mov dword [esp], ecx
mov ecx, dword [edx + ebx*4]
mov edx, dword [ebp + 0x28]
mov dword [esp + 4], eax
mov dword [esp + 0x10], ecx
mov ecx, dword [edx + esi*4]
mov edx, dword [ecx + edi*4]
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x14], edx
mov edx, dword [ecx + esi*4]
mov ecx, dword [edx + edi*4]
mov edx, dword [ebp + 0x34]
mov dword [esp + 0x18], ecx
mov ecx, dword [edx + esi*4]
mov edx, dword [ebp + 0x2c]
movsd xmm1, qword [ecx + edi*8]
mov ecx, dword [edx + esi*4]
mov edx, dword [ecx + edi*4]
movsd qword [esp + 0x1c], xmm1
mov dword [esp + 0x24], edx
lea ecx, [esp + 0x15c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
lea edx, [esp + 0x160]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x164]
mov dword [esp + 0x44], ecx
lea edx, [esp + 0x168]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
call fcn.100d2c30
test eax, eax
jne 0x1009dc0d
mov eax, dword [esp + 0x150]
mov dword [esp + 0x98], eax
push dword [eax + ebx*4]
call fcn.101bceaa
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x9c]
mov edx, dword [eax]
mov dword [ecx + ebx*4], edx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x158]
mov edx, dword [eax]
mov dword [ecx + ebx*4], edx
push dword [esp + 0x164]
call fcn.101bceaa
push dword [esp + 0x16c]
call fcn.101bceaa
add esp, 0xc
mov eax, dword [esp + 0x158]
inc ebx
cmp ebx, eax
jl 0x1009b9f9
jmp 0x1009bc75
comisd xmm1, xmm2
jbe 0x1009bc75
cmp eax, 1
jg 0x1009bc11
mov ecx, dword [ebp + 0x44]
mov ebx, dword [ebp + 0x50]
push 4
mov edx, dword [ecx]
mov eax, dword [ebx]
mov ecx, dword [ebp + 0x48]
mov eax, dword [eax + edx*4]
mov ecx, dword [ecx]
lea ebx, [eax + 1]
push ebx
push eax
push dword [ecx + edx*4]
call fcn.100db0e0
mov ecx, dword [ebp + 0x44]
mov edx, dword [ebp + 0x48]
push 4
mov ebx, dword [ecx]
mov edx, dword [edx]
mov dword [edx + ebx*4], eax
mov eax, dword [ebp + 0x50]
mov ebx, dword [ebp + 0x4c]
mov edx, dword [ecx]
mov ecx, dword [eax]
mov eax, dword [ecx + edx*4]
mov ebx, dword [ebx]
lea ecx, [eax + 1]
push ecx
push eax
push dword [ebx + edx*4]
call fcn.100db0e0
add esp, 0x20
mov edx, dword [ebp + 0x44]
mov ecx, dword [ebp + 0x4c]
mov ebx, dword [edx]
mov ecx, dword [ecx]
mov dword [esp + 0xa0], esi
mov dword [ecx + ebx*4], eax
mov ebx, dword [ebp + 0x28]
mov eax, dword [edx]
mov ecx, dword [ebx + esi*4]
mov esi, dword [ebp + 0x48]
mov ebx, dword [esi]
mov esi, dword [ebp + 0x50]
mov esi, dword [esi]
mov esi, dword [esi + eax*4]
mov ebx, dword [ebx + eax*4]
mov eax, dword [ecx + edi*4]
mov ecx, dword [ebp + 0x2c]
mov dword [ebx + esi*4], eax
mov eax, dword [edx]
mov esi, dword [esp + 0xa0]
mov ebx, dword [ecx + esi*4]
mov ecx, dword [ebp + 0x4c]
mov esi, dword [ebp + 0x50]
mov ecx, dword [ecx]
mov esi, dword [esi]
mov esi, dword [esi + eax*4]
mov ecx, dword [ecx + eax*4]
mov eax, dword [ebx + edi*4]
mov dword [ecx + esi*4], eax
mov esi, dword [edx]
mov eax, dword [ebp + 0x54]
mov ebx, dword [eax]
mov dword [ebx + esi*4], 3
mov eax, dword [edx]
mov edx, dword [ebp + 0x50]
mov esi, dword [esp + 0xa0]
mov edx, dword [edx]
inc dword [edx + eax*4]
mov eax, dword [esp + 0x158]
jmp 0x1009bc75
xor ebx, ebx
mov eax, dword [ebp + 0x28]
mov edx, dword [eax + esi*4]
mov eax, dword [esp + 0x150]
mov ecx, dword [edx + edi*4]
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
mov ecx, dword [esp + 0x154]
mov edx, dword [eax + ebx*4]
mov eax, dword [ecx + ebx*4]
movsd qword [esp], xmm0
movsd qword [esp + 8], xmm1
mov dword [esp + 0x18], 6
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], eax
call fcn.100af680
test eax, eax
jne 0x1009c24a
mov eax, dword [esp + 0x158]
inc ebx
cmp ebx, eax
jl 0x1009bc13
lea esi, [esi]
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + esi*4]
jl 0x1009b9ba
mov ecx, dword [esp + 0x64]
mov ebx, dword [ebp + 0x44]
test ecx, ecx
je 0x1009bcec
mov edx, dword [ebp + 0x38]
cmp dword [edx + esi*4], 0
jle 0x1009bcc6
mov ebx, dword [ebp + 0x38]
mov dword [esp + 0x5c], eax
xor edi, edi
mov eax, dword [esp + 0xb0]
mov edx, dword [eax + esi*4]
push dword [edx + edi*4]
call fcn.101bceaa
pop ecx
inc edi
cmp edi, dword [ebx + esi*4]
jl 0x1009bca6
mov eax, dword [esp + 0x5c]
mov ebx, dword [ebp + 0x44]
mov edx, dword [esp + 0xb0]
push dword [edx + esi*4]
mov dword [esp + 0x60], eax
call fcn.101bceaa
push dword [esp + 0xb4]
call fcn.101bceaa
mov eax, dword [esp + 0x64]
add esp, 8
mov edi, 1
test eax, eax
jle 0x1009bd9a
mov dword [esp + 0x80], edi
mov dword [esp + 0xa0], esi
mov esi, dword [ebp + 0x3c]
xor eax, eax
mov ebx, eax
mov edi, dword [ebp + 0x44]
mov edx, dword [esp + 0x154]
push 0x10
mov edi, dword [edi]
add edi, ebx
push dword [edx + ebx*4]
call fcn.101beb7a
mov ecx, dword [esi]
mov dword [ecx + edi*4], eax
mov edx, dword [esp + 0x158]
mov eax, dword [esi]
mov ecx, dword [esp + 0x15c]
mov ecx, dword [ecx + ebx*4]
shl ecx, 4
push ecx
push dword [edx + ebx*4]
push dword [eax + edi*4]
call fcn.101d7590
mov edx, dword [esp + 0x164]
push dword [edx + ebx*4]
call fcn.101bceaa
add esp, 0x18
mov ecx, dword [esp + 0x154]
mov edx, dword [ebp + 0x40]
mov eax, dword [edx]
mov edx, dword [ecx + ebx*4]
inc ebx
mov dword [eax + edi*4], edx
mov edx, dword [ebp + 0x54]
mov ecx, dword [edx]
mov dword [ecx + edi*4], 3
mov eax, dword [esp + 0x158]
cmp ebx, eax
jl 0x1009bd0e
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0xa0]
mov ebx, dword [ebp + 0x44]
add dword [ebx], eax
push dword [esp + 0x150]
call fcn.101bceaa
push dword [esp + 0x158]
call fcn.101bceaa
add esp, 8
cmp dword [esp + 0x84], 0
je 0x1009bdd1
mov eax, dword [esp + 0x8c]
push dword [eax + esi*4]
call fcn.101bceaa
pop ecx
test edi, edi
je 0x1009bdf0
push dword [esp + 0x9c]
call fcn.101bceaa
push dword [esp + 0x98]
call fcn.101bceaa
add esp, 8
inc esi
cmp esi, dword [ebp + 0x24]
jl 0x1009aed9
mov edx, dword [esp + 0x84]
mov edi, dword [ebp + 0x24]
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x13c]
mov esi, dword [esp + 0xa8]
test edx, edx
je 0x1009bf98
push eax
call fcn.101bceaa
pop ecx
jmp 0x1009bf98
push 4
push edi
call fcn.101beb7a
mov edx, dword [ebp + 0x3c]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x40]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x48]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x4c]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
mov edx, dword [ebp + 0x50]
push 4
push edi
mov dword [edx], eax
call fcn.101beb7a
add esp, 0x30
mov edx, dword [ebp + 0x54]
mov dword [edx], eax
test edi, edi
jle 0x1009bf93
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x13c], ebx
mov ebx, dword [ebp + 0x38]
xor eax, eax
mov dword [esp + 0xa8], esi
mov esi, eax
push 0x10
push dword [edi + esi*4]
call fcn.101beb7a
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx]
mov dword [edx + esi*4], eax
mov ecx, dword [ecx]
mov edx, dword [edi + esi*4]
shl edx, 4
push edx
mov edx, dword [ebp + 0x14]
push dword [edx + esi*4]
push dword [ecx + esi*4]
call fcn.101d7590
mov edx, dword [ebp + 0x40]
push 4
mov edx, dword [edx]
mov ecx, dword [edi + esi*4]
mov dword [edx + esi*4], ecx
mov edx, dword [ebp + 0x50]
mov ecx, dword [edx]
mov edx, dword [ebx + esi*4]
mov dword [ecx + esi*4], edx
push dword [ebx + esi*4]
call fcn.101beb7a
mov edx, dword [ebp + 0x48]
push 4
mov ecx, dword [edx]
mov dword [ecx + esi*4], eax
push dword [ebx + esi*4]
call fcn.101beb7a
add esp, 0x24
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx]
mov edx, dword [ebp + 0x54]
mov dword [ecx + esi*4], eax
mov edx, dword [edx]
mov dword [edx + esi*4], 3
cmp dword [ebx + esi*4], 0
jle 0x1009bf78
mov ebx, dword [ebp + 0x2c]
xor eax, eax
mov edi, eax
push 0x10
mov edx, dword [ebx + esi*4]
push dword [edx + edi*4]
call fcn.101beb7a
mov ecx, dword [ebp + 0x48]
mov edx, dword [ecx]
mov edx, dword [edx + esi*4]
mov dword [edx + edi*4], eax
mov ecx, dword [ecx]
mov edx, dword [ecx + esi*4]
mov ecx, dword [ebp + 0x28]
mov eax, dword [ecx + esi*4]
mov ecx, dword [ebx + esi*4]
mov ecx, dword [ecx + edi*4]
shl ecx, 4
push ecx
push dword [eax + edi*4]
push dword [edx + edi*4]
call fcn.101d7590
add esp, 0x14
mov edx, dword [ebp + 0x4c]
mov eax, dword [ebx + esi*4]
mov ecx, dword [edx]
mov ecx, dword [ecx + esi*4]
mov edx, dword [eax + edi*4]
mov dword [ecx + edi*4], edx
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + esi*4]
jl 0x1009bf1d
mov ebx, dword [ebp + 0x38]
mov edi, dword [ebp + 0x18]
inc esi
cmp esi, dword [ebp + 0x24]
jl 0x1009be9e
mov edi, dword [ebp + 0x24]
mov ebx, dword [esp + 0x13c]
mov esi, dword [esp + 0xa8]
mov eax, dword [ebp + 0x44]
mov dword [eax], edi
cmp dword [ebx + 0x918], 0
mov eax, dword [esp + 0x174]
mov edx, dword [eax + 8]
mov ecx, dword [edx + esi*4]
mov edx, dword [ecx]
je 0x1009c0df
mov eax, dword [ebx + 0x91c]
test eax, eax
jle 0x1009c0df
cmp dword [0x1021f900], 0
movsd xmm2, qword [0x1021f8d0]
pxor xmm0, xmm0
jne 0x1009bfff
ucomisd xmm2, xmm0
jne 0x1009c0df
jp 0x1009c0df
movsd xmm1, qword [0x1021f8c8]
ucomisd xmm1, xmm0
jne 0x1009c0df
jp 0x1009c0df
comisd xmm0, xmm2
jbe 0x1009c0df
comisd xmm0, xmmword [0x1021f8c8]
jbe 0x1009c0df
movsd xmm3, qword [0x101e5870]
movaps xmm1, xmm0
movsd qword [esp + 0x148], xmm1
movaps xmm2, xmm0
movsd qword [esp + 0x140], xmm2
mov dword [esp + 0x16c], eax
xor esi, esi
mov dword [esp + 0x170], edx
mov dword [esp + 0x13c], ebx
mov ebx, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [ebx + 0xbc]
mov ecx, dword [eax + edx*4]
cmp dword [ecx + esi*4], 0
je 0x1009c0d1
mov eax, dword [esp + 0x13c]
mov eax, dword [eax + 0x918]
mov ecx, dword [ebx + 8]
lea edx, [esi + esi*8]
mov edi, dword [eax + edx*8 + 8]
mov ecx, dword [ecx + edi*4]
mov ecx, dword [ecx]
mov edi, dword [ebx + 0x10]
cmp dword [edi + ecx*4], 0
je 0x1009c0d1
cmp dword [eax + edx*8], 4
je 0x1009c734
cmp dword [0x1021f900], 1
jne 0x1009c625
movsd xmm1, qword [eax + edx*8 + 0x28]
pxor xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x1009c0b9
je 0x1009c0d1
movsd xmm0, qword [0x101e5860]
ucomisd xmm1, xmm0
jne 0x1009c533
jp 0x1009c533
inc esi
cmp esi, dword [esp + 0x16c]
jl 0x1009c055
xor eax, eax
add esp, 0x1b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
movsd xmm2, qword [0x101e5858]
movsd xmm3, qword [0x101e5850]
mov eax, dword [ebp + 0x50]
mov eax, dword [eax]
mov edx, ebx
mov dword [esp + 0x74], edi
mov edi, dword [ebp + 0x44]
add edx, dword [edi]
mov eax, dword [eax + edx*4]
mov edi, dword [ebp + 0x48]
push 4
mov ebx, dword [edi]
lea edi, [eax + 1]
push edi
push eax
push dword [ebx + edx*4]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x88], edx
call fcn.100db0e0
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x88]
movsd xmm3, qword [0x101e5850]
movsd xmm2, qword [0x101e5858]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x84], edi
mov edi, dword [ebp + 0x48]
mov edi, dword [edi]
mov dword [edi + edx*4], eax
mov eax, dword [ebp + 0x50]
mov edi, dword [ebp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + edx*4]
push 4
mov ebx, dword [edi]
lea edi, [eax + 1]
push edi
push eax
push dword [ebx + edx*4]
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x98], edx
mov dword [esp + 0xbc], ecx
call fcn.100db0e0
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x98]
movsd xmm3, qword [0x101e5850]
movsd xmm2, qword [0x101e5858]
add esp, 0x20
mov dword [esp + 0x70], eax
mov eax, dword [ebp + 0x4c]
mov eax, dword [eax]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x94], ebx
mov dword [eax + edx*4], ecx
mov ecx, dword [ebp + 0x28]
mov eax, dword [ecx + esi*4]
mov eax, dword [eax + edi*4]
mov ecx, dword [ebp + 0x48]
mov ebx, dword [ecx]
mov ecx, dword [ebp + 0x50]
mov ecx, dword [ecx]
mov ecx, dword [ecx + edx*4]
mov ebx, dword [ebx + edx*4]
mov dword [ebx + ecx*4], eax
mov eax, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x4c]
mov ebx, dword [eax + esi*4]
mov eax, dword [ecx]
mov ecx, dword [ebp + 0x50]
mov ecx, dword [ecx]
mov ecx, dword [ecx + edx*4]
mov eax, dword [eax + edx*4]
mov ebx, dword [ebx + edi*4]
mov dword [eax + ecx*4], ebx
mov eax, dword [ebp + 0x54]
mov ebx, dword [esp + 0x94]
mov ecx, dword [eax]
mov dword [ecx + edx*4], 3
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x90], eax
jmp 0x1009b5b6
mov edx, dword [ebp + 0x44]
add ebx, dword [edx]
mov ecx, dword [ebp + 0x50]
mov eax, dword [ecx]
mov eax, dword [eax + ebx*4]
mov edx, dword [ebp + 0x48]
push 4
mov edx, dword [edx]
lea ecx, [eax + 1]
push ecx
push eax
push dword [edx + ebx*4]
call fcn.100db0e0
mov edx, dword [ebp + 0x48]
push 4
mov ecx, dword [edx]
mov dword [ecx + ebx*4], eax
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x4c]
mov edx, dword [eax]
mov eax, dword [edx + ebx*4]
mov ecx, dword [ecx]
lea edx, [eax + 1]
push edx
push eax
push dword [ecx + ebx*4]
call fcn.100db0e0
add esp, 0x20
mov edx, dword [ebp + 0x4c]
mov ecx, dword [ebp + 0x48]
mov edx, dword [edx]
mov dword [edx + ebx*4], eax
mov ecx, dword [ecx]
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x50]
mov eax, dword [eax + esi*4]
mov edx, dword [edx]
mov edx, dword [edx + ebx*4]
mov ecx, dword [ecx + ebx*4]
mov eax, dword [eax + edi*4]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax + esi*4]
mov ecx, dword [ecx + edi*4]
mov edx, dword [ebp + 0x4c]
mov eax, dword [edx]
mov edx, dword [ebp + 0x50]
mov edx, dword [edx]
mov edx, dword [edx + ebx*4]
mov eax, dword [eax + ebx*4]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp + 0x54]
mov edx, dword [eax]
mov dword [edx + ebx*4], 3
mov eax, dword [esp + 0x158]
jmp 0x1009bc75
push 4
push dword [ebp + 0x24]
call fcn.101beb7a
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x38]
push 4
push dword [eax + esi*4]
call fcn.101beb7a
add esp, 0x10
mov edx, dword [esp + 0xb0]
mov dword [edx + esi*4], eax
mov eax, dword [ebp + 0x38]
cmp dword [eax + esi*4], 0
jle 0x1009c38f
xor edi, edi
mov eax, dword [ebp + 0x2c]
push 8
mov edx, dword [eax + esi*4]
push dword [edx + edi*4]
call fcn.101beb7a
mov ecx, dword [esp + 0xb8]
mov edx, dword [ebp + 0x28]
mov ebx, dword [ecx + esi*4]
mov dword [ebx + edi*4], eax
mov edx, dword [edx + esi*4]
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax + esi*4]
mov ebx, dword [ecx + esi*4]
lea ecx, [esp + 0x90]
push ecx
push dword [ebx + edi*4]
push dword [eax + edi*4]
push dword [edx + edi*4]
call fcn.100b4460
add esp, 0x18
mov eax, dword [ebp + 0x38]
inc edi
cmp edi, dword [eax + esi*4]
jl 0x1009c320
mov ebx, dword [ebp + 0x44]
mov eax, dword [esp + 0x158]
mov edx, dword [ebp + 0x38]
mov ecx, 1
cmp dword [edx + esi*4], 0
jg 0x1009b9b4
jmp 0x1009bc94
mov eax, dword [esp + 0x158]
mov ecx, 1
jg 0x1009b9b4
jmp 0x1009bc94
mov eax, dword [esp + 0x158]
test eax, eax
jle 0x1009bcf1
mov edx, dword [ebp + 0x50]
mov dword [esp + 0xa0], esi
xor ecx, ecx
mov esi, dword [ebx]
mov eax, dword [edx]
add esi, ecx
inc ecx
mov dword [eax + esi*4], 0
mov eax, dword [esp + 0x158]
cmp ecx, eax
jl 0x1009c3c1
mov esi, dword [esp + 0xa0]
jmp 0x1009bcf1
push 4
push dword [ebp + 0x24]
call fcn.101beb7a
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 0x38]
push 4
push dword [eax + esi*4]
call fcn.101beb7a
add esp, 0x10
mov edx, dword [esp + 0xb0]
mov dword [edx + esi*4], eax
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + esi*4]
test eax, eax
jle 0x1009c47e
xor edi, edi
mov eax, dword [ebp + 0x2c]
push 8
mov edx, dword [eax + esi*4]
push dword [edx + edi*4]
call fcn.101beb7a
mov ecx, dword [esp + 0xb8]
mov edx, dword [ebp + 0x28]
mov ebx, dword [ecx + esi*4]
mov dword [ebx + edi*4], eax
mov edx, dword [edx + esi*4]
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax + esi*4]
mov ebx, dword [ecx + esi*4]
lea ecx, [esp + 0x90]
push ecx
push dword [ebx + edi*4]
push dword [eax + edi*4]
push dword [edx + edi*4]
call fcn.100b4460
add esp, 0x18
mov eax, dword [ebp + 0x38]
inc edi
cmp edi, dword [eax + esi*4]
jl 0x1009c41d
mov ebx, dword [ebp + 0x44]
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + esi*4]
mov edi, 1
jmp 0x1009b0fb
mov edi, 1
jmp 0x1009b0fb
mov eax, dword [esp + 0x158]
test eax, eax
jle 0x1009c4b1
mov edx, dword [ebp + 0x50]
xor ecx, ecx
mov edi, dword [ebx]
mov eax, dword [edx]
add edi, ecx
inc ecx
mov dword [eax + edi*4], 0
mov eax, dword [esp + 0x158]
cmp ecx, eax
jl 0x1009c498
xor edi, edi
jmp 0x1009b64c
xor edi, edi
jmp 0x1009b712
push 4
push edi
call fcn.101beb7a
add esp, 8
test edi, edi
jle 0x1009be21
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x13c], ebx
mov dword [esp + 0xa8], esi
xor edx, edx
mov esi, eax
mov ebx, edx
push 8
push dword [edi + ebx*4]
call fcn.101beb7a
mov dword [esi + ebx*4], eax
lea ecx, [esp + 0x90]
push ecx
mov ecx, dword [ebp + 0x14]
push eax
push dword [edi + ebx*4]
push dword [ecx + ebx*4]
call fcn.100b4460
add esp, 0x18
inc ebx
cmp ebx, dword [ebp + 0x24]
jl 0x1009c4e9
mov edi, dword [ebp + 0x24]
mov ebx, dword [esp + 0x13c]
mov eax, esi
mov esi, dword [esp + 0xa8]
mov edx, 1
jmp 0x1009ae9c
mov edi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x5c]
test eax, eax
pxor xmm0, xmm0
je 0x1009c576
mov eax, dword [ebp + 0x5c]
push 0x10
mov edx, 1
mov dword [eax], edx
push edx
call fcn.101beb7a
add esp, 8
pxor xmm0, xmm0
mov edx, dword [ebp + 0x58]
mov dword [edx], eax
mov dword [eax], 0
subsd xmm0, qword [0x1021f8d0]
mov eax, edx
mov ecx, dword [eax]
movsd qword [ecx + 8], xmm0
test edi, edi
jle 0x1009c5d4
mov edi, dword [ebp + 0x4c]
mov ebx, dword [ebp + 0x48]
xor esi, esi
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax]
push dword [edx + esi*4]
call fcn.101bceaa
mov eax, dword [edi]
push dword [eax + esi*4]
call fcn.101bceaa
add esp, 8
mov eax, dword [ebp + 0x38]
cmp dword [eax + esi*4], 0
jle 0x1009c5c3
xor eax, eax
mov edi, eax
mov edx, dword [ebx]
mov ecx, dword [edx + esi*4]
push dword [ecx + edi*4]
call fcn.101bceaa
pop ecx
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + esi*4]
jl 0x1009c5a9
mov edi, dword [ebp + 0x4c]
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
pop ecx
inc esi
cmp esi, dword [ebp + 0x24]
jl 0x1009c582
mov eax, dword [ebp + 0x3c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x40]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x48]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x4c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x50]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.101bceaa
add esp, 0x18
mov eax, 3
add esp, 0x1b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x24]
mov eax, dword [ebp + 0x5c]
test eax, eax
pxor xmm0, xmm0
je 0x1009c685
mov eax, dword [ebp + 0x5c]
push 0x10
mov edx, 2
mov dword [eax], edx
push edx
call fcn.101beb7a
add esp, 8
pxor xmm0, xmm0
movaps xmm1, xmm0
mov edx, dword [ebp + 0x58]
mov dword [edx], eax
mov ebx, edx
mov dword [eax], 0
subsd xmm1, qword [0x1021f8d0]
mov eax, edx
mov ecx, dword [eax]
movsd qword [ecx + 8], xmm1
mov esi, dword [ebx]
mov dword [esi + 0x10], 0x5a
subsd xmm0, qword [0x1021f8c8]
mov edx, dword [eax]
movsd qword [edx + 0x18], xmm0
test edi, edi
jle 0x1009c6e3
mov edi, dword [ebp + 0x4c]
mov ebx, dword [ebp + 0x48]
xor esi, esi
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax]
push dword [edx + esi*4]
call fcn.101bceaa
mov eax, dword [edi]
push dword [eax + esi*4]
call fcn.101bceaa
add esp, 8
mov eax, dword [ebp + 0x38]
cmp dword [eax + esi*4], 0
jle 0x1009c6d2
xor eax, eax
mov edi, eax
mov edx, dword [ebx]
mov ecx, dword [edx + esi*4]
push dword [ecx + edi*4]
call fcn.101bceaa
pop ecx
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + esi*4]
jl 0x1009c6b8
mov edi, dword [ebp + 0x4c]
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
pop ecx
inc esi
cmp esi, dword [ebp + 0x24]
jl 0x1009c691
mov eax, dword [ebp + 0x3c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x40]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x48]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x4c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x50]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.101bceaa
add esp, 0x18
mov eax, 3
add esp, 0x1b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
movsd xmm1, qword [eax + edx*8 + 0x28]
pxor xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x1009c74a
je 0x1009d1e0
movsd xmm0, qword [0x101e5860]
ucomisd xmm1, xmm0
jp 0x1009c75e
je 0x1009d1e0
movsd xmm0, qword [0x101e5830]
movsd xmm3, qword [0x1021f8e0]
addsd xmm3, qword [0x101e5868]
imul esi, ecx, 0xa10
shl ecx, 4
mov dword [esp + 0xc4], eax
mov eax, dword [eax + edx*8 + 0x10]
mov dword [esp + 0xc8], edx
lea edi, [eax + eax*8]
mov eax, dword [0x10219190]
mov edx, dword [eax + esi + 0x918]
mov dword [esp + 0x174], ebx
mov ebx, dword [ebx + 0x44]
movsd xmm2, qword [ecx + ebx + 8]
addsd xmm2, qword [edx + edi*8 + 0x20]
subsd xmm2, qword [eax + esi + 0x80]
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x174]
movsd xmm1, qword [ecx + 0x80]
subsd xmm1, qword [eax + edx*8 + 0x20]
mov ecx, dword [ebp + 0x44]
movsd qword [esp + 0x68], xmm0
movsd qword [esp + 0x78], xmm3
addsd xmm2, xmm1
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x70], xmm2
mov eax, dword [ecx]
test eax, eax
jle 0x1009ce18
mov dword [esp + 0x138], eax
mov dword [esp + 0x174], ebx
mov ebx, dword [ebp + 0x3c]
mov edi, 0xffffffff
xor esi, esi
mov edx, edi
mov edi, dword [ebp + 0x54]
mov eax, dword [edi]
mov eax, dword [eax + esi*4]
cmp eax, 3
je 0x1009cf6e
cmp eax, 2
je 0x1009cd6e
test eax, eax
je 0x1009cd6e
movsd xmm2, qword [esp + 0x68]
movsd xmm7, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x80]
mov edx, dword [ebx]
mov eax, dword [edx + esi*4]
movsd xmm3, qword [eax]
movsd xmm5, qword [eax + 0x10]
movsd xmm4, qword [eax + 8]
movsd qword [esp + 0xf8], xmm3
movsd qword [esp + 0xf0], xmm4
movsd qword [esp + 0x100], xmm2
movsd qword [esp + 0x108], xmm7
subsd xmm5, xmm3
movsd xmm3, qword [eax + 0x18]
subsd xmm3, xmm4
movaps xmm0, xmm3
movaps xmm6, xmm3
mulsd xmm6, xmm3
movsd xmm4, qword [esp + 0x78]
subsd xmm4, xmm2
movaps xmm2, xmm5
mulsd xmm0, xmm4
subsd xmm1, xmm7
movsd qword [esp + 0x110], xmm1
mulsd xmm2, xmm1
movaps xmm7, xmm4
mulsd xmm1, xmm1
mulsd xmm7, xmm4
subsd xmm2, xmm0
movaps xmm0, xmm5
mulsd xmm0, xmm5
addsd xmm7, xmm1
addsd xmm0, xmm6
sqrtsd xmm0, xmm0
sqrtsd xmm6, xmm7
pxor xmm1, xmm1
movsd xmm7, qword [0x101e5870]
ucomisd xmm0, xmm1
jne 0x1009c913
jp 0x1009c913
movaps xmm0, xmm7
ucomisd xmm6, xmm1
movsd xmm1, qword [0x1020c110]
jne 0x1009c926
jp 0x1009c926
movaps xmm6, xmm7
mulsd xmm0, xmm6
movaps xmm6, xmm2
divsd xmm6, xmm0
movsd xmm0, qword [esp + 0x110]
comisd xmm1, xmm6
jbe 0x1009caf8
pxor xmm7, xmm7
subsd xmm7, xmm1
comisd xmm6, xmm7
jbe 0x1009caf8
movsd xmm0, qword [eax]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [ecx + 8], xmm1
lea edx, [esp + 0x10]
mov eax, dword [esp + 0x68]
mov dword [edx], eax
mov ecx, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x70]
mov dword [edx + 8], eax
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x78]
mov dword [eax], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 0xc], edx
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov ecx, dword [ebx]
mov eax, dword [ecx + esi*4]
movsd xmm0, qword [eax + 0x10]
mov edx, esp
movsd qword [edx], xmm0
movsd xmm1, qword [eax + 0x18]
movsd qword [edx + 8], xmm1
lea edx, [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [edx], ecx
mov eax, dword [esp + 0x6c]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x74]
mov dword [edx + 0xc], eax
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x20]
mov dword [eax], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 0xc], edx
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov ecx, dword [ebx]
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + 0xc], ecx
movsd xmm0, qword [eax]
lea edx, [esp + 0x10]
movsd qword [edx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [edx + 8], xmm1
lea edx, [esp + 0x20]
movsd xmm2, qword [eax + 0x10]
movsd qword [edx], xmm2
movsd xmm3, qword [eax + 0x18]
movsd qword [edx + 8], xmm3
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov ecx, dword [ebx]
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x78]
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [edx + 0xc], ecx
movsd xmm0, qword [eax]
lea edx, [esp + 0x10]
movsd qword [edx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [edx + 8], xmm1
lea edx, [esp + 0x20]
movsd xmm2, qword [eax + 0x10]
movsd qword [edx], xmm2
movsd xmm3, qword [eax + 0x18]
movsd qword [edx + 8], xmm3
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov edx, dword [ebx]
jmp 0x1009cb5e
movsd xmm6, qword [esp + 0xf0]
movsd xmm7, qword [esp + 0x108]
movsd xmm1, qword [esp + 0xf8]
subsd xmm7, xmm6
mulsd xmm4, xmm7
movsd xmm7, qword [esp + 0x100]
subsd xmm7, xmm1
mulsd xmm0, xmm7
subsd xmm4, xmm0
pxor xmm0, xmm0
subsd xmm0, xmm4
divsd xmm0, xmm2
mulsd xmm5, xmm0
addsd xmm1, xmm5
movsd qword [esp + 0x140], xmm1
mulsd xmm3, xmm0
addsd xmm6, xmm3
movsd qword [esp + 0x148], xmm6
push 0x10
push dword [edx + esi*4]
call fcn.101bcb76
add esp, 8
movsd xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
mov edx, dword [ebx]
mov dword [edx + esi*4], eax
mov eax, dword [ebx]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebp + 0x40]
movsd qword [ecx], xmm0
movsd qword [ecx + 8], xmm1
mov edx, dword [eax]
mov dword [edx + esi*4], 1
mov ecx, dword [edi]
xor edx, edx
mov dword [ecx + esi*4], 0
inc esi
cmp esi, dword [esp + 0x138]
jl 0x1009c832
mov ebx, dword [esp + 0x174]
mov edi, edx
mov dword [0x10283544], 1
test edi, edi
jle 0x1009cbef
mov dword [esp + 0x174], ebx
mov ebx, dword [ebp + 0x3c]
xor esi, esi
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
pop ecx
inc esi
cmp esi, edi
jl 0x1009cbd8
mov ebx, dword [esp + 0x174]
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
mov ecx, edi
cmp edi, eax
jge 0x1009cc44
mov esi, dword [ebp + 0x44]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x174], ebx
xor edx, edx
mov ebx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax]
mov edi, dword [eax + ecx*4]
mov dword [eax + edx*4], edi
mov edi, dword [ebp + 0x40]
mov edi, dword [edi]
mov eax, dword [edi + ecx*4]
mov dword [edi + edx*4], eax
mov edi, dword [ebx]
mov eax, dword [edi + ecx*4]
mov dword [edi + edx*4], eax
mov eax, dword [esi]
inc edx
inc ecx
cmp ecx, eax
jl 0x1009cc10
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x174]
mov esi, eax
sub esi, edi
cmp esi, eax
jge 0x1009cc8f
mov dword [esp + 0x8c], edi
mov edi, dword [ebp + 0x44]
mov dword [esp + 0x174], ebx
mov ebx, dword [ebp + 0x48]
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
mov eax, dword [ebp + 0x4c]
mov edx, dword [eax]
push dword [edx + esi*4]
call fcn.101bceaa
add esp, 8
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x1009cc60
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x174]
lea ecx, [edi*4]
mov dword [esp + 0xc0], ecx
shl eax, 2
sub eax, ecx
push eax
mov eax, dword [ebp + 0x3c]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0xc8]
push eax
mov eax, dword [ebp + 0x40]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x40]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0xd0]
push eax
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x54]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0xd8]
push eax
mov eax, dword [ebp + 0x48]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x48]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0xe0]
push eax
mov eax, dword [ebp + 0x4c]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0xe8]
push eax
mov eax, dword [ebp + 0x50]
push dword [eax]
call fcn.101bcb76
add esp, 0x30
mov ecx, dword [ebp + 0x50]
mov edx, dword [esp + 0x13c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
sub dword [eax], edi
mov edi, dword [edx + 0x91c]
mov dword [esp + 0x16c], edi
jmp 0x1009c0d1
movsd xmm1, qword [0x1020c110]
mov eax, dword [ebx]
mov eax, dword [eax + esi*4]
movsd xmm2, qword [eax + 8]
subsd xmm2, qword [esp + 0x70]
comisd xmm1, xmm2
jbe 0x1009cdaa
pxor xmm0, xmm0
subsd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x1009cdaa
inc esi
cmp esi, dword [esp + 0x138]
jl 0x1009c832
jmp 0x1009ce06
push eax
call fcn.101bceaa
mov eax, dword [ebp + 0x40]
push 0x10
mov edx, dword [eax]
push dword [edx]
call fcn.101beb7a
mov ecx, dword [ebp + 0x40]
mov edx, dword [ebx]
mov dword [edx + esi*4], eax
mov eax, dword [ebx]
mov edx, dword [ecx]
mov ecx, dword [edx]
shl ecx, 4
push ecx
push dword [eax]
push dword [eax + esi*4]
call fcn.101d7590
add esp, 0x18
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ecx + esi*4], edx
mov edx, dword [edi]
mov eax, dword [edx]
mov dword [edx + esi*4], eax
inc esi
mov edx, 1
cmp esi, dword [esp + 0x138]
jl 0x1009c832
jmp 0x1009cbb5
mov ebx, dword [esp + 0x174]
mov edi, edx
cmp edi, 0xffffffff
jne 0x1009cbbe
mov edi, dword [ebp + 0x24]
pxor xmm0, xmm0
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x1009ce85
cmp dword [0x1021f900], 1
je 0x1009cf34
mov eax, dword [ebp + 0x5c]
push 0x10
mov edx, 2
mov dword [eax], edx
push edx
call fcn.101beb7a
add esp, 8
pxor xmm0, xmm0
movaps xmm1, xmm0
mov edx, dword [ebp + 0x58]
mov dword [edx], eax
mov ebx, edx
mov dword [eax], 0
subsd xmm1, qword [0x1021f8d0]
mov eax, edx
mov ecx, dword [eax]
movsd qword [ecx + 8], xmm1
mov esi, dword [ebx]
mov dword [esi + 0x10], 0x5a
subsd xmm0, qword [0x1021f8c8]
mov edx, dword [eax]
movsd qword [edx + 0x18], xmm0
test edi, edi
jle 0x1009cee3
mov edi, dword [ebp + 0x4c]
mov ebx, dword [ebp + 0x48]
xor esi, esi
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax]
push dword [edx + esi*4]
call fcn.101bceaa
mov eax, dword [edi]
push dword [eax + esi*4]
call fcn.101bceaa
add esp, 8
mov eax, dword [ebp + 0x38]
cmp dword [eax + esi*4], 0
jle 0x1009ced2
xor eax, eax
mov edi, eax
mov edx, dword [ebx]
mov ecx, dword [edx + esi*4]
push dword [ecx + edi*4]
call fcn.101bceaa
pop ecx
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + esi*4]
jl 0x1009ceb8
mov edi, dword [ebp + 0x4c]
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
pop ecx
inc esi
cmp esi, dword [ebp + 0x24]
jl 0x1009ce91
mov eax, dword [ebp + 0x3c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x40]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x48]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x4c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x50]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.101bceaa
add esp, 0x18
mov eax, 3
add esp, 0x1b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x5c]
push 0x10
mov edx, 1
mov dword [eax], edx
push edx
call fcn.101beb7a
add esp, 8
pxor xmm0, xmm0
mov edx, dword [ebp + 0x58]
mov dword [edx], eax
mov dword [eax], 0
subsd xmm0, qword [0x1021f8d0]
mov eax, edx
mov ecx, dword [eax]
movsd qword [ecx + 8], xmm0
jmp 0x1009ce85
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx]
mov dword [esp + 0x8c], edx
mov edx, dword [ebx]
xor ecx, ecx
push ecx
push ecx
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0xc4]
push ecx
push 2
lea ecx, [esp + 0x7c]
push ecx
push dword [eax + esi*4]
push dword [edx + esi*4]
call fcn.100aa050
mov edx, dword [esp + 0xac]
add esp, 0x20
test eax, eax
jne 0x1009dc0d
mov eax, dword [esp + 0xbc]
test eax, eax
jle 0x1009cd9a
mov ecx, dword [ebp + 0x44]
push 4
mov ecx, dword [ecx]
add eax, ecx
push eax
push ecx
push dword [ebx]
mov dword [esp + 0x9c], edx
call fcn.100db0e0
mov edx, dword [esp + 0x9c]
mov dword [ebx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xcc]
push 4
mov eax, dword [eax]
add ecx, eax
push ecx
mov ecx, dword [ebp + 0x40]
push eax
push dword [ecx]
mov dword [esp + 0xac], edx
call fcn.100db0e0
mov edx, dword [esp + 0xac]
mov ecx, dword [ebp + 0x40]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xdc]
mov eax, dword [eax]
add ecx, eax
push 4
push ecx
push eax
push dword [edi]
mov dword [esp + 0xbc], edx
call fcn.100db0e0
mov edx, dword [esp + 0xbc]
mov dword [edi], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xec]
push 4
mov eax, dword [eax]
add ecx, eax
push ecx
mov ecx, dword [ebp + 0x48]
push eax
push dword [ecx]
mov dword [esp + 0xcc], edx
call fcn.100db0e0
mov edx, dword [esp + 0xcc]
mov ecx, dword [ebp + 0x48]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xfc]
mov eax, dword [eax]
add ecx, eax
push 4
push ecx
push eax
mov eax, dword [ebp + 0x4c]
push dword [eax]
mov dword [esp + 0xdc], edx
call fcn.100db0e0
mov edx, dword [esp + 0xdc]
mov ecx, dword [ebp + 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x10c]
mov eax, dword [eax]
add ecx, eax
push 4
push ecx
push eax
mov eax, dword [ebp + 0x50]
push dword [eax]
mov dword [esp + 0xec], edx
call fcn.100db0e0
mov edx, dword [esp + 0xec]
add esp, 0x60
mov ecx, dword [ebp + 0x50]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax]
cmp edx, 0xffffffff
cmove edx, ecx
mov eax, dword [esp + 0xbc]
test eax, eax
jle 0x1009d1b7
mov dword [esp + 0x8c], edx
mov dword [esp + 0x5c], esi
xor eax, eax
mov esi, eax
mov edx, dword [ebp + 0x44]
push 0x10
push 2
mov edi, esi
add edi, dword [edx]
call fcn.101beb7a
mov ecx, dword [ebx]
mov dword [ecx + edi*4], eax
mov ecx, dword [esp + 0xc0]
mov edx, dword [ebx]
mov eax, dword [edx + edi*4]
mov edx, esi
shl edx, 5
movsd xmm0, qword [edx + ecx]
movsd qword [eax], xmm0
movsd xmm1, qword [edx + ecx + 8]
movsd qword [eax + 8], xmm1
mov ecx, dword [ebx]
mov eax, dword [ecx + edi*4]
mov ecx, dword [esp + 0xc0]
push 4
movsd xmm2, qword [edx + ecx + 0x10]
movsd qword [eax + 0x10], xmm2
movsd xmm3, qword [edx + ecx + 0x18]
mov edx, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x54]
movsd qword [eax + 0x18], xmm3
mov edx, dword [edx]
mov eax, 2
mov dword [edx + edi*4], eax
mov edx, dword [ecx]
mov dword [edx + edi*4], eax
call fcn.101bcde0
mov edx, dword [ebp + 0x48]
push 4
mov ecx, dword [edx]
mov dword [ecx + edi*4], eax
call fcn.101bcde0
add esp, 0x10
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx]
mov edx, dword [ebp + 0x50]
mov dword [ecx + edi*4], eax
mov edx, dword [edx]
mov dword [edx + edi*4], 0
mov eax, dword [esp + 0xbc]
inc esi
cmp esi, eax
jl 0x1009d0f6
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x5c]
mov edi, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x44]
mov ecx, dword [ecx]
add ecx, eax
mov eax, dword [ebp + 0x44]
mov dword [eax], ecx
push dword [esp + 0xb8]
mov dword [esp + 0x90], edx
call fcn.101bceaa
mov edx, dword [esp + 0x90]
add esp, 4
jmp 0x1009cd9a
cmp dword [0x1021f900], 1
je 0x1009c0d1
movsd xmm0, qword [0x101e5830]
movsd xmm3, qword [0x1021f8d8]
addsd xmm3, qword [0x101e5868]
imul esi, ecx, 0xa10
shl ecx, 4
mov dword [esp + 0xc4], eax
mov eax, dword [eax + edx*8 + 0x10]
mov dword [esp + 0xc8], edx
lea edi, [eax + eax*8]
mov eax, dword [0x10219190]
mov edx, dword [eax + esi + 0x918]
mov dword [esp + 0x174], ebx
mov ebx, dword [ebx + 0x44]
movsd xmm2, qword [ecx + ebx]
addsd xmm2, qword [edx + edi*8 + 0x18]
subsd xmm2, qword [eax + esi + 0x78]
mov ecx, dword [esp + 0x13c]
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xc4]
mov ebx, dword [esp + 0x174]
movsd xmm1, qword [ecx + 0x78]
subsd xmm1, qword [eax + edx*8 + 0x18]
mov ecx, dword [ebp + 0x44]
movsd qword [esp + 0x70], xmm0
movsd qword [esp + 0x80], xmm3
addsd xmm2, xmm1
movsd qword [esp + 0x78], xmm2
movsd qword [esp + 0x68], xmm2
mov eax, dword [ecx]
test eax, eax
jle 0x1009d887
mov dword [esp + 0xcc], eax
mov dword [esp + 0x174], ebx
mov ebx, dword [ebp + 0x54]
mov edi, 0xffffffff
xor esi, esi
mov edx, edi
mov edi, dword [ebp + 0x3c]
mov eax, dword [ebx]
mov eax, dword [eax + esi*4]
cmp eax, 3
je 0x1009d996
cmp eax, 1
je 0x1009d7de
test eax, eax
je 0x1009d7de
movsd xmm2, qword [esp + 0x68]
movsd xmm7, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x80]
mov edx, dword [edi]
mov eax, dword [edx + esi*4]
movsd xmm3, qword [eax]
movsd xmm5, qword [eax + 0x10]
movsd xmm4, qword [eax + 8]
movsd qword [esp + 0x98], xmm3
movsd qword [esp + 0x90], xmm4
movsd qword [esp + 0xa0], xmm2
movsd qword [esp + 0xa8], xmm7
subsd xmm5, xmm3
movsd xmm3, qword [eax + 0x18]
subsd xmm3, xmm4
movaps xmm0, xmm3
movaps xmm6, xmm3
mulsd xmm6, xmm3
movsd xmm4, qword [esp + 0x78]
subsd xmm4, xmm2
movaps xmm2, xmm5
mulsd xmm0, xmm4
subsd xmm1, xmm7
movsd qword [esp + 0xb0], xmm1
mulsd xmm2, xmm1
movaps xmm7, xmm4
mulsd xmm1, xmm1
mulsd xmm7, xmm4
subsd xmm2, xmm0
movaps xmm0, xmm5
mulsd xmm0, xmm5
addsd xmm7, xmm1
addsd xmm0, xmm6
sqrtsd xmm0, xmm0
sqrtsd xmm6, xmm7
pxor xmm1, xmm1
movsd xmm7, qword [0x101e5870]
ucomisd xmm0, xmm1
jne 0x1009d39b
jp 0x1009d39b
movaps xmm0, xmm7
ucomisd xmm6, xmm1
movsd xmm1, qword [0x1020c110]
jne 0x1009d3ae
jp 0x1009d3ae
movaps xmm6, xmm7
mulsd xmm0, xmm6
movaps xmm6, xmm2
divsd xmm6, xmm0
movsd xmm0, qword [esp + 0xb0]
comisd xmm1, xmm6
jbe 0x1009d580
pxor xmm7, xmm7
subsd xmm7, xmm1
comisd xmm6, xmm7
jbe 0x1009d580
movsd xmm0, qword [eax]
mov ecx, esp
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [ecx + 8], xmm1
lea edx, [esp + 0x10]
mov eax, dword [esp + 0x68]
mov dword [edx], eax
mov ecx, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x70]
mov dword [edx + 8], eax
lea eax, [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x78]
mov dword [eax], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 0xc], edx
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov ecx, dword [edi]
mov eax, dword [ecx + esi*4]
movsd xmm0, qword [eax + 0x10]
mov edx, esp
movsd qword [edx], xmm0
movsd xmm1, qword [eax + 0x18]
movsd qword [edx + 8], xmm1
lea edx, [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [edx], ecx
mov eax, dword [esp + 0x6c]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], ecx
mov eax, dword [esp + 0x74]
mov dword [edx + 0xc], eax
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x20]
mov dword [eax], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 0xc], edx
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov ecx, dword [edi]
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x68]
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x6c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + 0xc], ecx
movsd xmm0, qword [eax]
lea edx, [esp + 0x10]
movsd qword [edx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [edx + 8], xmm1
lea edx, [esp + 0x20]
movsd xmm2, qword [eax + 0x10]
movsd qword [edx], xmm2
movsd xmm3, qword [eax + 0x18]
movsd qword [edx + 8], xmm3
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov ecx, dword [edi]
mov eax, dword [ecx + esi*4]
mov ecx, dword [esp + 0x78]
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x80]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x84]
mov dword [edx + 0xc], ecx
movsd xmm0, qword [eax]
lea edx, [esp + 0x10]
movsd qword [edx], xmm0
movsd xmm1, qword [eax + 8]
movsd qword [edx + 8], xmm1
lea edx, [esp + 0x20]
movsd xmm2, qword [eax + 0x10]
movsd qword [edx], xmm2
movsd xmm3, qword [eax + 0x18]
movsd qword [edx + 8], xmm3
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.100ab8f0
fstp st(0)
mov edx, dword [edi]
jmp 0x1009d5e6
movsd xmm6, qword [esp + 0x90]
movsd xmm7, qword [esp + 0xa8]
movsd xmm1, qword [esp + 0x98]
subsd xmm7, xmm6
mulsd xmm4, xmm7
movsd xmm7, qword [esp + 0xa0]
subsd xmm7, xmm1
mulsd xmm0, xmm7
subsd xmm4, xmm0
pxor xmm0, xmm0
subsd xmm0, xmm4
divsd xmm0, xmm2
mulsd xmm5, xmm0
addsd xmm1, xmm5
movsd qword [esp + 0x140], xmm1
mulsd xmm3, xmm0
addsd xmm6, xmm3
movsd qword [esp + 0x148], xmm6
push 0x10
push dword [edx + esi*4]
call fcn.101bcb76
add esp, 8
movsd xmm0, qword [esp + 0x140]
movsd xmm1, qword [esp + 0x148]
mov edx, dword [edi]
mov dword [edx + esi*4], eax
mov eax, dword [edi]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebp + 0x40]
movsd qword [ecx], xmm0
movsd qword [ecx + 8], xmm1
mov edx, dword [eax]
mov dword [edx + esi*4], 1
mov ecx, dword [ebx]
xor edx, edx
mov dword [ecx + esi*4], 0
inc esi
cmp esi, dword [esp + 0xcc]
jl 0x1009d2ba
mov ebx, dword [esp + 0x174]
mov edi, edx
mov dword [0x10283544], 1
test edi, edi
jle 0x1009d677
mov dword [esp + 0x174], ebx
mov ebx, dword [ebp + 0x3c]
xor esi, esi
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
pop ecx
inc esi
cmp esi, edi
jl 0x1009d660
mov ebx, dword [esp + 0x174]
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
mov ecx, edi
cmp edi, eax
jge 0x1009d6c6
mov esi, dword [ebp + 0x44]
mov dword [esp + 0x60], edi
mov dword [esp + 0x174], ebx
xor edx, edx
mov ebx, dword [ebp + 0x54]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax]
mov edi, dword [eax + ecx*4]
mov dword [eax + edx*4], edi
mov edi, dword [ebp + 0x40]
mov edi, dword [edi]
mov eax, dword [edi + ecx*4]
mov dword [edi + edx*4], eax
mov edi, dword [ebx]
mov eax, dword [edi + ecx*4]
mov dword [edi + edx*4], eax
mov eax, dword [esi]
inc edx
inc ecx
cmp ecx, eax
jl 0x1009d695
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x174]
mov esi, eax
sub esi, edi
cmp esi, eax
jge 0x1009d70b
mov dword [esp + 0x60], edi
mov edi, dword [ebp + 0x44]
mov dword [esp + 0x174], ebx
mov ebx, dword [ebp + 0x48]
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
mov eax, dword [ebp + 0x4c]
mov edx, dword [eax]
push dword [edx + esi*4]
call fcn.101bceaa
add esp, 8
mov eax, dword [edi]
inc esi
cmp esi, eax
jl 0x1009d6df
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x174]
lea ecx, [edi*4]
mov dword [esp + 0x64], ecx
shl eax, 2
sub eax, ecx
push eax
mov eax, dword [ebp + 0x3c]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x3c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0x6c]
push eax
mov eax, dword [ebp + 0x40]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x40]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0x74]
push eax
mov eax, dword [ebp + 0x48]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x48]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0x7c]
push eax
mov eax, dword [ebp + 0x4c]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0x84]
push eax
mov eax, dword [ebp + 0x50]
push dword [eax]
call fcn.101bcb76
mov ecx, dword [ebp + 0x50]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov eax, dword [eax]
shl eax, 2
sub eax, dword [esp + 0x8c]
push eax
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.101bcb76
add esp, 0x30
mov ecx, dword [ebp + 0x54]
mov edx, dword [esp + 0x13c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
sub dword [eax], edi
mov edi, dword [edx + 0x91c]
mov dword [esp + 0x16c], edi
jmp 0x1009c0d1
movsd xmm1, qword [0x1020c110]
mov eax, dword [edi]
mov eax, dword [eax + esi*4]
movsd xmm2, qword [eax]
subsd xmm2, qword [esp + 0x68]
comisd xmm1, xmm2
jbe 0x1009d819
pxor xmm0, xmm0
subsd xmm0, xmm1
comisd xmm2, xmm0
jbe 0x1009d819
inc esi
cmp esi, dword [esp + 0xcc]
jl 0x1009d2ba
jmp 0x1009d875
push eax
call fcn.101bceaa
mov eax, dword [ebp + 0x40]
push 0x10
mov edx, dword [eax]
push dword [edx]
call fcn.101beb7a
mov ecx, dword [ebp + 0x40]
mov edx, dword [edi]
mov dword [edx + esi*4], eax
mov eax, dword [edi]
mov edx, dword [ecx]
mov ecx, dword [edx]
shl ecx, 4
push ecx
push dword [eax]
push dword [eax + esi*4]
call fcn.101d7590
add esp, 0x18
mov eax, dword [ebp + 0x40]
mov ecx, dword [eax]
mov edx, dword [ecx]
mov dword [ecx + esi*4], edx
mov edx, dword [ebx]
mov eax, dword [edx]
mov dword [edx + esi*4], eax
inc esi
mov edx, 1
cmp esi, dword [esp + 0xcc]
jl 0x1009d2ba
jmp 0x1009d63d
mov ebx, dword [esp + 0x174]
mov edi, edx
cmp edi, 0xffffffff
jne 0x1009d646
mov edi, dword [ebp + 0x24]
pxor xmm0, xmm0
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x1009d8e7
mov eax, dword [ebp + 0x5c]
push 0x10
mov edx, 2
mov dword [eax], edx
push edx
call fcn.101beb7a
add esp, 8
pxor xmm0, xmm0
movaps xmm1, xmm0
mov edx, dword [ebp + 0x58]
mov dword [edx], eax
mov ebx, edx
mov dword [eax], 0
subsd xmm1, qword [0x1021f8d0]
mov eax, edx
mov ecx, dword [eax]
movsd qword [ecx + 8], xmm1
mov esi, dword [ebx]
mov dword [esi + 0x10], 0x5a
subsd xmm0, qword [0x1021f8c8]
mov edx, dword [eax]
movsd qword [edx + 0x18], xmm0
test edi, edi
jle 0x1009d945
mov edi, dword [ebp + 0x4c]
mov ebx, dword [ebp + 0x48]
xor esi, esi
mov eax, dword [ebp + 0x3c]
mov edx, dword [eax]
push dword [edx + esi*4]
call fcn.101bceaa
mov eax, dword [edi]
push dword [eax + esi*4]
call fcn.101bceaa
add esp, 8
mov eax, dword [ebp + 0x38]
cmp dword [eax + esi*4], 0
jle 0x1009d934
xor eax, eax
mov edi, eax
mov edx, dword [ebx]
mov ecx, dword [edx + esi*4]
push dword [ecx + edi*4]
call fcn.101bceaa
pop ecx
mov edx, dword [ebp + 0x38]
inc edi
cmp edi, dword [edx + esi*4]
jl 0x1009d91a
mov edi, dword [ebp + 0x4c]
mov eax, dword [ebx]
push dword [eax + esi*4]
call fcn.101bceaa
pop ecx
inc esi
cmp esi, dword [ebp + 0x24]
jl 0x1009d8f3
mov eax, dword [ebp + 0x3c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x40]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x48]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x4c]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x50]
push dword [eax]
call fcn.101bceaa
mov eax, dword [ebp + 0x54]
push dword [eax]
call fcn.101bceaa
add esp, 0x18
mov eax, 3
add esp, 0x1b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x40]
mov eax, dword [ecx]
mov dword [esp + 0x60], edx
mov edx, dword [edi]
xor ecx, ecx
push ecx
push ecx
lea ecx, [esp + 0xc4]
push ecx
lea ecx, [esp + 0xc4]
push ecx
push 2
lea ecx, [esp + 0x7c]
push ecx
push dword [eax + esi*4]
push dword [edx + esi*4]
call fcn.100aa050
mov edx, dword [esp + 0x80]
add esp, 0x20
test eax, eax
jne 0x1009dbf6
mov eax, dword [esp + 0xbc]
test eax, eax
jle 0x1009d809
mov ecx, dword [ebp + 0x44]
push 4
mov ecx, dword [ecx]
add eax, ecx
push eax
push ecx
push dword [edi]
mov dword [esp + 0x70], edx
call fcn.100db0e0
mov edx, dword [esp + 0x70]
mov dword [edi], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xcc]
push 4
mov eax, dword [eax]
add ecx, eax
push ecx
mov ecx, dword [ebp + 0x40]
push eax
push dword [ecx]
mov dword [esp + 0x80], edx
call fcn.100db0e0
mov edx, dword [esp + 0x80]
mov ecx, dword [ebp + 0x40]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xdc]
mov eax, dword [eax]
add ecx, eax
push 4
push ecx
push eax
mov eax, dword [ebp + 0x48]
push dword [eax]
mov dword [esp + 0x90], edx
call fcn.100db0e0
mov edx, dword [esp + 0x90]
mov ecx, dword [ebp + 0x48]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xec]
mov eax, dword [eax]
add ecx, eax
push 4
push ecx
push eax
mov eax, dword [ebp + 0x4c]
push dword [eax]
mov dword [esp + 0xa0], edx
call fcn.100db0e0
mov edx, dword [esp + 0xa0]
mov ecx, dword [ebp + 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0xfc]
mov eax, dword [eax]
add ecx, eax
push 4
push ecx
push eax
mov eax, dword [ebp + 0x50]
push dword [eax]
mov dword [esp + 0xb0], edx
call fcn.100db0e0
mov edx, dword [esp + 0xb0]
mov ecx, dword [ebp + 0x50]
mov dword [ecx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [esp + 0x10c]
mov eax, dword [eax]
add ecx, eax
push 4
push ecx
push eax
push dword [ebx]
mov dword [esp + 0xc0], edx
call fcn.100db0e0
mov edx, dword [esp + 0xc0]
add esp, 0x60
mov dword [ebx], eax
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax]
mov eax, dword [esp + 0xbc]
cmp edx, 0xffffffff
cmove edx, ecx
test eax, eax
jle 0x1009dbd3
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], esi
xor eax, eax
mov esi, eax
mov edx, dword [ebp + 0x44]
push 0x10
push 2
mov ebx, esi
add ebx, dword [edx]
call fcn.101beb7a
mov edx, dword [edi]
mov dword [edx + ebx*4], eax
mov edx, dword [esp + 0xc0]
mov ecx, dword [edi]
mov ecx, dword [ecx + ebx*4]
mov eax, esi
shl eax, 5
movsd xmm0, qword [eax + edx]
movsd qword [ecx], xmm0
movsd xmm1, qword [eax + edx + 8]
movsd qword [ecx + 8], xmm1
mov ecx, dword [esp + 0xc0]
push 4
mov edx, dword [edi]
mov edx, dword [edx + ebx*4]
movsd xmm2, qword [eax + ecx + 0x10]
movsd qword [edx + 0x10], xmm2
movsd xmm3, qword [eax + ecx + 0x18]
movsd qword [edx + 0x18], xmm3
mov edx, dword [ebp + 0x40]
mov edx, dword [edx]
mov dword [edx + ebx*4], 2
mov edx, dword [ebp + 0x54]
mov edx, dword [edx]
mov dword [edx + ebx*4], 1
call fcn.101bcde0
mov edx, dword [ebp + 0x48]
push 4
mov ecx, dword [edx]
mov dword [ecx + ebx*4], eax
call fcn.101bcde0
add esp, 0x10
mov edx, dword [ebp + 0x4c]
mov ecx, dword [edx]
mov edx, dword [ebp + 0x50]
mov dword [ecx + ebx*4], eax
mov edx, dword [edx]
mov dword [edx + ebx*4], 0
mov eax, dword [esp + 0xbc]
inc esi
cmp esi, eax
jl 0x1009db12
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x58]
mov ebx, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x44]
mov ecx, dword [ecx]
add eax, ecx
mov ecx, dword [ebp + 0x44]
mov dword [ecx], eax
push dword [esp + 0xb8]
mov dword [esp + 0x64], edx
call fcn.101bceaa
mov edx, dword [esp + 0x64]
add esp, 4
jmp 0x1009d809
cmp dword [esp + 0xbc], 0
jle 0x1009dc0d
push dword [esp + 0xb8]
call fcn.101bceaa
pop ecx
mov eax, 0x63
add esp, 0x1b4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push 1
push str.layer_type_tubular_not_supported
push ecx
push dword [0x10219180]
push 0x101e5980
call fcn.100e45a0
add esp, 0x14
jmp 0x1009be2d