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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0x224
mov eax, dword [ebp + 0x18]
inc dword [0x10210a08]
mov dword [eax], 0
push 4
push 1
call fcn.101beb7a
mov ebx, eax
mov edi, dword [ebp + 0xc]
push 0x10
push edi
call fcn.101beb7a
push 4
push 1
mov dword [ebx], eax
call fcn.101beb7a
mov esi, eax
push 4
push edi
call fcn.101beb7a
push 4
push 1
mov dword [esi], eax
call fcn.101beb7a
mov dword [esp + 0x224], eax
push 4
push 1
call fcn.101beb7a
mov dword [esp + 0x23c], eax
push 8
push edi
call fcn.101beb7a
add esp, 0x38
cmp dword [ebp + 0x20], 0
mov edx, dword [ebp + 0x14]
mov ecx, dword [esp + 0x20c]
mov dword [ecx], eax
mov eax, 0
mov dword [edx], eax
mov edx, dword [ebp + 0x1c]
mov dword [edx], eax
je 0x10095dfd
mov eax, dword [ebp + 0x20]
mov dword [eax], 0
cmp dword [ebp + 0x24], 0
je 0x10095e0c
mov eax, dword [ebp + 0x24]
mov dword [eax], 0
mov eax, edi
shl eax, 4
push eax
push dword [ebp + 8]
push dword [ebx]
call fcn.101d7590
lea eax, [edi*8]
push eax
push dword [ebp + 0x10]
mov edx, dword [esp + 0x220]
push dword [edx]
call fcn.101d7590
add esp, 0x18
test edi, edi
jle 0x10095f02
mov edx, dword [esi]
mov dword [esp + 0x40], edx
and edx, 0xf
je 0x10095e5c
test dl, 3
jne 0x10096514
neg edx
add edx, 0x10
shr edx, 2
lea eax, [edx + 4]
cmp edi, eax
jl 0x10096514
mov ecx, edi
sub ecx, edx
and ecx, 3
neg ecx
add ecx, edi
test edx, edx
jbe 0x10095e92
mov dword [esp + 0x214], ebx
mov ebx, dword [esp + 0x40]
xor eax, eax
mov dword [ebx + eax*4], eax
inc eax
cmp eax, edx
jb 0x10095e83
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x210], esi
mov dword [esp + 0x44], ecx
lea ecx, [edx + 1]
lea esi, [edx + 2]
lea edi, [edx + 3]
mov eax, 4
movd xmm0, eax
mov eax, dword [esp + 0x40]
pshufd xmm1, xmm0, 0
movd xmm0, edx
movd xmm2, ecx
mov ecx, dword [esp + 0x44]
punpckldq xmm0, xmm2
movd xmm4, esi
mov esi, dword [esp + 0x210]
movd xmm3, edi
mov edi, dword [ebp + 0xc]
punpckldq xmm4, xmm3
punpcklqdq xmm0, xmm4
movdqa xmmword [eax + edx*4], xmm0
paddd xmm0, xmm1
add edx, 4
cmp edx, ecx
jb 0x10095ee2
cmp ecx, edi
jae 0x10095f02
mov eax, dword [esp + 0x40]
mov dword [eax + ecx*4], ecx
inc ecx
cmp ecx, edi
jb 0x10095efa
mov eax, dword [esp + 0x1fc]
movsd xmm1, qword [0x101e56c8]
movsd xmm0, qword [0x101e56d0]
mov dword [esp + 0x210], esi
mov dword [eax], edi
mov edi, 1
mov dword [esp + 0x214], ebx
xor edx, edx
mov dword [esp + 0x1ec], edx
mov esi, eax
mov ecx, dword [esi]
test ecx, ecx
jle 0x10095f66
mov eax, dword [esp + 0x20c]
movsd xmm1, qword [0x101e56c8]
mov eax, dword [eax]
xor ebx, ebx
movsd xmm0, qword [eax + ebx*8]
comisd xmm0, xmm1
ja 0x1009654a
inc ebx
cmp ebx, ecx
jl 0x10095f52
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
push 4
mov ecx, dword [eax]
lea edx, [ecx + 1]
push edx
push ecx
push dword [ebx]
call fcn.100db0e0
mov edx, dword [ebp + 0x14]
push 4
mov dword [edx], eax
mov eax, dword [ebp + 0x18]
mov ebx, dword [eax]
mov eax, dword [ebp + 0x1c]
lea ecx, [ebx + 1]
push ecx
push ebx
push dword [eax]
call fcn.100db0e0
add esp, 0x20
cmp dword [ebp + 0x20], 0
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov dword [edx], eax
mov edx, dword [esp + 0x214]
mov eax, dword [ecx]
mov ebx, dword [ebx]
mov ecx, dword [edx]
mov dword [ebx + eax*4], ecx
je 0x10096536
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x20]
push 4
mov ecx, dword [eax]
lea edx, [ecx + 1]
push edx
push ecx
push dword [ebx]
call fcn.100db0e0
add esp, 0x10
mov edx, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x18]
mov ebx, dword [esp + 0x20c]
mov ebx, dword [ebx]
mov dword [edx], eax
mov edx, dword [ecx]
mov dword [eax + edx*4], ebx
cmp dword [ebp + 0x24], 0
je 0x10096522
mov eax, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x24]
push 4
mov ecx, dword [eax]
lea edx, [ecx + 1]
push edx
push ecx
push dword [ebx]
call fcn.100db0e0
add esp, 0x10
mov edx, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x18]
mov ebx, dword [esp + 0x210]
mov ebx, dword [ebx]
mov dword [edx], eax
mov edx, dword [ecx]
mov dword [eax + edx*4], ebx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [eax]
mov ecx, dword [ecx]
mov ebx, dword [esi]
dec edi
mov dword [ecx + edx*4], ebx
inc dword [eax]
test edi, edi
jle 0x100964c9
xor ebx, ebx
mov dword [esp + 0x1e4], ebx
mov edx, dword [esp + 0x20c]
and edx, 0x3f
je 0x10096067
test dl, 3
jne 0x1009651b
neg edx
add edx, 0x40
shr edx, 2
lea eax, [edx + 0x10]
cmp edi, eax
jl 0x1009651b
mov ecx, edi
sub ecx, edx
and ecx, 0xf
neg ecx
add ecx, edi
test edx, edx
jbe 0x100960e3
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0x208], ebx
xor eax, eax
mov dword [esp + 0x1e0], edi
mov ebx, dword [esi + eax*4 + 4]
mov dword [esi + eax*4], ebx
mov ebx, dword [esp + 0x214]
mov edi, dword [ebx + eax*4 + 4]
mov dword [ebx + eax*4], edi
mov ebx, dword [esp + 0x210]
mov edi, dword [ebx + eax*4 + 4]
mov dword [ebx + eax*4], edi
mov edi, dword [ecx + eax*4 + 4]
mov dword [ecx + eax*4], edi
inc eax
cmp eax, edx
jb 0x1009609f
mov ecx, dword [esp + 0x1e8]
mov ebx, dword [esp + 0x208]
mov edi, dword [esp + 0x1e0]
mov eax, dword [esp + 0x210]
lea eax, [eax + edx*4]
test al, 0x3f
je 0x10096202
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x208], ebx
mov ebx, dword [esp + 0x210]
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x214]
movdqu xmm0, xmmword [esi + edx*4 + 4]
movdqu xmm1, xmmword [edi + edx*4 + 4]
movdqu xmm2, xmmword [ebx + edx*4 + 4]
movdqu xmm3, xmmword [eax + edx*4 + 4]
movdqu xmm4, xmmword [esi + edx*4 + 0x14]
movdqu xmm5, xmmword [edi + edx*4 + 0x14]
movdqu xmm6, xmmword [ebx + edx*4 + 0x14]
movdqu xmm7, xmmword [eax + edx*4 + 0x14]
movdqu xmmword [esi + edx*4], xmm0
movdqu xmm0, xmmword [esi + edx*4 + 0x24]
movdqu xmmword [edi + edx*4], xmm1
movdqu xmm1, xmmword [edi + edx*4 + 0x24]
movdqu xmmword [ebx + edx*4], xmm2
movdqu xmm2, xmmword [ebx + edx*4 + 0x24]
movdqu xmmword [esi + edx*4 + 0x10], xmm4
movdqu xmm4, xmmword [esi + edx*4 + 0x34]
movdqu xmmword [edi + edx*4 + 0x10], xmm5
movdqu xmm5, xmmword [edi + edx*4 + 0x34]
movdqu xmmword [ebx + edx*4 + 0x10], xmm6
movdqu xmm6, xmmword [ebx + edx*4 + 0x34]
movdqu xmmword [esi + edx*4 + 0x20], xmm0
movd xmm0, dword [eax + edx*4 + 0x38]
movdqu xmmword [edi + edx*4 + 0x20], xmm1
movd xmm1, dword [eax + edx*4 + 0x34]
movdqu xmmword [ebx + edx*4 + 0x20], xmm2
movdqu xmmword [esi + edx*4 + 0x30], xmm4
movdqu xmmword [edi + edx*4 + 0x30], xmm5
movdqu xmmword [ebx + edx*4 + 0x30], xmm6
movdqa xmmword [eax + edx*4], xmm3
movdqu xmm3, xmmword [eax + edx*4 + 0x24]
movdqa xmmword [eax + edx*4 + 0x10], xmm7
movd xmm7, dword [eax + edx*4 + 0x3c]
movdqa xmmword [eax + edx*4 + 0x20], xmm3
punpckldq xmm1, xmm7
movd xmm7, dword [eax + edx*4 + 0x40]
punpckldq xmm0, xmm7
punpckldq xmm1, xmm0
movdqa xmmword [eax + edx*4 + 0x30], xmm1
add edx, 0x10
cmp edx, ecx
jb 0x10096118
jmp 0x10096328
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x208], ebx
mov ebx, dword [esp + 0x210]
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x214]
movdqu xmm0, xmmword [esi + edx*4 + 4]
movdqu xmm1, xmmword [edi + edx*4 + 4]
movdqu xmm2, xmmword [ebx + edx*4 + 4]
movdqu xmm3, xmmword [eax + edx*4 + 4]
movdqu xmm4, xmmword [esi + edx*4 + 0x14]
movdqu xmm5, xmmword [edi + edx*4 + 0x14]
movdqu xmm6, xmmword [ebx + edx*4 + 0x14]
movdqu xmm7, xmmword [eax + edx*4 + 0x14]
movdqu xmmword [esi + edx*4], xmm0
movdqu xmm0, xmmword [esi + edx*4 + 0x24]
movdqu xmmword [edi + edx*4], xmm1
movdqu xmm1, xmmword [edi + edx*4 + 0x24]
movdqu xmmword [esi + edx*4 + 0x10], xmm4
movdqu xmm4, xmmword [esi + edx*4 + 0x34]
movdqu xmmword [edi + edx*4 + 0x10], xmm5
movdqu xmm5, xmmword [edi + edx*4 + 0x34]
movdqu xmmword [esi + edx*4 + 0x20], xmm0
movd xmm0, dword [ebx + edx*4 + 0x38]
movdqu xmmword [edi + edx*4 + 0x20], xmm1
movd xmm1, dword [ebx + edx*4 + 0x34]
movdqu xmmword [esi + edx*4 + 0x30], xmm4
movd xmm4, dword [eax + edx*4 + 0x38]
movdqu xmmword [edi + edx*4 + 0x30], xmm5
movd xmm5, dword [eax + edx*4 + 0x34]
movdqa xmmword [ebx + edx*4], xmm2
movdqu xmm2, xmmword [ebx + edx*4 + 0x24]
movdqa xmmword [eax + edx*4], xmm3
movdqu xmm3, xmmword [eax + edx*4 + 0x24]
movdqa xmmword [ebx + edx*4 + 0x10], xmm6
movd xmm6, dword [ebx + edx*4 + 0x3c]
movdqa xmmword [eax + edx*4 + 0x10], xmm7
movd xmm7, dword [ebx + edx*4 + 0x40]
movdqa xmmword [ebx + edx*4 + 0x20], xmm2
movd xmm2, dword [eax + edx*4 + 0x3c]
movdqa xmmword [eax + edx*4 + 0x20], xmm3
punpckldq xmm1, xmm6
punpckldq xmm0, xmm7
punpckldq xmm1, xmm0
movd xmm3, dword [eax + edx*4 + 0x40]
movdqa xmmword [ebx + edx*4 + 0x30], xmm1
punpckldq xmm5, xmm2
punpckldq xmm4, xmm3
punpckldq xmm5, xmm4
movdqa xmmword [eax + edx*4 + 0x30], xmm5
add edx, 0x10
cmp edx, ecx
jb 0x10096225
mov dword [esp + 0x210], ebx
mov ebx, dword [esp + 0x208]
mov dword [esp + 0x214], edi
mov edi, dword [esp + 0x1e0]
cmp ecx, edi
jae 0x1009638c
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x208], ebx
mov edx, dword [esi + ecx*4 + 4]
mov dword [esi + ecx*4], edx
mov edx, dword [esp + 0x214]
mov ebx, dword [edx + ecx*4 + 4]
mov dword [edx + ecx*4], ebx
mov edx, dword [esp + 0x210]
mov ebx, dword [edx + ecx*4 + 4]
mov dword [edx + ecx*4], ebx
mov ebx, dword [eax + ecx*4 + 4]
mov dword [eax + ecx*4], ebx
inc ecx
cmp ecx, edi
jb 0x10096356
mov ebx, dword [esp + 0x208]
test ebx, ebx
jle 0x100964a6
lea eax, [edi + ebx]
shl eax, 2
mov dword [esp + 0x1ac], eax
push eax
push dword [esp + 0x218]
call fcn.101bcb76
mov dword [esp + 0x21c], eax
push dword [esp + 0x1b4]
push esi
call fcn.101bcb76
mov esi, eax
push dword [esp + 0x1bc]
push dword [esp + 0x220]
call fcn.101bcb76
mov dword [esp + 0x224], eax
push dword [esp + 0x1c4]
push dword [esp + 0x22c]
call fcn.101bcb76
add esp, 0x20
mov dword [esp + 0x210], eax
mov ecx, dword [esp + 0x214]
mov eax, dword [esp + 0x20c]
mov dword [esp + 0x174], 0
lea edx, [esi + edi*4]
mov dword [esp + 0x208], ebx
mov ebx, dword [esp + 0x174]
mov dword [esp + 0x1e0], edi
lea ecx, [ecx + edi*4]
mov dword [esp + 0x1fc], esi
lea eax, [eax + edi*4]
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x210]
mov esi, dword [esp + 0x178]
lea eax, [eax + edi*4]
mov edi, dword [esp + ebx*4 + 0x1a0]
mov dword [edx + ebx*4], edi
mov edi, dword [esp + ebx*4 + 0x17c]
mov dword [ecx + ebx*4], edi
mov edi, dword [esp + ebx*4 + 0x188]
mov dword [esi + ebx*4], edi
mov edi, dword [esp + ebx*4 + 0x194]
mov dword [eax + ebx*4], edi
inc ebx
cmp ebx, dword [esp + 0x208]
jl 0x10096451
mov ebx, dword [esp + 0x208]
mov edi, dword [esp + 0x1e0]
mov esi, dword [esp + 0x1fc]
add edi, ebx
cmp dword [esp + 0x1e4], 0
jne 0x100964b4
jmp 0x100964c1
cmp dword [esp + 0x1e4], 0
je 0x10095f39
push dword [esp + 0x1b0]
call fcn.101bceaa
pop ecx
test edi, edi
jg 0x10095f39
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x210]
push dword [esp + 0x1fc]
call fcn.101bceaa
push ebx
call fcn.101bceaa
push dword [esp + 0x214]
call fcn.101bceaa
push esi
call fcn.101bceaa
add esp, 0x10
xor eax, eax
add esp, 0x224
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor ecx, ecx
jmp 0x10095ef2
xor ecx, ecx
jmp 0x10096344
mov eax, dword [esp + 0x210]
push dword [eax]
call fcn.101bceaa
pop ecx
jmp 0x10096027
mov eax, dword [esp + 0x20c]
push dword [eax]
call fcn.101bceaa
pop ecx
jmp 0x10095fee
mov eax, dword [esp + 0x214]
mov edx, dword [eax]
mov dword [esp], edx
mov eax, ebx
shl eax, 4
mov dword [esp + 0x1b8], eax
mov dword [esp + 4], ecx
movsd xmm0, qword [edx + eax]
lea ecx, [esp + 8]
movsd qword [ecx], xmm0
movsd xmm1, qword [edx + eax + 8]
movsd qword [ecx + 8], xmm1
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
lea eax, [esp + 0x200]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
lea ecx, [esp + 0x1b0]
mov dword [esp + 0x2c], ecx
lea eax, [esp + 0x1b4]
mov dword [esp + 0x30], eax
call fcn.100fe220
test eax, eax
jne 0x1009813b
mov edx, dword [esp + 0x1b8]
mov ecx, dword [esi]
mov dword [esp + 0x1fc], esi
test ebx, ebx
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x214]
mov edi, dword [edi]
movsd xmm0, qword [edi + edx]
movsd xmm1, qword [edi + edx + 8]
lea edx, [ebx + 1]
mov dword [esp + 0x1f0], edx
xor esi, esi
xor eax, eax
cmp ecx, edx
mov dword [esp + 0x204], esi
cmovne eax, edx
mov esi, dword [esp + 0x1fc]
mov dword [esp + 0x170], eax
mov edx, eax
shl edx, 4
movsd xmm7, qword [edx + edi]
movsd qword [esp + 0x78], xmm7
movsd xmm2, qword [edx + edi + 8]
mov edi, dword [esp + 0x20c]
mov edx, dword [edi]
mov edi, dword [esp + 0x1e0]
movsd qword [esp + 0x80], xmm2
movsd qword [esp + 0x88], xmm0
movsd xmm0, qword [edx + ebx*8]
subsd xmm0, qword [0x101e56c8]
movsd qword [esp + 0x90], xmm1
movsd qword [esp + 0x120], xmm0
cdq
idiv ecx
cmp ebx, edx
je 0x10096a0b
mov eax, dword [esp + 0x170]
movsd xmm0, qword [0x101e56c8]
cdq
idiv ecx
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x170]
mov dword [esp + 0x13c], 0xffffffff
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x13c]
mov eax, dword [esp + 0x20c]
mov eax, dword [eax]
comisd xmm0, xmmword [eax + edx*8]
jb 0x1009678b
cmp dword [esp + 0x204], 0
jg 0x100969ef
mov ecx, dword [esp + 0x214]
mov ecx, dword [ecx]
mov eax, edx
shl eax, 4
movsd xmm1, qword [eax + ecx]
movsd qword [esp + 0x98], xmm1
movsd xmm2, qword [eax + ecx + 8]
movsd qword [esp + 0xa0], xmm2
lea eax, [esp + 0x78]
push 6
push 0
push eax
mov dword [esp + 0x138], edx
call fcn.100ad140
mov edx, dword [esp + 0x138]
movsd xmm0, qword [0x101e56c8]
fstp qword [esp + 0x124]
movsd xmm1, qword [esp + 0x124]
add esp, 0xc
comisd xmm1, xmmword [esp + 0x120]
jbe 0x100969e6
mov eax, dword [esp + 0x1fc]
mov ecx, dword [eax]
comisd xmm0, xmm1
jbe 0x100969ef
mov eax, dword [esp + 0x200]
cmp dword [eax + edx*4], 0
mov eax, dword [esp + 0x1ec]
cmovne eax, edx
mov dword [esp + 0x1ec], eax
mov edx, 1
mov eax, dword [esp + 0x204]
cmovne eax, edx
mov dword [esp + 0x204], eax
jmp 0x100969ef
mov eax, dword [esp + 0x200]
inc esi
cmp dword [eax + edx*4], 0
je 0x100969ef
mov ecx, dword [esp + 0x214]
mov ecx, dword [ecx]
mov eax, edx
shl eax, 4
movsd xmm1, qword [eax + ecx]
movsd qword [esp + 0x98], xmm1
movsd xmm2, qword [eax + ecx + 8]
movsd qword [esp + 0xa0], xmm2
mov dword [esp + 0x128], eax
lea eax, [esp + 0x78]
push 6
push 0
push eax
mov dword [esp + 0x138], edx
call fcn.100ad140
mov edx, dword [esp + 0x138]
movsd xmm0, qword [0x101e56c8]
fstp qword [esp + 0x124]
movsd xmm1, qword [esp + 0x124]
add esp, 0xc
comisd xmm1, xmmword [esp + 0x120]
jbe 0x100969e6
comisd xmm0, xmm1
jbe 0x100969e6
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x1ec]
cmp eax, 2
cmovl ecx, edx
mov dword [esp + 0x1ec], ecx
mov ecx, 2
cmovl eax, ecx
mov ecx, dword [esp + 0x1b8]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x214]
mov eax, dword [eax]
movsd xmm1, qword [eax + ecx]
movsd qword [esp + 0x40], xmm1
test edx, edx
movsd xmm2, qword [eax + ecx + 8]
mov ecx, dword [esp + 0x128]
movsd qword [esp + 0x48], xmm2
movsd xmm3, qword [ecx + eax]
movsd qword [esp + 0x50], xmm3
movsd xmm4, qword [ecx + eax + 8]
movsd qword [esp + 0x58], xmm4
jne 0x1009689e
mov ecx, dword [esp + 0x1fc]
mov ecx, dword [ecx]
dec ecx
jmp 0x100968a1
lea ecx, [edx - 1]
shl ecx, 4
movsd xmm1, qword [ecx + eax]
movsd qword [esp + 0x60], xmm1
movsd xmm2, qword [ecx + eax + 8]
movsd qword [esp + 0x68], xmm2
lea eax, [esp + 0x40]
push 6
push 0
push eax
mov dword [esp + 0x138], edx
call fcn.100ad140
mov edx, dword [esp + 0x138]
movsd xmm0, qword [0x101e56c8]
fstp qword [esp + 0x7c]
mov ecx, dword [esp + 0x208]
lea eax, [edx + 1]
cmp eax, dword [ecx]
mov ecx, 0
cmove eax, ecx
mov ecx, dword [esp + 0x220]
mov ecx, dword [ecx]
shl eax, 4
movsd xmm1, qword [eax + ecx]
movsd qword [esp + 0x6c], xmm1
movsd xmm2, qword [eax + ecx + 8]
movsd qword [esp + 0x74], xmm2
push 6
push 1
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x144], edx
call fcn.100ad140
mov edx, dword [esp + 0x144]
movsd xmm0, qword [0x101e56c8]
fstp qword [esp + 0x130]
movsd xmm2, qword [esp + 0x130]
add esp, 0x18
movsd xmm1, qword [esp + 0x70]
comisd xmm1, xmm0
ja 0x10096963
comisd xmm2, xmm0
jbe 0x100969b1
cmp dword [esp + 0x204], 3
mov eax, dword [esp + 0x1fc]
mov ecx, dword [eax]
jge 0x100969ef
mov eax, esi
and eax, 0x80000001
jge 0x10096986
sub eax, 1
or eax, 0xfffffffe
inc eax
test eax, eax
mov eax, dword [esp + 0x1ec]
cmove eax, edx
mov edx, 3
mov dword [esp + 0x1ec], eax
mov eax, dword [esp + 0x204]
cmove eax, edx
mov dword [esp + 0x204], eax
jmp 0x100969ef
mov dword [esp + 0x1ec], edx
mov eax, esi
and eax, 0x80000001
jge 0x100969c8
sub eax, 1
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x100974e9
mov eax, dword [esp + 0x1fc]
mov ecx, dword [eax]
mov dword [esp + 0x204], 4
jmp 0x100969ef
mov eax, dword [esp + 0x1fc]
mov ecx, dword [eax]
inc edi
mov eax, edi
cdq
idiv ecx
cmp ebx, edx
jne 0x100966ae
mov edi, dword [esp + 0x1e0]
mov esi, dword [esp + 0x1fc]
push dword [esp + 0x200]
call fcn.101bceaa
pop ecx
cmp dword [esp + 0x204], 0
jle 0x1009758c
cmp dword [esp + 0x1ec], 0xffffffff
je 0x10097507
cmp ebx, dword [esp + 0x1ec]
jle 0x10096f86
mov eax, ebx
neg eax
add eax, dword [esp + 0x1ec]
neg eax
inc eax
mov dword [esp + 0xe0], eax
push 0x10
push eax
call fcn.101beb7a
mov dword [esp + 0x184], eax
push 8
push dword [esp + 0xec]
call fcn.101beb7a
mov dword [esp + 0x198], eax
push 4
push dword [esp + 0xf4]
call fcn.101beb7a
add esp, 0x18
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x194], eax
cmp ecx, ebx
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xb8], 0
jg 0x10096b72
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x140], ebx
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0x214]
mov edi, dword [edi]
mov ecx, esi
shl ecx, 4
mov ebx, eax
shl ebx, 4
movsd xmm0, qword [edi + ebx]
movsd qword [edx + ecx], xmm0
movsd xmm1, qword [edi + ebx + 8]
movsd qword [edx + ecx + 8], xmm1
mov ecx, dword [esp + 0x20c]
mov ebx, dword [ecx]
mov ecx, dword [esp + 0x15c]
movsd xmm2, qword [ebx + eax*8]
mov ebx, dword [esp + 0x210]
mov edi, dword [ebx]
mov ebx, dword [esp + 0x144]
movsd qword [ecx + esi*8], xmm2
mov ecx, dword [edi + eax*4]
inc eax
mov dword [ebx + esi*4], ecx
inc esi
cmp eax, dword [esp + 0x140]
jle 0x10096af2
mov ebx, dword [esp + 0x140]
mov edi, dword [esp + 0x1e0]
mov dword [esp + 0xb8], esi
mov esi, dword [esp + 0x1fc]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1a0], eax
dec eax
mov dword [esp + 0xb8], eax
shl eax, 4
movsd xmm0, qword [eax + edx - 0x10]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [eax + edx - 8]
movsd qword [esp + 0x80], xmm1
movsd xmm2, qword [eax + edx]
movsd qword [esp + 0x88], xmm2
movsd xmm3, qword [eax + edx + 8]
movsd qword [esp + 0x90], xmm3
movsd xmm4, qword [edx]
movsd qword [esp + 0x98], xmm4
movsd xmm5, qword [edx + 8]
movsd qword [esp + 0xa0], xmm5
mov dword [esp + 0xc0], eax
lea edx, [esp + 0x78]
push 6
push 1
push edx
call fcn.100ad140
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xcc]
fstp qword [eax + edx*8]
mov eax, dword [esp + 0x188]
movsd xmm0, qword [ecx + eax]
movsd qword [esp + 0x84], xmm0
movsd xmm1, qword [ecx + eax + 8]
movsd qword [esp + 0x8c], xmm1
movsd xmm2, qword [eax]
movsd qword [esp + 0x94], xmm2
movsd xmm3, qword [eax + 8]
movsd qword [esp + 0x9c], xmm3
movsd xmm4, qword [eax + 0x10]
movsd qword [esp + 0xa4], xmm4
movsd xmm5, qword [eax + 0x18]
movsd qword [esp + 0xac], xmm5
push 6
push 1
lea edx, [esp + 0x8c]
push edx
call fcn.100ad140
add esp, 0x18
mov edx, dword [esp + 0x188]
mov eax, dword [esp + 0x210]
mov ecx, dword [eax]
mov eax, dword [ecx + ebx*4]
fstp qword [edx]
mov edx, dword [esp + 0x194]
test eax, eax
js 0x10096ca9
mov ecx, dword [esp + 0xb8]
neg eax
dec eax
mov dword [edx + ecx*4], eax
jmp 0x10096cb3
mov ecx, dword [esp + 0xb8]
mov dword [edx + ecx*4], eax
mov edx, dword [esp + 0x1ec]
push 0x10
mov eax, dword [esi]
lea eax, [eax + edx + 1]
mov ecx, ebx
neg ecx
add eax, ecx
push eax
call fcn.101beb7a
mov edx, dword [esp + 0x1f4]
mov dword [esp + 0x188], eax
push 8
mov eax, dword [esi]
lea eax, [eax + edx + 1]
mov ecx, ebx
neg ecx
add eax, ecx
push eax
call fcn.101beb7a
mov edx, dword [esp + 0x1fc]
mov dword [esp + 0x19c], eax
push 4
mov eax, dword [esi]
lea eax, [eax + edx + 1]
mov ecx, ebx
neg ecx
add eax, ecx
push eax
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x164], eax
mov ecx, eax
mov eax, dword [esp + 0x180]
mov edx, dword [esp + 0x1ec]
mov dword [esp + 0x198], ecx
mov ecx, dword [esi]
mov dword [esp + 0x134], 0
mov dword [esp + 0x14c], eax
lea eax, [edx + 1]
mov dword [esp + 0x168], eax
mov eax, ebx
cdq
idiv ecx
cmp edx, dword [esp + 0x168]
je 0x10096e22
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x148], eax
mov dword [esp + 0x1e0], edi
mov edi, ecx
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x134]
mov ecx, esi
shl ecx, 4
mov eax, ebx
cdq
idiv edi
shl edx, 4
mov edi, dword [esp + 0x214]
mov eax, dword [esp + 0x14c]
mov edi, dword [edi]
movsd xmm0, qword [edx + edi]
movsd qword [eax + ecx], xmm0
movsd xmm1, qword [edx + edi + 8]
mov edx, dword [esp + 0x1fc]
movsd qword [eax + ecx + 8], xmm1
mov edi, dword [edx]
mov eax, ebx
cdq
idiv edi
mov ecx, dword [esp + 0x20c]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x148]
movsd xmm2, qword [eax + edx*8]
mov eax, dword [esp + 0x210]
movsd qword [ecx + esi*8], xmm2
mov ecx, dword [eax]
mov eax, dword [esp + 0x164]
mov edx, dword [ecx + edx*4]
inc ebx
mov dword [eax + esi*4], edx
inc esi
mov eax, ebx
cdq
idiv edi
cmp edx, dword [esp + 0x168]
jne 0x10096d88
mov edi, dword [esp + 0x1e0]
mov dword [esp + 0x134], esi
mov esi, dword [esp + 0x1fc]
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x14c]
mov dword [esp + 0x1a4], eax
dec eax
mov dword [esp + 0x134], eax
shl eax, 4
movsd xmm0, qword [eax + edx]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [eax + edx + 8]
movsd qword [esp + 0x80], xmm1
movsd xmm2, qword [edx]
movsd qword [esp + 0x88], xmm2
movsd xmm3, qword [edx + 8]
movsd qword [esp + 0x90], xmm3
movsd xmm4, qword [edx + 0x10]
movsd qword [esp + 0x98], xmm4
movsd xmm5, qword [edx + 0x18]
movsd qword [esp + 0xa0], xmm5
mov dword [esp + 0xcc], eax
push 6
push 1
lea ecx, [esp + 0x80]
push ecx
call fcn.100ad140
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0xd8]
fstp qword [eax]
movsd xmm0, qword [ecx + edx - 0x10]
movsd qword [esp + 0x84], xmm0
movsd xmm1, qword [ecx + edx - 8]
movsd qword [esp + 0x8c], xmm1
movsd xmm2, qword [ecx + edx]
movsd qword [esp + 0x94], xmm2
movsd xmm3, qword [ecx + edx + 8]
movsd qword [esp + 0x9c], xmm3
movsd xmm4, qword [ecx]
movsd qword [esp + 0xa4], xmm4
movsd xmm5, qword [ecx + 8]
movsd qword [esp + 0xac], xmm5
push 6
push 1
lea ebx, [esp + 0x8c]
push ebx
call fcn.100ad140
add esp, 0x18
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x210]
mov ebx, dword [ecx]
fstp qword [eax + edx*8]
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [ebx + edx*4]
test ecx, ecx
js 0x10096f72
mov edx, dword [esp + 0x134]
neg ecx
dec ecx
mov dword [eax + edx*4], ecx
mov ebx, 2
jmp 0x100974a3
mov edx, dword [esp + 0x134]
mov dword [eax + edx*4], ecx
mov ebx, 2
jmp 0x100974a3
mov eax, dword [esi]
sub eax, dword [esp + 0x1ec]
push 0x10
lea edx, [ebx + eax + 1]
push edx
call fcn.101beb7a
mov dword [esp + 0x184], eax
mov eax, dword [esi]
sub eax, dword [esp + 0x1f4]
push 8
lea edx, [ebx + eax + 1]
push edx
call fcn.101beb7a
mov dword [esp + 0x198], eax
mov eax, dword [esi]
sub eax, dword [esp + 0x1fc]
push 4
lea edx, [ebx + eax + 1]
push edx
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x160], eax
mov ecx, eax
mov eax, dword [esp + 0x1ec]
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x194], ecx
mov ecx, dword [esi]
mov dword [esp + 0xbc], eax
mov dword [esp + 0x154], edx
xor edx, edx
mov dword [esp + 0xe4], edx
cdq
idiv ecx
cmp edx, dword [esp + 0x1f0]
je 0x100970f1
mov eax, dword [esp + 0x188]
mov dword [esp + 0x150], eax
mov dword [esp + 0x140], ebx
mov ebx, ecx
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0xe4]
mov ecx, esi
shl ecx, 4
mov eax, edi
cdq
idiv ebx
shl edx, 4
mov ebx, dword [esp + 0x214]
mov eax, dword [esp + 0x154]
mov ebx, dword [ebx]
movsd xmm0, qword [edx + ebx]
movsd qword [eax + ecx], xmm0
movsd xmm1, qword [edx + ebx + 8]
mov edx, dword [esp + 0x1fc]
movsd qword [eax + ecx + 8], xmm1
mov ebx, dword [edx]
mov eax, edi
cdq
idiv ebx
mov ecx, dword [esp + 0x20c]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x150]
movsd xmm2, qword [eax + edx*8]
mov eax, dword [esp + 0x210]
movsd qword [ecx + esi*8], xmm2
mov ecx, dword [eax]
mov eax, dword [esp + 0x160]
mov edx, dword [ecx + edx*4]
inc edi
mov dword [eax + esi*4], edx
inc esi
mov eax, edi
cdq
idiv ebx
cmp edx, dword [esp + 0x1f0]
jne 0x10097050
mov ebx, dword [esp + 0x140]
mov edi, dword [esp + 0x1e0]
mov dword [esp + 0xe4], esi
mov esi, dword [esp + 0x1fc]
mov eax, dword [esp + 0xe4]
mov edx, dword [esp + 0x154]
mov dword [esp + 0x1a0], eax
lea ecx, [esp + 0x78]
dec eax
mov dword [esp + 0xe4], eax
shl eax, 4
movsd xmm0, qword [eax + edx - 0x10]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [eax + edx - 8]
movsd qword [esp + 0x80], xmm1
movsd xmm2, qword [eax + edx]
movsd qword [esp + 0x88], xmm2
movsd xmm3, qword [eax + edx + 8]
movsd qword [esp + 0x90], xmm3
movsd xmm4, qword [edx]
movsd qword [esp + 0x98], xmm4
movsd xmm5, qword [edx + 8]
movsd qword [esp + 0xa0], xmm5
mov dword [esp + 0xc4], eax
push 6
push 1
push ecx
call fcn.100ad140
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0xd0]
fstp qword [eax + edx*8]
mov eax, dword [esp + 0x188]
movsd xmm0, qword [ecx + eax]
movsd qword [esp + 0x84], xmm0
movsd xmm1, qword [ecx + eax + 8]
movsd qword [esp + 0x8c], xmm1
movsd xmm2, qword [eax]
movsd qword [esp + 0x94], xmm2
movsd xmm3, qword [eax + 8]
movsd qword [esp + 0x9c], xmm3
movsd xmm4, qword [eax + 0x10]
movsd qword [esp + 0xa4], xmm4
movsd xmm5, qword [eax + 0x18]
movsd qword [esp + 0xac], xmm5
push 6
push 1
lea edx, [esp + 0x8c]
push edx
call fcn.100ad140
add esp, 0x18
mov edx, dword [esp + 0x188]
mov eax, dword [esp + 0x210]
mov ecx, dword [eax]
mov eax, dword [ecx + ebx*4]
fstp qword [edx]
mov edx, dword [esp + 0x194]
test eax, eax
js 0x1009722f
mov ecx, dword [esp + 0xe4]
neg eax
dec eax
mov dword [edx + ecx*4], eax
jmp 0x10097239
mov ecx, dword [esp + 0xe4]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x1ec]
mov edx, ebx
neg edx
lea ecx, [eax + edx + 1]
mov dword [esp + 0xd8], ecx
push 0x10
push ecx
call fcn.101beb7a
mov dword [esp + 0x188], eax
push 8
push dword [esp + 0xe4]
call fcn.101beb7a
mov dword [esp + 0x19c], eax
push 4
push dword [esp + 0xec]
call fcn.101beb7a
add esp, 0x18
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x138], 0
mov dword [esp + 0x198], eax
mov dword [esp + 0x16c], edx
mov dword [esp + 0x158], eax
mov dword [esp + 0x1e0], edi
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x138]
mov eax, dword [esp + 0x214]
mov eax, dword [eax]
mov edi, esi
shl edi, 4
mov edx, ebx
shl edx, 4
movsd xmm0, qword [eax + edx]
movsd qword [ecx + edi], xmm0
movsd xmm1, qword [eax + edx + 8]
movsd qword [ecx + edi + 8], xmm1
mov edi, dword [esp + 0x1fc]
mov edi, dword [edi]
mov eax, ebx
cdq
idiv edi
inc ebx
mov eax, dword [esp + 0x20c]
mov edi, dword [esp + 0x16c]
mov eax, dword [eax]
movsd xmm2, qword [eax + edx*8]
mov eax, dword [esp + 0x210]
movsd qword [edi + esi*8], xmm2
mov edi, dword [eax]
mov eax, dword [esp + 0x158]
mov edx, dword [edi + edx*4]
mov dword [eax + esi*4], edx
inc esi
cmp ebx, dword [esp + 0x1ec]
jle 0x100972c7
mov edi, dword [esp + 0x1e0]
mov dword [esp + 0x138], esi
mov esi, dword [esp + 0x1fc]
mov eax, dword [esp + 0x138]
mov dword [esp + 0x1a4], eax
dec eax
mov dword [esp + 0x138], eax
shl eax, 4
movsd xmm0, qword [ecx + eax]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [ecx + eax + 8]
movsd qword [esp + 0x80], xmm1
movsd xmm2, qword [ecx]
movsd qword [esp + 0x88], xmm2
movsd xmm3, qword [ecx + 8]
movsd qword [esp + 0x90], xmm3
movsd xmm4, qword [ecx + 0x10]
movsd qword [esp + 0x98], xmm4
movsd xmm5, qword [ecx + 0x18]
movsd qword [esp + 0xa0], xmm5
mov dword [esp + 0xc8], eax
push 6
push 1
lea edx, [esp + 0x80]
push edx
call fcn.100ad140
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0xd4]
fstp qword [eax]
movsd xmm0, qword [ecx + edx - 0x10]
movsd qword [esp + 0x84], xmm0
movsd xmm1, qword [ecx + edx - 8]
movsd qword [esp + 0x8c], xmm1
movsd xmm2, qword [ecx + edx]
movsd qword [esp + 0x94], xmm2
movsd xmm3, qword [ecx + edx + 8]
movsd qword [esp + 0x9c], xmm3
movsd xmm4, qword [ecx]
movsd qword [esp + 0xa4], xmm4
movsd xmm5, qword [ecx + 8]
movsd qword [esp + 0xac], xmm5
push 6
push 1
lea ebx, [esp + 0x8c]
push ebx
call fcn.100ad140
add esp, 0x18
mov eax, dword [esp + 0x18c]
mov edx, dword [esp + 0x138]
mov ecx, dword [esp + 0x210]
mov ebx, dword [ecx]
fstp qword [eax + edx*8]
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [ebx + edx*4]
test ecx, ecx
js 0x10097494
mov edx, dword [esp + 0x138]
neg ecx
dec ecx
mov dword [eax + edx*4], ecx
mov ebx, 2
jmp 0x100974a3
mov edx, dword [esp + 0x138]
mov dword [eax + edx*4], ecx
mov ebx, 2
mov eax, dword [esp + 0x214]
push dword [eax]
call fcn.101bceaa
mov eax, dword [esp + 0x214]
push dword [eax]
call fcn.101bceaa
mov eax, dword [esp + 0x214]
push dword [eax]
call fcn.101bceaa
add esp, 0xc
mov dword [esp + 0x1e4], 1
dec edi
test edi, edi
jg 0x1009604a
jmp 0x10096394
mov edi, dword [esp + 0x1e0]
mov esi, dword [esp + 0x1fc]
mov dword [esp + 0x204], 5
jmp 0x10096a0b
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x210]
push dword [ebx]
call fcn.101bceaa
push ebx
call fcn.101bceaa
push dword [esi]
call fcn.101bceaa
push esi
call fcn.101bceaa
push dword [esp + 0x20c]
call fcn.101bceaa
push dword [esp + 0x220]
call fcn.101bceaa
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
push 1
xor edx, edx
mov dword [eax], edx
push str.Sicherheitsabbruch_da_target_Var__1
push dword [0x10210a08]
mov dword [ecx], edx
push dword [0x10219180]
push 0x101e56f0
call fcn.100e45a0
add esp, 0x2c
mov eax, 0x63
add esp, 0x224
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x1b4], 0
jle 0x10098121
mov eax, dword [esp + 0x1b0]
movsd xmm1, qword [0x101e56d8]
movsd qword [esp + 0xb0], xmm1
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x214]
mov dword [esp + 0x1fc], esi
mov edx, 0xffffffff
pxor xmm0, xmm0
movsd qword [esp + 0xa8], xmm0
mov dword [esp + 0x114], edx
mov dword [esp + 0xec], edx
xor edx, edx
mov esi, edx
mov eax, dword [eax + esi*4]
mov ecx, dword [edi]
shl eax, 4
movsd xmm0, qword [eax + ecx]
movsd qword [esp + 0x98], xmm0
movsd xmm1, qword [eax + ecx + 8]
movsd qword [esp + 0xa0], xmm1
push 6
push 0
lea eax, [esp + 0x80]
push eax
call fcn.100ad140
fstp qword [esp + 0x124]
movsd xmm1, qword [esp + 0x124]
add esp, 0xc
mov eax, dword [esp + 0x1b0]
mov edx, dword [eax + esi*4]
cmp edx, ebx
je 0x100976a9
movsd xmm0, qword [esp + 0x120]
comisd xmm0, xmm1
jb 0x1009767e
movsd xmm0, qword [esp + 0xa8]
mov ecx, dword [esp + 0x114]
comisd xmm1, xmm0
cmova ecx, edx
mov dword [esp + 0x114], ecx
maxsd xmm1, xmm0
movsd qword [esp + 0xa8], xmm1
jmp 0x100976a9
movsd xmm0, qword [esp + 0xb0]
mov ecx, dword [esp + 0xec]
comisd xmm0, xmm1
cmova ecx, edx
mov dword [esp + 0xec], ecx
minsd xmm1, xmm0
movsd qword [esp + 0xb0], xmm1
inc esi
cmp esi, dword [esp + 0x1b4]
jl 0x100975eb
cmp dword [esp + 0x114], 0xffffffff
mov esi, dword [esp + 0x1fc]
mov dword [esp + 0x214], edi
mov edi, dword [esp + 0x1e0]
je 0x10098121
cmp dword [esp + 0xec], 0xffffffff
je 0x10098121
cmp ebx, dword [esp + 0xec]
jle 0x10097741
mov eax, ebx
sub eax, dword [esp + 0xec]
inc eax
mov dword [esp + 0xd0], eax
push 0x10
push eax
call fcn.101beb7a
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x1a8], eax
push 8
push eax
call fcn.101beb7a
mov dword [esp + 0x198], eax
push 4
push dword [esp + 0xe4]
call fcn.101beb7a
add esp, 0x18
jmp 0x1009779a
mov eax, dword [esi]
sub eax, dword [esp + 0xec]
push 0x10
lea edx, [ebx + eax + 1]
push edx
call fcn.101beb7a
mov edx, dword [esi]
mov dword [esp + 0x184], eax
mov eax, ebx
sub eax, dword [esp + 0xf4]
lea ecx, [eax + edx + 1]
mov dword [esp + 0x1a8], ecx
push 8
push ecx
call fcn.101beb7a
mov dword [esp + 0x198], eax
mov eax, dword [esi]
sub eax, dword [esp + 0xfc]
push 4
lea edx, [ebx + eax + 1]
push edx
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x194], eax
mov edx, dword [esp + 0xec]
mov ecx, dword [esi]
mov dword [esp + 0xf0], 0
mov dword [esp + 0x10c], edx
mov edx, dword [esp + 0x17c]
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1c0], edx
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x140], ebx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0xf0]
jmp 0x10097880
mov ecx, dword [esp + 0x214]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x1c0]
mov ebx, esi
shl ebx, 4
shl edx, 4
movsd xmm0, qword [edx + eax]
movsd qword [ecx + ebx], xmm0
movsd xmm1, qword [edx + eax + 8]
movsd qword [ecx + ebx + 8], xmm1
mov ebx, dword [esp + 0x1fc]
mov ebx, dword [ebx]
mov eax, edi
cdq
idiv ebx
inc edi
mov eax, dword [esp + 0x20c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1d0]
movsd xmm2, qword [ecx + edx*8]
mov ecx, dword [esp + 0x210]
movsd qword [eax + esi*8], xmm2
mov eax, dword [ecx]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x1bc]
mov dword [eax + esi*4], edx
inc esi
mov eax, dword [esp + 0x1f0]
xor ecx, ecx
cmp ebx, eax
cmovne ecx, eax
mov eax, edi
cdq
idiv ebx
cmp ecx, edx
jne 0x10097812
mov edx, dword [esp + 0x1c0]
mov ebx, dword [esp + 0x140]
mov edi, dword [esp + 0x1e0]
mov dword [esp + 0xf0], esi
mov esi, dword [esp + 0x1fc]
mov eax, dword [esp + 0xf0]
dec eax
mov dword [esp + 0xf0], eax
shl eax, 4
movsd xmm0, qword [edx + eax - 0x10]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [edx + eax - 8]
movsd qword [esp + 0x80], xmm1
movsd xmm2, qword [edx + eax]
movsd qword [esp + 0x88], xmm2
movsd xmm3, qword [edx + eax + 8]
movsd qword [esp + 0x90], xmm3
movsd xmm4, qword [edx]
movsd qword [esp + 0x98], xmm4
movsd xmm5, qword [edx + 8]
movsd qword [esp + 0xa0], xmm5
mov dword [esp + 0xfc], eax
push 6
push 1
lea edx, [esp + 0x80]
push edx
call fcn.100ad140
mov eax, dword [esp + 0x194]
mov edx, dword [esp + 0xfc]
mov ecx, dword [esp + 0x108]
fstp qword [eax + edx*8]
mov eax, dword [esp + 0x188]
movsd xmm0, qword [ecx + eax]
movsd qword [esp + 0x84], xmm0
movsd xmm1, qword [ecx + eax + 8]
movsd qword [esp + 0x8c], xmm1
movsd xmm2, qword [eax]
movsd qword [esp + 0x94], xmm2
movsd xmm3, qword [eax + 8]
movsd qword [esp + 0x9c], xmm3
movsd xmm4, qword [eax + 0x10]
movsd qword [esp + 0xa4], xmm4
movsd xmm5, qword [eax + 0x18]
movsd qword [esp + 0xac], xmm5
push 6
push 1
lea edx, [esp + 0x8c]
push edx
call fcn.100ad140
add esp, 0x18
mov edx, dword [esp + 0x188]
mov eax, dword [esp + 0x210]
mov ecx, dword [eax]
mov eax, dword [ecx + ebx*4]
fstp qword [edx]
mov edx, dword [esp + 0x194]
test eax, eax
js 0x100979f1
mov ecx, dword [esp + 0xf0]
neg eax
dec eax
mov dword [edx + ecx*4], eax
jmp 0x100979fb
mov ecx, dword [esp + 0xf0]
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0xec]
cmp eax, dword [esp + 0x114]
jle 0x10097a62
sub eax, dword [esp + 0x114]
add eax, 2
mov dword [esp + 0xd4], eax
push 0x10
push eax
call fcn.101beb7a
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x1ac], eax
push 8
push eax
call fcn.101beb7a
mov dword [esp + 0x19c], eax
push 4
push dword [esp + 0xe8]
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x1dc], eax
jmp 0x10097ad0
mov edx, eax
mov eax, dword [esi]
sub eax, dword [esp + 0x114]
lea ecx, [eax + edx + 2]
push 0x10
push ecx
call fcn.101beb7a
mov edx, dword [esi]
sub edx, dword [esp + 0x11c]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0xf4]
lea ecx, [eax + edx + 2]
mov dword [esp + 0x1ac], ecx
push 8
push ecx
call fcn.101beb7a
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x19c], eax
mov eax, dword [esi]
sub eax, dword [esp + 0x124]
push 4
lea ecx, [eax + edx + 2]
push ecx
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x198], eax
mov edx, dword [esp + 0x180]
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x1b8]
mov eax, dword [eax]
movsd xmm0, qword [ecx + eax]
movsd qword [edx], xmm0
movsd xmm1, qword [ecx + eax + 8]
mov ecx, dword [esp + 0x210]
movsd qword [edx + 8], xmm1
mov eax, dword [ecx]
mov eax, dword [eax + ebx*4]
test eax, eax
js 0x10097b20
mov ecx, dword [esp + 0x1dc]
neg eax
dec eax
mov dword [ecx], eax
jmp 0x10097b29
mov ecx, dword [esp + 0x1dc]
mov dword [ecx], eax
mov ecx, dword [esp + 0x114]
mov eax, dword [esi]
mov dword [esp + 0xf4], 1
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x140], ebx
lea eax, [eax + 1]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x110]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0xf4]
jmp 0x10097bfd
mov ebx, dword [esp + 0x214]
mov eax, dword [ebx]
mov ebx, dword [esp + 0x1c4]
mov edi, esi
shl edi, 4
shl edx, 4
movsd xmm0, qword [edx + eax]
movsd qword [ebx + edi], xmm0
movsd xmm1, qword [edx + eax + 8]
movsd qword [ebx + edi + 8], xmm1
mov edi, dword [esp + 0x1fc]
mov edi, dword [edi]
mov eax, ecx
cdq
idiv edi
inc ecx
mov eax, dword [esp + 0x20c]
mov ebx, dword [eax]
mov eax, dword [esp + 0x1d4]
movsd xmm2, qword [ebx + edx*8]
mov ebx, dword [esp + 0x210]
movsd qword [eax + esi*8], xmm2
mov eax, dword [ebx]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x1dc]
mov dword [eax + esi*4], edx
inc esi
mov eax, dword [esp + 0x1f4]
xor ebx, ebx
cmp edi, eax
cmovne ebx, eax
mov eax, ecx
cdq
idiv edi
cmp ebx, edx
jne 0x10097b8f
mov edx, dword [esp + 0x1c4]
mov ebx, dword [esp + 0x140]
mov edi, dword [esp + 0x1e0]
movsd xmm0, qword [edx + 0x10]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [edx + 0x18]
movsd qword [esp + 0x80], xmm1
movsd xmm2, qword [edx]
movsd qword [esp + 0x88], xmm2
movsd xmm3, qword [edx + 8]
movsd qword [esp + 0x90], xmm3
mov dword [esp + 0xf4], esi
mov esi, dword [esp + 0x1fc]
mov eax, dword [esp + 0xf4]
dec eax
mov dword [esp + 0xf4], eax
shl eax, 4
movsd xmm4, qword [eax + edx]
movsd qword [esp + 0x98], xmm4
movsd xmm5, qword [eax + edx + 8]
movsd qword [esp + 0xa0], xmm5
mov dword [esp + 0x100], eax
push 6
push 0
lea edx, [esp + 0x80]
push edx
call fcn.100ad140
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x18c]
fstp qword [eax]
movsd xmm0, qword [edx]
movsd qword [esp + 0x84], xmm0
movsd xmm1, qword [edx + 8]
movsd qword [esp + 0x8c], xmm1
movsd xmm2, qword [edx + 0x10]
movsd qword [esp + 0x94], xmm2
movsd xmm3, qword [edx + 0x18]
movsd qword [esp + 0x9c], xmm3
movsd xmm4, qword [edx + 0x20]
movsd qword [esp + 0xa4], xmm4
movsd xmm5, qword [edx + 0x28]
movsd qword [esp + 0xac], xmm5
push 6
push 1
lea ecx, [esp + 0x8c]
push ecx
call fcn.100ad140
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x118]
fstp qword [eax + 8]
movsd xmm0, qword [ecx + edx - 0x10]
movsd qword [esp + 0x90], xmm0
movsd xmm1, qword [ecx + edx - 8]
movsd qword [esp + 0x98], xmm1
movsd xmm2, qword [ecx + edx]
movsd qword [esp + 0xa0], xmm2
movsd xmm3, qword [ecx + edx + 8]
movsd qword [esp + 0xa8], xmm3
movsd xmm4, qword [ecx]
movsd qword [esp + 0xb0], xmm4
movsd xmm5, qword [ecx + 8]
movsd qword [esp + 0xb8], xmm5
push 6
push 1
lea eax, [esp + 0x98]
push eax
call fcn.100ad140
add esp, 0x24
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x210]
fstp qword [edx + eax*8]
mov eax, dword [ecx]
mov edx, dword [esp + 0x198]
mov ecx, dword [esp + 0xec]
mov eax, dword [eax + ecx*4]
test eax, eax
js 0x10097dea
mov ecx, dword [esp + 0xf4]
neg eax
dec eax
mov dword [edx + ecx*4], eax
jmp 0x10097df4
mov ecx, dword [esp + 0xf4]
mov dword [edx + ecx*4], eax
cmp ebx, dword [esp + 0x114]
jge 0x10097e52
mov eax, dword [esp + 0x114]
mov edx, ebx
neg edx
lea ecx, [eax + edx + 1]
mov dword [esp + 0xdc], ecx
push 0x10
push ecx
call fcn.101beb7a
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x1b0], eax
push 8
push eax
call fcn.101beb7a
mov dword [esp + 0x1a0], eax
push 4
push dword [esp + 0xf0]
call fcn.101beb7a
add esp, 0x18
jmp 0x10097eb9
mov edx, dword [esp + 0x114]
push 0x10
mov eax, dword [esi]
lea eax, [eax + edx + 1]
mov ecx, ebx
neg ecx
add eax, ecx
push eax
call fcn.101beb7a
mov edx, dword [esi]
mov dword [esp + 0x18c], eax
mov eax, ebx
neg eax
add eax, dword [esp + 0x11c]
lea ecx, [eax + edx + 1]
mov dword [esp + 0x1b0], ecx
push 8
push ecx
call fcn.101beb7a
mov edx, dword [esp + 0x124]
mov dword [esp + 0x1a0], eax
push 4
mov eax, dword [esi]
lea eax, [eax + edx + 1]
mov ecx, ebx
neg ecx
add eax, ecx
push eax
call fcn.101beb7a
add esp, 0x18
mov dword [esp + 0x19c], eax
mov ecx, dword [esp + 0x190]
mov edx, dword [esi]
mov dword [esp + 0x130], 0
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0x184]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1c8], eax
lea ecx, [ecx + 1]
mov dword [esp + 0x1f8], ecx
mov dword [esp + 0x1e0], edi
mov edi, dword [esp + 0x108]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x130]
jmp 0x10097f94
mov ecx, dword [esp + 0x214]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x1cc]
mov edi, esi
shl edi, 4
shl edx, 4
movsd xmm0, qword [edx + eax]
movsd qword [ecx + edi], xmm0
movsd xmm1, qword [edx + eax + 8]
movsd qword [ecx + edi + 8], xmm1
mov edi, dword [esp + 0x1fc]
mov edi, dword [edi]
mov eax, ebx
cdq
idiv edi
inc ebx
mov eax, dword [esp + 0x20c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x1d8]
movsd xmm2, qword [ecx + edx*8]
mov ecx, dword [esp + 0x210]
movsd qword [eax + esi*8], xmm2
mov eax, dword [ecx]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x1c8]
mov dword [eax + esi*4], edx
inc esi
mov eax, dword [esp + 0x1f8]
xor ecx, ecx
cmp edi, eax
cmovne ecx, eax
mov eax, ebx
cdq
idiv edi
cmp ecx, edx
jne 0x10097f26
mov edx, dword [esp + 0x1cc]
mov edi, dword [esp + 0x1e0]
movsd xmm0, qword [edx + 0x10]
movsd qword [esp + 0x78], xmm0
movsd xmm1, qword [edx + 0x18]
movsd qword [esp + 0x80], xmm1
movsd xmm2, qword [edx]
movsd qword [esp + 0x88], xmm2
movsd xmm3, qword [edx + 8]
movsd qword [esp + 0x90], xmm3
mov dword [esp + 0x130], esi
mov esi, dword [esp + 0x1fc]
mov eax, dword [esp + 0x130]
dec eax
mov dword [esp + 0x130], eax
shl eax, 4
movsd xmm4, qword [edx + eax]
movsd qword [esp + 0x98], xmm4
movsd xmm5, qword [edx + eax + 8]
movsd qword [esp + 0xa0], xmm5
mov dword [esp + 0x104], eax
push 6
push 0
lea edx, [esp + 0x80]
push edx
call fcn.100ad140
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x110]
fstp qword [eax]
movsd xmm0, qword [ecx + edx - 0x10]
movsd qword [esp + 0x84], xmm0
movsd xmm1, qword [ecx + edx - 8]
movsd qword [esp + 0x8c], xmm1
movsd xmm2, qword [ecx + edx]
movsd qword [esp + 0x94], xmm2
movsd xmm3, qword [ecx + edx + 8]
movsd qword [esp + 0x9c], xmm3
movsd xmm4, qword [ecx]
movsd qword [esp + 0xa4], xmm4
movsd xmm5, qword [ecx + 8]
movsd qword [esp + 0xac], xmm5
push 6
push 1
lea ebx, [esp + 0x8c]
push ebx
call fcn.100ad140
add esp, 0x18
mov eax, dword [esp + 0x190]
mov edx, dword [esp + 0x130]
mov ecx, dword [esp + 0x210]
mov ebx, dword [ecx]
fstp qword [eax + edx*8]
mov eax, dword [esp + 0x19c]
mov edx, dword [esp + 0x114]
mov ecx, dword [ebx + edx*4]
test ecx, ecx
js 0x1009810d
mov edx, dword [esp + 0x130]
neg ecx
dec ecx
mov dword [eax + edx*4], ecx
mov ebx, 3
jmp 0x100974a3
mov edx, dword [esp + 0x130]
mov dword [eax + edx*4], ecx
mov ebx, 3
jmp 0x100974a3
mov ebx, dword [esp + 0x214]
mov dword [esp + 0x1fc], esi
mov esi, dword [esp + 0x210]
jmp 0x1009751c
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
mov eax, 0x63
add esp, 0x224
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret