Function at 0x4fab50
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff0
push ebp
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push esi
push edi
sub esp, 0x360
push 0x6e3c80
push dword [ebx + 8]
call fcn.004499f0
add esp, 8
push 0x6e3cb0
push dword [ebx + 8]
call fcn.004498f0
add esp, 8
push 0x6e3ce0
push dword [ebx + 8]
call fcn.004496d0
add esp, 8
push 0x6e3d10
push dword [ebx + 8]
call fcn.004497d0
add esp, 8
mov eax, dword [ebx + 8]
test byte [0x76e5c8], 1
mov edi, dword [eax]
je 0x4fac7b
mov edx, dword [0x6c5ad0]
shl edx, 2
neg edx
add edx, dword [0x6c5ab0]
mov esi, dword [0x6c7ef0]
mov dword [ebp - 0x348], esi
lea esi, [edi*4]
mov eax, dword [0x6c7f10]
mov dword [ebp - 0x344], eax
test byte [edx + esi], 1
je 0x4fac08
mov edx, dword [ebp - 0x348]
lea ecx, [eax*4]
neg ecx
add ecx, esi
mov dword [edx + ecx], 1
mov eax, dword [0x6c5218]
mov edx, dword [0x6c5210]
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x34c], edx
test edx, edx
jle 0x4fac99
mov eax, dword [0x6c51f8]
mov edx, dword [0x6c5224]
mov ecx, dword [0x6c5220]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x364], edx
mov dword [ebp - 0x368], ecx
cmp dword [ebp - 0x34c], 0x18
jle 0x4ffdc6
neg edx
add edx, edi
imul edx, dword [ebp - 0x368]
mov eax, dword [ebp - 0x34c]
shl eax, 2
push eax
add edx, dword [ebp - 0x360]
push 0
push edx
call fcn.0062a5e0
add esp, 0xc
jmp 0x4fac99
mov eax, dword [0x6c7ef0]
lea esi, [edi*4]
mov edx, dword [0x6c7f10]
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x344], edx
mov ecx, dword [ebp - 0x344]
shl ecx, 2
neg ecx
mov eax, dword [ebp - 0x348]
mov edx, dword [0x6c5ad8]
lea ecx, [ecx + edi*4]
mov eax, dword [eax + ecx]
lea ecx, [edx + edi*4]
mov edx, dword [0x6c5af8]
shl edx, 2
neg edx
mov dword [ebp - 0x68], eax
mov edx, dword [edx + ecx]
mov dword [ebp - 0xa0], edx
cmp eax, edx
jg 0x4ffbba
mov eax, 0x49
mov edx, 0x20
mov byte [0x6e3d40], al
mov byte [0x6e3d41], 0x54
mov byte [0x6e3d42], 0x52
mov byte [0x6e3d43], al
mov byte [0x6e3d44], 0x41
mov byte [0x6e3d45], 0x4e
mov byte [0x6e3d46], 0x47
mov byte [0x6e3d47], dl
mov byte [0x6e3d48], dl
mov byte [0x6e3d49], dl
mov byte [0x6e3d4a], dl
mov byte [0x6e3d4b], dl
cmp dword [ebp - 0x68], 0
jle 0x5002e6
mov eax, dword [0x6c5ad0]
shl eax, 2
neg eax
add eax, dword [0x6c5ab0]
test byte [esi + eax], 1
jne 0x500201
cmp dword [ebp - 0xa0], 0
jle 0x4fb191
mov ecx, dword [0x6e3d38]
mov dword [ebp - 0x358], ecx
mov ecx, dword [0x6e3d2c]
mov dword [ebp - 0x32c], ecx
mov ecx, dword [0x6e3d0c]
mov dword [ebp - 0x35c], ecx
mov ecx, dword [0x6e3d08]
mov edx, dword [0x6e3d3c]
mov dword [ebp - 0x354], ecx
mov ecx, dword [0x6e3d00]
mov dword [ebp - 0x364], edx
mov edx, dword [0x6e3d30]
mov dword [ebp - 0x360], ecx
mov ecx, dword [0x6e3cfc]
mov dword [ebp - 0x368], edx
mov eax, dword [0x6e3d10]
mov edx, dword [0x6e3ce0]
mov dword [ebp - 0x328], ecx
cmp ecx, 1
jne 0x4faf8d
cmp dword [ebp - 0x32c], 1
jne 0x4faf8d
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x35c]
imul edi, dword [ebp - 0x354]
mov dword [ebp - 0x2ec], esi
mov esi, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x68]
sub esi, ecx
inc esi
add eax, ecx
mov dword [ebp - 0x33c], esi
add edx, ecx
shr esi, 1
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x35c], edi
mov edi, dword [ebp - 0x358]
mov esi, dword [ebp - 0x364]
imul esi, edi
mov dword [ebp - 0x364], esi
sub esi, edi
neg esi
mov dword [ebp - 0x34c], eax
add esi, eax
mov eax, dword [ebp - 0x35c]
sub eax, dword [ebp - 0x354]
neg eax
add eax, edx
mov ecx, dword [ebp - 0x360]
sub eax, ecx
mov edi, dword [ebp - 0x368]
sub esi, edi
mov dword [ebp - 0x344], eax
neg edi
mov eax, dword [ebp - 0x34c]
neg ecx
sub eax, dword [ebp - 0x364]
add edi, dword [ebp - 0x358]
sub edx, dword [ebp - 0x35c]
add eax, edi
add ecx, dword [ebp - 0x354]
mov dword [ebp - 0x348], 0
add edx, ecx
mov dword [ebp - 0x340], esi
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x348]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0xa0]
cmp eax, dword [ebp - 0x68]
jl 0x4faf7b
cmp dword [ebp - 0x338], 0
jbe 0x4ffee3
mov eax, dword [ebp - 0x358]
xor edx, edx
imul eax, ecx
mov edi, dword [ebp - 0x340]
mov esi, dword [ebp - 0x354]
imul esi, ecx
mov dword [ebp - 0x348], ecx
add edi, eax
mov dword [ebp - 0x368], edi
mov edi, dword [ebp - 0x344]
add eax, dword [ebp - 0x34c]
add edi, esi
add esi, dword [ebp - 0x350]
mov dword [ebp - 0x364], esi
mov esi, edi
mov edi, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x364]
movzx ecx, byte [ecx + edx*2]
mov byte [eax + edx*2], cl
movzx ecx, byte [esi + edx*2 + 1]
mov byte [edi + edx*2 + 1], cl
inc edx
cmp edx, dword [ebp - 0x338]
jb 0x4faf1d
mov ecx, dword [ebp - 0x348]
lea edi, [edx + edx + 1]
lea eax, [edi - 1]
cmp eax, dword [ebp - 0x33c]
jae 0x4faf7b
mov esi, dword [ebp - 0x344]
mov edx, dword [ebp - 0x354]
imul edx, ecx
lea eax, [edi + esi]
mov esi, dword [ebp - 0x358]
imul esi, ecx
add edi, dword [ebp - 0x340]
movzx eax, byte [eax + edx - 1]
mov byte [edi + esi - 1], al
inc ecx
cmp ecx, dword [ebp - 0xa0]
jb 0x4faeb7
jmp 0x4fb185
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x35c]
imul ecx, edi
mov dword [ebp - 0x34c], eax
sub edx, ecx
mov dword [ebp - 0x2ec], esi
mov esi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x68]
sub esi, eax
inc esi
mov ecx, dword [ebp - 0x328]
mov dword [ebp - 0x334], esi
shr esi, 1
mov dword [ebp - 0x330], esi
mov esi, dword [ebp - 0x360]
imul esi, ecx
imul eax, ecx
sub edi, esi
sub esi, eax
add edi, edx
add ecx, eax
add edx, dword [ebp - 0x354]
add ecx, edi
sub edx, esi
mov dword [ebp - 0x350], edx
mov edx, dword [ebp - 0x328]
neg edx
add eax, edx
add edi, eax
mov dword [ebp - 0x33c], edi
mov edx, dword [ebp - 0x358]
mov edi, dword [ebp - 0x364]
imul edi, edx
mov esi, dword [ebp - 0x32c]
mov dword [ebp - 0x344], ecx
mov ecx, dword [ebp - 0x368]
imul ecx, esi
mov eax, dword [ebp - 0x34c]
sub edx, ecx
sub eax, edi
mov edi, dword [ebp - 0x68]
add edx, eax
imul edi, esi
add eax, dword [ebp - 0x358]
sub ecx, edi
sub eax, ecx
add esi, edi
mov ecx, dword [ebp - 0x32c]
add esi, edx
neg ecx
add edi, ecx
mov dword [ebp - 0x348], 0
add edx, edi
mov dword [ebp - 0x340], esi
mov dword [ebp - 0x338], edx
mov dword [ebp - 0x34c], eax
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x348]
mov edx, dword [ebp - 0xa0]
cmp edx, dword [ebp - 0x68]
jl 0x4fb178
cmp dword [ebp - 0x330], 0
jbe 0x5001f7
mov edi, dword [ebp - 0x354]
xor esi, esi
imul edi, eax
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x348], eax
lea ecx, [edx + edi]
mov edx, dword [ebp - 0x358]
imul edx, eax
mov dword [ebp - 0x35c], ecx
mov ecx, dword [ebp - 0x340]
add edi, dword [ebp - 0x350]
mov dword [ebp - 0x364], edi
add ecx, edx
mov dword [ebp - 0x360], ecx
xor ecx, ecx
add edx, dword [ebp - 0x34c]
mov dword [ebp - 0x368], edx
mov edi, ecx
mov eax, dword [ebp - 0x364]
inc esi
movzx edx, byte [eax + ecx*2]
mov eax, dword [ebp - 0x368]
mov byte [eax + edi*2], dl
mov edx, dword [ebp - 0x35c]
movzx eax, byte [edx + ecx*2]
mov edx, dword [ebp - 0x360]
add ecx, dword [ebp - 0x328]
mov byte [edx + edi*2], al
add edi, dword [ebp - 0x32c]
cmp esi, dword [ebp - 0x330]
jb 0x4fb0f3
mov eax, dword [ebp - 0x348]
lea esi, [esi + esi + 1]
lea edx, [esi - 1]
cmp edx, dword [ebp - 0x334]
jae 0x4fb178
mov edi, esi
imul edi, dword [ebp - 0x328]
imul esi, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x354]
imul edx, eax
mov ecx, dword [ebp - 0x358]
imul ecx, eax
add edi, dword [ebp - 0x33c]
add esi, dword [ebp - 0x338]
movzx edx, byte [edi + edx]
mov byte [esi + ecx], dl
inc eax
cmp eax, dword [ebp - 0xa0]
jb 0x4fb084
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
test byte [0x76e5c8], 1
je 0x4fb906
mov eax, dword [0x6e3cac]
mov edx, dword [0x6e3ca4]
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x340], edx
test edx, edx
jle 0x4fb501
xor ecx, ecx
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x35c], ecx
mov ecx, dword [ebp - 0xa0]
sub ecx, dword [ebp - 0x68]
mov dword [ebp - 0x33c], ecx
mov edx, dword [0x6e3ca8]
mov eax, dword [0x6e3c80]
lea ecx, [ecx + 1]
mov dword [ebp - 0x360], ecx
mov ecx, dword [ebp - 0x368]
imul ecx, edx
mov dword [ebp - 0x358], eax
mov eax, dword [0x6e3c9c]
mov dword [ebp - 0x338], edx
mov dword [ebp - 0x364], ecx
mov edx, dword [0x6e3ca0]
cmp eax, 8
je 0x4fb3ca
imul edx, eax
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x358]
mov dword [ebp - 0x2ec], esi
mov esi, edi
sub esi, ecx
sub ecx, edx
add esi, ecx
mov ecx, dword [ebp - 0x68]
imul ecx, eax
sub edx, ecx
sub edi, edx
lea edx, [ecx + eax*2]
add edx, esi
mov dword [ebp - 0x34c], edx
lea edx, [eax + eax*2]
mov dword [ebp - 0x358], edi
lea edi, [ecx + eax*4]
add edi, esi
lea ecx, [ecx + edx*2]
mov edx, dword [ebp - 0x360]
add esi, ecx
and edx, 0xfffffff8
mov dword [ebp - 0x350], edi
mov dword [ebp - 0x348], esi
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x334], eax
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x35c]
cmp dword [ebp - 0x33c], 0
js 0x4fb3a6
cmp edx, 8
jl 0x4ffeed
mov edi, dword [ebp - 0x358]
xor esi, esi
mov ecx, dword [ebp - 0x330]
pxor xmm0, xmm0
mov dword [ebp - 0x354], ecx
add edi, eax
mov dword [ebp - 0x324], edi
mov edi, dword [ebp - 0x34c]
mov dword [ebp - 0x35c], eax
mov edx, esi
mov ecx, dword [ebp - 0x334]
add edi, eax
mov dword [ebp - 0x328], edi
mov edi, dword [ebp - 0x350]
add edi, eax
mov dword [ebp - 0x364], edi
mov edi, dword [ebp - 0x348]
add edi, eax
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x32c], edi
nop
mov edi, dword [ebp - 0x324]
add esi, 8
add edi, edx
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
mov edi, dword [ebp - 0x328]
add edi, edx
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
lea edi, [edx + eax]
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
mov edi, dword [ebp - 0x32c]
add edi, edx
movsd qword [edi], xmm0
lea edx, [edx + ecx*8]
movhpd qword [ecx + edi], xmm0
cmp esi, dword [ebp - 0x330]
jb 0x4fb310
mov ecx, dword [ebp - 0x354]
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x35c]
mov edi, dword [ebp - 0x334]
imul edi, ecx
cmp ecx, edx
jae 0x4fb3a6
mov esi, dword [ebp - 0x358]
mov dword [ebp - 0x35c], eax
pxor xmm0, xmm0
add esi, eax
mov eax, dword [ebp - 0x334]
inc ecx
movsd qword [edi + esi], xmm0
add edi, eax
cmp ecx, edx
jb 0x4fb394
mov eax, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x344]
inc ecx
add eax, dword [ebp - 0x338]
mov dword [ebp - 0x344], ecx
cmp ecx, dword [ebp - 0x340]
jb 0x4fb29b
jmp 0x4fb4f5
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x358]
shl edx, 3
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x2ec], esi
lea eax, [eax + ecx*8]
mov ecx, eax
sub ecx, edx
mov dword [ebp - 0x350], ecx
mov ecx, dword [ebp - 0x364]
sub eax, ecx
sub ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp - 0x35c]
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x33c], 0
js 0x4fb4d6
cmp ecx, 8
jl 0x4fff23
mov eax, dword [ebp - 0x354]
lea esi, [eax + edx]
mov dword [ebp - 0x364], esi
and esi, 0xf
je 0x4fb448
test esi, 7
jne 0x4fff23
mov esi, 1
lea eax, [esi + 8]
cmp ecx, eax
jl 0x4fff23
mov eax, ecx
sub eax, esi
and eax, 7
neg eax
add eax, ecx
test esi, esi
jbe 0x4fb484
mov dword [ebp - 0x35c], edx
xor edi, edi
mov edx, dword [ebp - 0x364]
pxor xmm0, xmm0
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, esi
jb 0x4fb474
mov edx, dword [ebp - 0x35c]
mov edi, dword [ebp - 0x350]
mov dword [ebp - 0x35c], edx
pxor xmm0, xmm0
add edi, edx
mov edx, dword [ebp - 0x364]
movups xmmword [edx + esi*8], xmm0
movups xmmword [edi + esi*8 + 0x10], xmm0
movups xmmword [edi + esi*8 + 0x20], xmm0
movups xmmword [edi + esi*8 + 0x30], xmm0
add esi, 8
cmp esi, eax
jb 0x4fb49c
mov edx, dword [ebp - 0x35c]
cmp eax, ecx
jae 0x4fb4d6
mov esi, dword [ebp - 0x354]
pxor xmm0, xmm0
add esi, edx
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, ecx
jb 0x4fb4cc
mov eax, dword [ebp - 0x344]
inc eax
add edx, dword [ebp - 0x338]
mov dword [ebp - 0x344], eax
cmp eax, dword [ebp - 0x340]
jb 0x4fb40d
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xa0]
jg 0x4ffefe
mov eax, dword [0x6e3d08]
mov dword [ebp - 0x2f4], eax
mov ecx, dword [0x6e3cfc]
mov eax, dword [0x6e3cd8]
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x68]
sub ecx, eax
mov edx, dword [0x6e3ccc]
mov dword [ebp - 0x2ec], esi
mov esi, dword [0x6e3ca8]
mov dword [ebp - 0x314], edx
lea edx, [ecx + 1]
mov dword [ebp - 0x328], edx
mov edx, dword [ebp - 0x368]
imul edx, esi
mov dword [ebp - 0x364], ecx
mov ecx, dword [0x6e3c80]
sub ecx, edx
mov edx, dword [0x6e3ca0]
sub edx, eax
mov dword [ebp - 0xd4], edi
mov edi, dword [0x6e3c9c]
imul edx, edi
mov dword [ebp - 0x308], esi
add esi, ecx
mov dword [ebp - 0x310], edi
sub esi, edx
mov edi, dword [0x6e3cd8]
mov dword [ebp - 0x34c], esi
mov esi, dword [0x6e3cdc]
imul esi, edi
mov dword [ebp - 0x32c], ecx
sub ecx, edx
mov dword [ebp - 0x358], ecx
mov ecx, dword [0x6e3cd0]
sub ecx, eax
mov dword [ebp - 0x360], edx
mov edx, dword [0x6e3cb0]
sub edx, esi
imul ecx, dword [0x6e3ccc]
mov dword [ebp - 0x35c], ecx
lea esi, [edx + edi]
sub esi, ecx
mov dword [ebp - 0x348], esi
mov esi, edx
sub esi, ecx
mov dword [ebp - 0x354], esi
mov esi, eax
imul esi, edi
mov edi, dword [ebp - 0xd4]
add esi, edx
sub edi, dword [0x6c5bb4]
sub esi, ecx
imul edi, dword [0x6c5bb0]
mov ecx, dword [0x6c5ba8]
neg ecx
add ecx, eax
add edi, dword [0x6c5b88]
mov dword [ebp - 0x324], esi
mov dword [ebp - 0x350], 0
lea esi, [edi + ecx*8]
mov ecx, dword [ebp - 0xa0]
shr ecx, 1
mov dword [ebp - 0x2f8], ecx
mov ecx, dword [0x6e3d08]
mov edi, dword [0x6e3d0c]
imul edi, ecx
mov dword [ebp - 0x318], esi
mov esi, dword [0x6e3ce0]
sub esi, edi
mov edi, dword [0x6e3d00]
sub edi, eax
imul edi, dword [0x6e3cfc]
lea eax, [esi + ecx]
sub eax, edi
lea ecx, [esi + ecx*2]
mov dword [ebp - 0x33c], eax
mov eax, esi
sub eax, edi
sub ecx, edi
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x338], ecx
mov ecx, dword [0x6e3ca8]
mov eax, dword [ebp - 0x32c]
mov esi, dword [ebp - 0x360]
lea edi, [eax + ecx*2]
sub edi, esi
mov dword [ebp - 0x334], edi
mov edi, dword [0x6e3cd8]
lea edx, [edx + edi*2]
mov edi, dword [ebp - 0x68]
imul edi, ecx
add eax, edi
sub edx, dword [ebp - 0x35c]
sub eax, esi
mov dword [ebp - 0x330], edx
mov edx, dword [ebp - 0x350]
mov dword [ebp - 0x32c], eax
cmp dword [ebp - 0xa0], 0
jle 0x4fb86b
mov eax, dword [ebp - 0x310]
imul eax, edx
mov ecx, dword [ebp - 0x314]
imul ecx, edx
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x2f8], 0
jbe 0x4ffef4
mov esi, dword [ebp - 0x348]
xor eax, eax
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x368], ecx
lea edi, [ecx + esi]
mov dword [ebp - 0x2fc], edi
mov edi, dword [ebp - 0x344]
imul edi, edx
mov esi, dword [ebp - 0x33c]
add esi, edi
add edi, dword [ebp - 0x338]
mov dword [ebp - 0x2f0], edi
mov edi, dword [ebp - 0x330]
mov edx, esi
lea esi, [ecx + edi]
mov dword [ebp - 0x300], esi
mov edi, dword [ebp - 0x34c]
mov esi, dword [ebp - 0x360]
add edi, esi
mov dword [ebp - 0x304], edi
mov edi, dword [ebp - 0x334]
add esi, edi
mov dword [ebp - 0x35c], esi
mov ecx, dword [ebp - 0x2f4]
imul ecx, eax
test byte [edx + ecx*2], 1
je 0x4fb7b5
mov edi, dword [ebp - 0x30c]
imul edi, eax
mov esi, dword [ebp - 0x2fc]
movsd xmm0, qword [esi + edi*2]
mov edi, dword [ebp - 0x308]
imul edi, eax
xorps xmm0, xmmword [0x6852c0]
mov esi, dword [ebp - 0x304]
movsd qword [esi + edi*2], xmm0
mov esi, dword [ebp - 0x2f0]
test byte [esi + ecx*2], 1
je 0x4fb7f0
mov esi, dword [ebp - 0x30c]
imul esi, eax
mov ecx, dword [ebp - 0x300]
mov edi, dword [ebp - 0x35c]
movsd xmm0, qword [ecx + esi*2]
mov ecx, dword [ebp - 0x308]
imul ecx, eax
xorps xmm0, xmmword [0x6852c0]
movsd qword [edi + ecx*2], xmm0
inc eax
cmp eax, dword [ebp - 0x2f8]
jb 0x4fb777
mov ecx, dword [ebp - 0x368]
lea eax, [eax + eax + 1]
mov edx, dword [ebp - 0x350]
lea esi, [eax - 1]
cmp esi, dword [ebp - 0xa0]
jae 0x4fb883
mov esi, eax
imul esi, dword [ebp - 0x2f4]
mov edi, dword [ebp - 0x344]
imul edi, edx
add esi, dword [ebp - 0x340]
test byte [esi + edi], 1
je 0x4fb883
mov esi, dword [ebp - 0x30c]
imul esi, eax
imul eax, dword [ebp - 0x308]
add esi, dword [ebp - 0x354]
add eax, dword [ebp - 0x358]
mov edi, dword [ebp - 0x360]
movsd xmm0, qword [esi + ecx]
xorps xmm0, xmmword [0x6852c0]
movsd qword [eax + edi], xmm0
jmp 0x4fb883
mov eax, dword [ebp - 0x310]
imul eax, edx
mov ecx, dword [ebp - 0x314]
imul ecx, edx
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x30c]
imul eax, edx
add ecx, dword [ebp - 0x324]
mov edi, dword [ebp - 0x308]
imul edi, edx
movsd xmm0, qword [ecx + eax]
mov ecx, dword [ebp - 0x318]
mov esi, dword [ebp - 0x360]
add esi, dword [ebp - 0x32c]
addsd xmm0, qword [ecx + edx*8]
inc edx
movsd qword [esi + edi], xmm0
cmp edx, dword [ebp - 0x328]
jb 0x4fb6d8
mov edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x68]
mov esi, dword [ebp - 0x2ec]
mov edi, dword [ebp - 0xd4]
lea ecx, [eax + edx + 1]
mov edx, esi
mov eax, dword [0x6c8bb0]
add edx, dword [0x6c8b90]
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
jmp 0x4fdbe6
mov ecx, dword [0x6c52f0]
shl ecx, 2
neg ecx
add ecx, dword [0x6c52d0]
mov eax, dword [0x6c8bb0]
mov edx, dword [0x6c8b90]
add edx, esi
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
test byte [esi + ecx], 1
je 0x4fd48c
lea edx, [eax*4]
neg edx
add edx, dword [ebp - 0x2e4]
cmp dword [edx], 0
jne 0x4fd48c
mov ecx, dword [0x6e3c9c]
mov edx, dword [0x6e3c98]
mov dword [ebp - 0x358], esp
cmp ecx, dword [0x6e3c84]
jne 0x4fb97d
mov eax, ecx
imul eax, edx
cmp eax, dword [0x6e3ca8]
je 0x4fbd89
mov eax, dword [0x6e3ca4]
lea esi, [edx*8]
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x334], esi
shl eax, 3
imul eax, edx
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x308], eax
mov eax, dword [0x6e3cac]
cmp dword [ebp - 0x32c], 0
jle 0x500409
mov dword [ebp - 0x344], edx
mov edx, dword [0x6e3ca8]
imul eax, edx
mov dword [ebp - 0xd4], edi
mov esi, dword [0x6e3c80]
mov edi, dword [0x6e3ca0]
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x338], esi
sub esi, eax
mov dword [ebp - 0x35c], edi
xor edi, edi
mov dword [ebp - 0x330], edi
mov dword [ebp - 0x368], edi
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x354], edx
mov dword [ebp - 0x360], esi
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x344]
cmp ecx, 8
je 0x4fbbbf
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x35c], ecx
mov edi, dword [ebp - 0x350]
mov esi, dword [ebp - 0x368]
test edx, edx
jle 0x4fbb98
cmp edx, 2
jl 0x4fff2a
mov ecx, edi
mov eax, 1
and ecx, 0xf
cmovne ecx, eax
mov dword [ebp - 0x364], ecx
lea eax, [ecx + 2]
cmp edx, eax
jl 0x4fff2a
mov ecx, edx
mov eax, dword [ebp - 0x364]
sub ecx, eax
and ecx, 1
neg ecx
add ecx, edx
mov dword [ebp - 0x350], ecx
mov ecx, dword [ebp - 0x338]
add ecx, esi
mov dword [ebp - 0x34c], ecx
test eax, eax
mov eax, dword [ebp - 0x350]
jbe 0x4fbaf5
xor ecx, ecx
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x344], edx
mov eax, ecx
mov edx, dword [ebp - 0x34c]
mov esi, dword [ebp - 0x364]
movsd xmm0, qword [eax + edx]
movsd qword [edi + ecx*8], xmm0
inc ecx
add eax, dword [ebp - 0x35c]
cmp ecx, esi
jb 0x4fbac8
mov dword [ebp - 0x364], esi
mov eax, dword [ebp - 0x350]
mov esi, dword [ebp - 0x368]
mov edx, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x350], eax
imul ecx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x344], edx
mov edx, dword [ebp - 0x34c]
lea esi, [edx + ecx]
mov edx, dword [ebp - 0x35c]
movsd xmm0, qword [esi]
movhpd xmm0, qword [esi + edx]
lea ecx, [ecx + edx*2]
movups xmmword [edi + eax*8], xmm0
add eax, 2
cmp eax, dword [ebp - 0x350]
jb 0x4fbb1a
mov eax, dword [ebp - 0x350]
mov esi, dword [ebp - 0x368]
mov edx, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x35c]
imul ecx, eax
mov dword [ebp - 0x360], ecx
cmp eax, edx
jae 0x4fbb98
mov ecx, dword [ebp - 0x338]
mov dword [ebp - 0x368], esi
add ecx, esi
mov esi, dword [ebp - 0x360]
movsd xmm0, qword [esi + ecx]
movsd qword [edi + eax*8], xmm0
inc eax
add esi, dword [ebp - 0x35c]
cmp eax, edx
jb 0x4fbb7d
mov esi, dword [ebp - 0x368]
mov eax, dword [ebp - 0x330]
lea edi, [edi + edx*8]
inc eax
add esi, dword [ebp - 0x33c]
mov dword [ebp - 0x330], eax
cmp eax, dword [ebp - 0x32c]
jb 0x4fba48
jmp 0x4fbd77
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x364], eax
shl ecx, 3
mov dword [ebp - 0x368], ecx
mov ecx, dword [ebp - 0x330]
test edx, edx
jle 0x4fbd6a
cmp edx, 2
jl 0x4fff31
mov eax, dword [ebp - 0x334]
mov esi, 1
imul eax, ecx
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x34c], eax
and eax, 0xf
cmovne eax, esi
mov dword [ebp - 0x340], eax
lea edi, [eax + 2]
cmp edx, edi
jl 0x4fff31
mov esi, edx
sub esi, eax
and esi, 1
neg esi
add esi, edx
mov dword [ebp - 0x318], esi
mov esi, dword [ebp - 0x33c]
imul esi, ecx
mov edi, dword [ebp - 0x338]
mov dword [ebp - 0x328], esi
add edi, esi
mov dword [ebp - 0x324], edi
test eax, eax
mov eax, dword [ebp - 0x318]
jbe 0x4fbca5
mov dword [ebp - 0x348], 0
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0x344], edx
mov edx, dword [ebp - 0x348]
mov ecx, edi
mov esi, dword [ebp - 0x340]
mov edi, dword [ebp - 0x34c]
movsd xmm0, qword [ecx + edx*8]
movsd qword [edi + edx*8], xmm0
inc edx
cmp edx, esi
jb 0x4fbc84
mov dword [ebp - 0x340], esi
mov ecx, dword [ebp - 0x330]
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x318], eax
mov eax, dword [ebp - 0x364]
sub eax, dword [ebp - 0x368]
mov dword [ebp - 0x330], ecx
add eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x35c]
mov edi, dword [ebp - 0x340]
lea esi, [eax + ecx*8]
mov ecx, dword [ebp - 0x330]
add esi, dword [ebp - 0x328]
lea eax, [esi + edi*8]
test al, 0xf
mov eax, dword [ebp - 0x318]
je 0x4fbd10
mov dword [ebp - 0x344], edx
mov edx, dword [ebp - 0x324]
mov esi, edi
mov edi, dword [ebp - 0x34c]
movups xmm0, xmmword [edx + esi*8]
movups xmmword [edi + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4fbcff
jmp 0x4fbd33
mov dword [ebp - 0x344], edx
mov edx, dword [ebp - 0x324]
mov esi, edi
mov edi, dword [ebp - 0x34c]
movups xmm0, xmmword [edx + esi*8]
movups xmmword [edi + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4fbd24
mov edx, dword [ebp - 0x344]
cmp eax, edx
jae 0x4fbd6a
mov edi, dword [ebp - 0x33c]
mov esi, dword [ebp - 0x334]
imul edi, ecx
imul esi, ecx
add edi, dword [ebp - 0x338]
add esi, dword [ebp - 0x350]
movsd xmm0, qword [edi + eax*8]
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4fbd5b
inc ecx
cmp ecx, dword [ebp - 0x32c]
jb 0x4fbbe0
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0x350], 1
jmp 0x4fbda8
mov eax, dword [0x6e3c80]
xor edx, edx
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x334], edx
mov ecx, dword [0x6e3ccc]
mov edx, dword [0x6e3cc8]
cmp ecx, dword [0x6e3cb4]
jne 0x4fbdcd
mov eax, ecx
imul eax, edx
cmp eax, dword [0x6e3cd8]
je 0x4fc1d6
mov eax, dword [0x6e3cd4]
lea esi, [edx*8]
mov dword [ebp - 0x318], eax
imul eax, esi
mov dword [ebp - 0x330], esi
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x304], eax
mov eax, dword [0x6e3cdc]
cmp dword [ebp - 0x318], 0
jle 0x5003f8
mov dword [ebp - 0x33c], edx
mov edx, dword [0x6e3cd8]
imul eax, edx
mov dword [ebp - 0xd4], edi
mov esi, dword [0x6e3cb0]
mov edi, dword [0x6e3cd0]
mov dword [ebp - 0x32c], edx
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x328], esi
sub esi, eax
mov dword [ebp - 0x35c], edi
xor edi, edi
mov dword [ebp - 0x324], edi
mov dword [ebp - 0x368], edi
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x360], esi
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x33c]
cmp ecx, 8
je 0x4fc00c
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x35c], ecx
mov edi, dword [ebp - 0x348]
mov esi, dword [ebp - 0x368]
test edx, edx
jle 0x4fbfe5
cmp edx, 2
jl 0x4fff38
mov ecx, edi
mov eax, 1
and ecx, 0xf
cmovne ecx, eax
mov dword [ebp - 0x364], ecx
lea eax, [ecx + 2]
cmp edx, eax
jl 0x4fff38
mov ecx, edx
mov eax, dword [ebp - 0x364]
sub ecx, eax
and ecx, 1
neg ecx
add ecx, edx
mov dword [ebp - 0x348], ecx
mov ecx, dword [ebp - 0x328]
add ecx, esi
mov dword [ebp - 0x344], ecx
test eax, eax
mov eax, dword [ebp - 0x348]
jbe 0x4fbf42
xor ecx, ecx
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x33c], edx
mov eax, ecx
mov edx, dword [ebp - 0x344]
mov esi, dword [ebp - 0x364]
movsd xmm0, qword [eax + edx]
movsd qword [edi + ecx*8], xmm0
inc ecx
add eax, dword [ebp - 0x35c]
cmp ecx, esi
jb 0x4fbf15
mov dword [ebp - 0x364], esi
mov eax, dword [ebp - 0x348]
mov esi, dword [ebp - 0x368]
mov edx, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x348], eax
imul ecx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x364]
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x344]
lea esi, [edx + ecx]
mov edx, dword [ebp - 0x35c]
movsd xmm0, qword [esi]
movhpd xmm0, qword [esi + edx]
lea ecx, [ecx + edx*2]
movups xmmword [edi + eax*8], xmm0
add eax, 2
cmp eax, dword [ebp - 0x348]
jb 0x4fbf67
mov eax, dword [ebp - 0x348]
mov esi, dword [ebp - 0x368]
mov edx, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x35c]
imul ecx, eax
mov dword [ebp - 0x360], ecx
cmp eax, edx
jae 0x4fbfe5
mov ecx, dword [ebp - 0x328]
mov dword [ebp - 0x368], esi
add ecx, esi
mov esi, dword [ebp - 0x360]
movsd xmm0, qword [esi + ecx]
movsd qword [edi + eax*8], xmm0
inc eax
add esi, dword [ebp - 0x35c]
cmp eax, edx
jb 0x4fbfca
mov esi, dword [ebp - 0x368]
mov eax, dword [ebp - 0x324]
lea edi, [edi + edx*8]
inc eax
add esi, dword [ebp - 0x32c]
mov dword [ebp - 0x324], eax
cmp eax, dword [ebp - 0x318]
jb 0x4fbe95
jmp 0x4fc1c4
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x364], eax
shl ecx, 3
mov dword [ebp - 0x368], ecx
mov ecx, dword [ebp - 0x324]
test edx, edx
jle 0x4fc1b7
cmp edx, 2
jl 0x4fff3f
mov eax, dword [ebp - 0x330]
mov esi, 1
imul eax, ecx
add eax, dword [ebp - 0x348]
mov dword [ebp - 0x344], eax
and eax, 0xf
cmovne eax, esi
mov dword [ebp - 0x338], eax
lea edi, [eax + 2]
cmp edx, edi
jl 0x4fff3f
mov esi, edx
sub esi, eax
and esi, 1
neg esi
add esi, edx
mov dword [ebp - 0x30c], esi
mov esi, dword [ebp - 0x32c]
imul esi, ecx
mov edi, dword [ebp - 0x328]
mov dword [ebp - 0x314], esi
add edi, esi
mov dword [ebp - 0x310], edi
test eax, eax
mov eax, dword [ebp - 0x30c]
jbe 0x4fc0f2
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x340]
mov ecx, edi
mov esi, dword [ebp - 0x338]
mov edi, dword [ebp - 0x344]
movsd xmm0, qword [ecx + edx*8]
movsd qword [edi + edx*8], xmm0
inc edx
cmp edx, esi
jb 0x4fc0d1
mov dword [ebp - 0x338], esi
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x364]
sub eax, dword [ebp - 0x368]
mov dword [ebp - 0x324], ecx
add eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x35c]
mov edi, dword [ebp - 0x338]
lea esi, [eax + ecx*8]
mov ecx, dword [ebp - 0x324]
add esi, dword [ebp - 0x314]
lea eax, [esi + edi*8]
test al, 0xf
mov eax, dword [ebp - 0x30c]
je 0x4fc15d
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x310]
mov esi, edi
mov edi, dword [ebp - 0x344]
movups xmm0, xmmword [edx + esi*8]
movups xmmword [edi + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4fc14c
jmp 0x4fc180
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x310]
mov esi, edi
mov edi, dword [ebp - 0x344]
movups xmm0, xmmword [edx + esi*8]
movups xmmword [edi + esi*8], xmm0
add esi, 2
cmp esi, eax
jb 0x4fc171
mov edx, dword [ebp - 0x33c]
cmp eax, edx
jae 0x4fc1b7
mov edi, dword [ebp - 0x32c]
mov esi, dword [ebp - 0x330]
imul edi, ecx
imul esi, ecx
add edi, dword [ebp - 0x328]
add esi, dword [ebp - 0x348]
movsd xmm0, qword [edi + eax*8]
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4fc1a8
inc ecx
cmp ecx, dword [ebp - 0x318]
jb 0x4fc02d
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0x35c], 1
jmp 0x4fc1f5
mov eax, dword [0x6e3cb0]
xor edx, edx
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x330], edx
mov ecx, dword [0x6e3cfc]
mov eax, dword [0x6e3cf8]
mov dword [ebp - 0x32c], eax
cmp ecx, dword [0x6e3ce4]
jne 0x4fc223
mov eax, ecx
imul eax, dword [ebp - 0x32c]
cmp eax, dword [0x6e3d08]
je 0x4fc5b8
mov edx, dword [0x6e3d04]
mov eax, dword [ebp - 0x32c]
imul eax, edx
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov dword [ebp - 0x348], eax
mov eax, dword [0x6e3d0c]
test edx, edx
jle 0x4fc5a6
mov dword [ebp - 0x314], edx
mov edx, dword [0x6e3d08]
imul eax, edx
mov dword [ebp - 0xd4], edi
mov esi, dword [0x6e3ce0]
mov edi, dword [0x6e3d00]
mov dword [ebp - 0x318], esi
sub esi, eax
mov dword [ebp - 0x364], edi
xor edi, edi
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x328], edi
mov dword [ebp - 0x338], edi
mov dword [ebp - 0x33c], edi
mov dword [ebp - 0x360], esi
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x314]
cmp ecx, 1
je 0x4fc3ed
mov eax, dword [ebp - 0x32c]
shr eax, 1
mov dword [ebp - 0x340], eax
mov eax, ecx
mov esi, dword [ebp - 0x318]
neg eax
add eax, esi
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x310], ecx
add esi, ecx
mov dword [ebp - 0x368], esi
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x314], edx
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x338]
cmp dword [ebp - 0x32c], 0
jle 0x4fc3c3
cmp dword [ebp - 0x340], 0
jbe 0x4fff46
mov edi, dword [ebp - 0x348]
xor edx, edx
mov esi, dword [ebp - 0x324]
imul esi, dword [ebp - 0x328]
add edi, ecx
mov dword [ebp - 0x360], edi
mov edi, dword [ebp - 0x318]
mov dword [ebp - 0x338], ecx
mov dword [ebp - 0x33c], eax
add edi, esi
add esi, dword [ebp - 0x368]
mov dword [ebp - 0x364], edi
mov dword [ebp - 0x30c], esi
mov edi, edx
mov ecx, dword [ebp - 0x364]
mov esi, dword [ebp - 0x360]
movzx eax, byte [ecx + edi*2]
mov byte [esi + edx*2], al
mov eax, dword [ebp - 0x30c]
movzx eax, byte [eax + edi*2]
mov byte [esi + edx*2 + 1], al
inc edx
add edi, dword [ebp - 0x310]
cmp edx, dword [ebp - 0x340]
jb 0x4fc367
mov eax, dword [ebp - 0x33c]
lea esi, [edx + edx + 1]
mov ecx, dword [ebp - 0x338]
lea edx, [esi - 1]
cmp edx, dword [ebp - 0x32c]
jae 0x4fc3c3
mov edi, esi
imul edi, dword [ebp - 0x310]
add edi, dword [ebp - 0x344]
add esi, dword [ebp - 0x348]
movzx edx, byte [edi + eax]
mov byte [esi + ecx - 1], dl
mov edx, dword [ebp - 0x328]
inc edx
add ecx, dword [ebp - 0x32c]
add eax, dword [ebp - 0x324]
mov dword [ebp - 0x328], edx
cmp edx, dword [ebp - 0x314]
jb 0x4fc2fc
jmp 0x4fc5a0
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x314], edx
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x32c]
test eax, eax
jle 0x4fc57f
cmp eax, 0x10
jl 0x4fff50
mov ecx, dword [ebp - 0x348]
add ecx, edx
mov dword [ebp - 0x344], ecx
and ecx, 0xf
je 0x4fc43a
neg ecx
add ecx, 0x10
lea edi, [ecx + 0x10]
cmp eax, edi
jl 0x4fff50
mov edi, eax
sub edi, ecx
and edi, 0xf
neg edi
add edi, eax
mov dword [ebp - 0x310], edi
mov edi, dword [ebp - 0x318]
add edi, esi
mov dword [ebp - 0x30c], edi
test ecx, ecx
jbe 0x4fc4aa
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x33c], esi
mov dword [ebp - 0x338], edx
mov edx, dword [ebp - 0x340]
mov esi, edi
mov edi, dword [ebp - 0x344]
movzx eax, byte [edx + esi]
mov byte [edx + edi], al
inc edx
cmp edx, ecx
jb 0x4fc48c
mov esi, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x338], edx
mov edx, dword [ebp - 0x368]
mov edi, dword [ebp - 0x364]
sub edx, edi
add edx, dword [ebp - 0x360]
add edx, edi
add edx, esi
add edx, ecx
test dl, 0xf
mov edx, dword [ebp - 0x338]
je 0x4fc500
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x310]
mov edx, dword [ebp - 0x30c]
mov edi, dword [ebp - 0x344]
movdqu xmm0, xmmword [ecx + edx]
movdqu xmmword [ecx + edi], xmm0
add ecx, 0x10
cmp ecx, eax
jb 0x4fc4ed
jmp 0x4fc529
mov dword [ebp - 0x338], edx
mov eax, dword [ebp - 0x310]
mov edx, dword [ebp - 0x30c]
mov edi, dword [ebp - 0x344]
movdqu xmm0, xmmword [ecx + edx]
movdqu xmmword [ecx + edi], xmm0
add ecx, 0x10
cmp ecx, eax
jb 0x4fc518
mov dword [ebp - 0x310], eax
mov edx, dword [ebp - 0x338]
mov eax, dword [ebp - 0x32c]
cmp eax, dword [ebp - 0x310]
jbe 0x4fc57f
mov edi, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x318]
mov dword [ebp - 0x33c], esi
mov dword [ebp - 0x338], edx
add edi, edx
add ecx, esi
mov esi, edi
mov edi, dword [ebp - 0x310]
movzx edx, byte [edi + ecx]
mov byte [edi + esi], dl
inc edi
cmp edi, eax
jb 0x4fc567
mov esi, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x338]
mov ecx, dword [ebp - 0x328]
add edx, eax
inc ecx
add esi, dword [ebp - 0x324]
mov dword [ebp - 0x328], ecx
cmp ecx, dword [ebp - 0x314]
jb 0x4fc411
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0x348]
mov dword [ebp - 0x364], 1
jmp 0x4fc5d2
xor eax, eax
mov edx, dword [0x6e3ce0]
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x32c], eax
push edx
push dword [ebp - 0x34c]
push dword [ebp - 0x354]
push dword [ebp - 0x68]
push dword [ebp - 0xa0]
push edi
push 0
call fcn.00636ed0
add esp, 0x1c
cmp dword [ebp - 0x350], 0
je 0x4fc8ad
mov esi, dword [0x6e3ca4]
test esi, esi
jle 0x4fc8ad
mov edi, dword [0x6e3c98]
mov ecx, dword [0x6e3c9c]
mov dword [ebp - 0x33c], edi
xor edi, edi
mov eax, dword [0x6e3c80]
mov edx, dword [0x6e3ca8]
mov dword [ebp - 0x368], edi
cmp ecx, 8
je 0x4fc76b
mov dword [ebp - 0x34c], ecx
mov dword [ebp - 0x360], edi
mov dword [ebp - 0x354], edx
mov dword [ebp - 0x350], esi
mov ecx, dword [ebp - 0x308]
cmp dword [ebp - 0x33c], 0
jle 0x4fc741
cmp dword [ebp - 0x33c], 2
jl 0x4fff5f
mov edx, ecx
mov esi, 1
and edx, 0xf
cmovne edx, esi
lea edi, [edx + 2]
cmp edi, dword [ebp - 0x33c]
jg 0x4fff5f
mov edi, dword [ebp - 0x33c]
mov esi, edi
sub esi, edx
and esi, 1
neg esi
add esi, edi
test edx, edx
jbe 0x4fc6ca
xor edi, edi
mov dword [ebp - 0x368], esi
mov esi, edi
movsd xmm0, qword [ecx + edi*8]
inc edi
movsd qword [esi + eax], xmm0
add esi, dword [ebp - 0x34c]
cmp edi, edx
jb 0x4fc6af
mov esi, dword [ebp - 0x368]
mov edi, dword [ebp - 0x34c]
imul edi, edx
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x308], ecx
mov ecx, dword [ebp - 0x308]
lea esi, [edi + eax]
movups xmm0, xmmword [ecx + edx*8]
add edx, 2
mov ecx, dword [ebp - 0x34c]
movsd qword [esi], xmm0
movhpd qword [ecx + esi], xmm0
lea edi, [edi + ecx*2]
cmp edx, dword [ebp - 0x368]
jb 0x4fc6df
mov esi, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x308]
mov edx, dword [ebp - 0x34c]
imul edx, esi
cmp esi, dword [ebp - 0x33c]
jae 0x4fc741
mov edi, dword [ebp - 0x34c]
movsd xmm0, qword [ecx + esi*8]
inc esi
movsd qword [edx + eax], xmm0
add edx, edi
cmp esi, dword [ebp - 0x33c]
jb 0x4fc72c
mov edx, dword [ebp - 0x360]
inc edx
add eax, dword [ebp - 0x354]
add ecx, dword [ebp - 0x334]
mov dword [ebp - 0x360], edx
cmp edx, dword [ebp - 0x350]
jb 0x4fc65a
jmp 0x4fc8ad
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x360], edi
mov dword [ebp - 0x354], edx
mov esi, dword [ebp - 0x368]
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x308]
test eax, eax
jle 0x4fc888
cmp eax, 2
jl 0x4fffd8
mov edx, dword [ebp - 0x34c]
add edx, esi
and edx, 0xf
je 0x4fc7c1
test dl, 7
jne 0x4fffd8
mov edx, 1
lea edi, [edx + 2]
cmp eax, edi
jl 0x4fffd8
mov edi, eax
sub edi, edx
and edi, 1
neg edi
add edi, eax
mov dword [ebp - 0x344], edi
mov edi, dword [ebp - 0x34c]
add edi, esi
mov dword [ebp - 0x340], edi
test edx, edx
jbe 0x4fc814
mov dword [ebp - 0x368], 0
mov eax, dword [ebp - 0x368]
movsd xmm0, qword [ecx + eax*8]
movsd qword [edi + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4fc7ff
mov eax, dword [ebp - 0x33c]
lea edi, [ecx + edx*8]
test edi, 0xf
je 0x4fc83c
mov eax, dword [ebp - 0x344]
mov edi, dword [ebp - 0x340]
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [edi + edx*8], xmm0
add edx, 2
cmp edx, eax
jb 0x4fc82b
jmp 0x4fc857
mov eax, dword [ebp - 0x344]
mov edi, dword [ebp - 0x340]
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [edi + edx*8], xmm0
add edx, 2
cmp edx, eax
jb 0x4fc848
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x33c]
cmp eax, dword [ebp - 0x344]
jbe 0x4fc888
mov edx, dword [ebp - 0x34c]
mov edi, dword [ebp - 0x344]
add edx, esi
movsd xmm0, qword [ecx + edi*8]
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, eax
jb 0x4fc879
mov edx, dword [ebp - 0x360]
inc edx
add ecx, dword [ebp - 0x334]
add esi, dword [ebp - 0x354]
mov dword [ebp - 0x360], edx
cmp edx, dword [ebp - 0x350]
jb 0x4fc795
cmp dword [ebp - 0x35c], 0
je 0x4fcb67
mov esi, dword [0x6e3cd4]
test esi, esi
jle 0x4fcb67
mov edi, dword [0x6e3cc8]
mov ecx, dword [0x6e3ccc]
mov dword [ebp - 0x340], edi
xor edi, edi
mov eax, dword [0x6e3cb0]
mov edx, dword [0x6e3cd8]
mov dword [ebp - 0x368], edi
cmp ecx, 8
je 0x4fca25
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x360], edi
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x354], esi
mov ecx, dword [ebp - 0x304]
cmp dword [ebp - 0x340], 0
jle 0x4fc9fb
cmp dword [ebp - 0x340], 2
jl 0x4fff66
mov edx, ecx
mov esi, 1
and edx, 0xf
cmovne edx, esi
lea edi, [edx + 2]
cmp edi, dword [ebp - 0x340]
jg 0x4fff66
mov edi, dword [ebp - 0x340]
mov esi, edi
sub esi, edx
and esi, 1
neg esi
add esi, edi
test edx, edx
jbe 0x4fc984
xor edi, edi
mov dword [ebp - 0x368], esi
mov esi, edi
movsd xmm0, qword [ecx + edi*8]
inc edi
movsd qword [esi + eax], xmm0
add esi, dword [ebp - 0x350]
cmp edi, edx
jb 0x4fc969
mov esi, dword [ebp - 0x368]
mov edi, dword [ebp - 0x350]
imul edi, edx
mov dword [ebp - 0x368], esi
mov dword [ebp - 0x304], ecx
mov ecx, dword [ebp - 0x304]
lea esi, [edi + eax]
movups xmm0, xmmword [ecx + edx*8]
add edx, 2
mov ecx, dword [ebp - 0x350]
movsd qword [esi], xmm0
movhpd qword [ecx + esi], xmm0
lea edi, [edi + ecx*2]
cmp edx, dword [ebp - 0x368]
jb 0x4fc999
mov esi, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x304]
mov edx, dword [ebp - 0x350]
imul edx, esi
cmp esi, dword [ebp - 0x340]
jae 0x4fc9fb
mov edi, dword [ebp - 0x350]
movsd xmm0, qword [ecx + esi*8]
inc esi
movsd qword [edx + eax], xmm0
add edx, edi
cmp esi, dword [ebp - 0x340]
jb 0x4fc9e6
mov edx, dword [ebp - 0x360]
inc edx
add eax, dword [ebp - 0x35c]
add ecx, dword [ebp - 0x330]
mov dword [ebp - 0x360], edx
cmp edx, dword [ebp - 0x354]
jb 0x4fc914
jmp 0x4fcb67
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x354], esi
mov dword [ebp - 0x360], edi
mov dword [ebp - 0x35c], edx
mov esi, dword [ebp - 0x368]
mov eax, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x304]
test eax, eax
jle 0x4fcb42
cmp eax, 2
jl 0x4fffc9
mov edx, dword [ebp - 0x350]
add edx, esi
and edx, 0xf
je 0x4fca7b
test dl, 7
jne 0x4fffc9
mov edx, 1
lea edi, [edx + 2]
cmp eax, edi
jl 0x4fffc9
mov edi, eax
sub edi, edx
and edi, 1
neg edi
add edi, eax
mov dword [ebp - 0x34c], edi
mov edi, dword [ebp - 0x350]
add edi, esi
mov dword [ebp - 0x344], edi
test edx, edx
jbe 0x4fcace
mov dword [ebp - 0x368], 0
mov eax, dword [ebp - 0x368]
movsd xmm0, qword [ecx + eax*8]
movsd qword [edi + eax*8], xmm0
inc eax
cmp eax, edx
jb 0x4fcab9
mov eax, dword [ebp - 0x340]
lea edi, [ecx + edx*8]
test edi, 0xf
je 0x4fcaf6
mov eax, dword [ebp - 0x34c]
mov edi, dword [ebp - 0x344]
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [edi + edx*8], xmm0
add edx, 2
cmp edx, eax
jb 0x4fcae5
jmp 0x4fcb11
mov eax, dword [ebp - 0x34c]
mov edi, dword [ebp - 0x344]
movups xmm0, xmmword [ecx + edx*8]
movups xmmword [edi + edx*8], xmm0
add edx, 2
cmp edx, eax
jb 0x4fcb02
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x340]
cmp eax, dword [ebp - 0x34c]
jbe 0x4fcb42
mov edx, dword [ebp - 0x350]
mov edi, dword [ebp - 0x34c]
add edx, esi
movsd xmm0, qword [ecx + edi*8]
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, eax
jb 0x4fcb33
mov edx, dword [ebp - 0x360]
inc edx
add ecx, dword [ebp - 0x330]
add esi, dword [ebp - 0x35c]
mov dword [ebp - 0x360], edx
cmp edx, dword [ebp - 0x354]
jb 0x4fca4f
cmp dword [ebp - 0x364], 0
je 0x4fce0e
mov eax, dword [0x6e3d04]
mov dword [ebp - 0x35c], eax
test eax, eax
jle 0x4fce0e
mov ecx, dword [0x6e3ce0]
mov esi, dword [0x6e3d08]
mov eax, dword [0x6e3cf8]
mov dword [ebp - 0x350], ecx
mov ecx, dword [0x6e3cfc]
mov dword [ebp - 0x360], esi
mov dword [ebp - 0x354], eax
xor eax, eax
mov esi, dword [0x6e3d00]
mov dword [ebp - 0x34c], eax
cmp ecx, 1
je 0x4fccdd
imul esi, ecx
mov edi, dword [ebp - 0x354]
lea edx, [ecx + esi]
shr edi, 1
mov dword [ebp - 0x344], edi
mov edi, ecx
neg edi
mov eax, dword [ebp - 0x350]
sub eax, esi
add esi, edi
add edx, eax
add eax, esi
mov dword [ebp - 0x368], edx
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x34c]
cmp dword [ebp - 0x354], 0
jle 0x4fcccb
cmp dword [ebp - 0x344], 0
jbe 0x4fff6d
mov eax, dword [ebp - 0x360]
xor esi, esi
imul eax, edx
mov ecx, dword [ebp - 0x368]
mov dword [ebp - 0x34c], edx
lea edi, [ecx + eax]
mov ecx, dword [ebp - 0x32c]
imul ecx, edx
add eax, dword [ebp - 0x350]
mov dword [ebp - 0x338], edi
add ecx, dword [ebp - 0x348]
mov edi, esi
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x33c]
movzx edx, byte [ecx + esi*2]
mov byte [eax + edi*2], dl
mov edx, dword [ebp - 0x338]
movzx eax, byte [ecx + esi*2 + 1]
inc esi
mov byte [edx + edi*2], al
add edi, dword [ebp - 0x340]
cmp esi, dword [ebp - 0x344]
jb 0x4fcc5c
mov edx, dword [ebp - 0x34c]
lea edi, [esi + esi + 1]
lea eax, [edi - 1]
cmp eax, dword [ebp - 0x354]
jae 0x4fcccb
mov esi, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x32c]
imul ecx, edx
lea eax, [edi + esi]
mov esi, dword [ebp - 0x360]
imul edi, dword [ebp - 0x340]
imul esi, edx
add edi, dword [ebp - 0x364]
movzx eax, byte [eax + ecx - 1]
mov byte [edi + esi], al
inc edx
cmp edx, dword [ebp - 0x35c]
jb 0x4fcc05
jmp 0x4fce0e
mov edx, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x348]
test edx, edx
jle 0x4fcde9
cmp edx, 0x10
jl 0x4fffba
mov esi, dword [ebp - 0x350]
add esi, eax
and esi, 0xf
je 0x4fcd0c
neg esi
add esi, 0x10
lea edi, [esi + 0x10]
cmp edx, edi
jl 0x4fffba
mov edi, edx
sub edi, esi
and edi, 0xf
neg edi
add edi, edx
mov dword [ebp - 0x348], edi
mov edi, dword [ebp - 0x350]
add edi, eax
mov dword [ebp - 0x344], edi
test esi, esi
jbe 0x4fcd68
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], eax
mov edx, dword [ebp - 0x368]
movzx eax, byte [edx + ecx]
mov byte [edx + edi], al
inc edx
cmp edx, esi
jb 0x4fcd50
mov eax, dword [ebp - 0x364]
mov edx, dword [ebp - 0x354]
lea edi, [esi + ecx]
test edi, 0xf
je 0x4fcd92
mov edx, dword [ebp - 0x348]
mov edi, dword [ebp - 0x344]
movdqu xmm0, xmmword [esi + ecx]
movdqu xmmword [esi + edi], xmm0
add esi, 0x10
cmp esi, edx
jb 0x4fcd7f
jmp 0x4fcdaf
mov edx, dword [ebp - 0x348]
mov edi, dword [ebp - 0x344]
movdqu xmm0, xmmword [esi + ecx]
movdqu xmmword [esi + edi], xmm0
add esi, 0x10
cmp esi, edx
jb 0x4fcd9e
mov dword [ebp - 0x348], edx
mov edx, dword [ebp - 0x354]
cmp edx, dword [ebp - 0x348]
jbe 0x4fcde9
mov esi, dword [ebp - 0x350]
mov edi, dword [ebp - 0x348]
mov dword [ebp - 0x364], eax
add esi, eax
movzx eax, byte [edi + ecx]
mov byte [edi + esi], al
inc edi
cmp edi, edx
jb 0x4fcdd7
mov eax, dword [ebp - 0x364]
mov esi, dword [ebp - 0x34c]
inc esi
add ecx, dword [ebp - 0x32c]
add eax, dword [ebp - 0x360]
mov dword [ebp - 0x34c], esi
cmp esi, dword [ebp - 0x35c]
jb 0x4fcce9
mov eax, dword [ebp - 0x358]
mov esp, eax
mov edi, dword [ebx + 8]
mov eax, dword [ebp - 0x68]
mov edi, dword [edi]
cmp eax, dword [ebp - 0xa0]
jg 0x4fff8b
lea eax, [0x6e3cac]
mov edx, dword [eax]
mov ecx, dword [eax - 0x2c]
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x354], ecx
lea ecx, [0x6e3ca8]
mov esi, dword [ecx]
mov eax, dword [ecx - 8]
mov edx, dword [ecx - 0xc]
mov ecx, dword [0x6e3cb0]
mov dword [ebp - 0x318], esi
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x33c], edx
mov dword [ebp - 0x368], ecx
lea ecx, [0x6e3cdc]
mov esi, dword [ecx]
mov eax, dword [ecx - 4]
mov edx, dword [ecx - 0xc]
mov ecx, dword [0x6c5b88]
mov dword [ebp - 0x34c], esi
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x360], ecx
mov eax, dword [0x6e3ccc]
lea ecx, [0x6c5bb4]
mov esi, dword [ecx]
mov edx, dword [ecx - 4]
mov ecx, dword [ecx - 0xc]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x348], esi
mov dword [ebp - 0x350], edx
mov dword [ebp - 0x358], ecx
cmp eax, 8
jne 0x4fd18f
cmp dword [ebp - 0x33c], 8
jne 0x4fd18f
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x340], eax
lea edx, [eax + 1]
mov dword [ebp - 0x33c], edx
shr edx, 1
mov dword [ebp - 0x328], edx
test edx, edx
jbe 0x4fff77
mov dword [ebp - 0xd4], edi
mov esi, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x324]
mov eax, esi
mov edi, dword [ebp - 0x34c]
imul edi, ecx
imul eax, ecx
mov edx, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x360]
mov dword [ebp - 0x338], 0
lea edx, [edx + esi*8]
sub edx, edi
lea edi, [ecx + esi*8]
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x300], edi
mov edi, dword [ebp - 0x350]
lea ecx, [ecx + esi*8]
mov esi, dword [ebp - 0x344]
imul esi, dword [ebp - 0x318]
sub ecx, esi
mov esi, edi
imul esi, dword [ebp - 0x348]
mov dword [ebp - 0x304], ecx
mov ecx, dword [ebp - 0x358]
mov dword [ebp - 0x334], esi
lea esi, [ecx*8]
mov ecx, dword [ebp - 0x364]
mov dword [ebp - 0x330], esi
lea esi, [ecx*8]
mov ecx, dword [ebp - 0x35c]
mov dword [ebp - 0x32c], esi
lea esi, [ecx*8]
mov ecx, dword [ebp - 0x324]
add ecx, eax
sub eax, esi
add ecx, edx
add edx, eax
sub ecx, esi
mov dword [ebp - 0x314], ecx
mov ecx, dword [ebp - 0xd4]
imul ecx, edi
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x300]
mov edx, dword [ebp - 0x358]
mov edi, dword [ebp - 0x334]
lea esi, [eax + ecx]
sub ecx, edi
add eax, ecx
mov ecx, dword [ebp - 0x68]
lea edx, [edi + edx*8]
sub esi, edx
mov dword [ebp - 0x310], esi
mov esi, dword [ebp - 0x318]
imul ecx, esi
mov edx, dword [ebp - 0x304]
add esi, ecx
mov edi, dword [ebp - 0x32c]
add esi, edx
sub ecx, edi
sub esi, edi
sub eax, dword [ebp - 0x330]
add edx, ecx
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x308], esi
nop dword [eax]
nop dword [eax]
mov esi, eax
mov ecx, dword [ebp - 0x324]
shl esi, 4
imul ecx, eax
mov edi, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x318]
imul edx, eax
inc eax
add edi, esi
movsd xmm0, qword [edi + ecx*2]
mov edi, dword [ebp - 0x300]
addsd xmm0, qword [edi + esi]
mov edi, dword [ebp - 0x304]
add edi, esi
movsd qword [edi + edx*2], xmm0
mov edi, dword [ebp - 0x314]
add edi, esi
movsd xmm1, qword [edi + ecx*2 + 8]
mov ecx, dword [ebp - 0x310]
addsd xmm1, qword [ecx + esi + 8]
add esi, dword [ebp - 0x308]
movsd qword [esi + edx*2 + 8], xmm1
cmp eax, dword [ebp - 0x328]
jb 0x4fd040
mov dword [ebp - 0x338], eax
mov edi, dword [ebp - 0xd4]
lea edx, [eax + eax + 1]
lea eax, [edx - 1]
cmp eax, dword [ebp - 0x33c]
jae 0x4fd177
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0xd4], edi
lea ecx, [esi + edx]
lea eax, [esi + edx - 1]
mov edx, dword [ebp - 0x34c]
mov esi, dword [ebp - 0x35c]
neg edx
shl esi, 3
add edx, eax
mov dword [ebp - 0x33c], eax
mov eax, dword [ebp - 0x368]
sub eax, esi
mov esi, dword [ebp - 0x348]
neg esi
add esi, edi
imul esi, dword [ebp - 0x350]
lea eax, [eax + ecx*8]
imul edx, dword [ebp - 0x324]
mov edi, dword [ebp - 0x358]
shl edi, 3
mov dword [ebp - 0x348], esi
mov esi, dword [ebp - 0x360]
sub esi, edi
movsd xmm0, qword [eax + edx - 8]
mov eax, dword [ebp - 0x348]
mov edx, dword [ebp - 0x364]
shl edx, 3
lea edi, [esi + ecx*8]
mov esi, dword [ebp - 0x344]
neg esi
addsd xmm0, qword [edi + eax - 8]
add esi, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x354]
sub eax, edx
mov edi, dword [ebp - 0xd4]
imul esi, dword [ebp - 0x318]
lea ecx, [eax + ecx*8]
movsd qword [ecx + esi - 8], xmm0
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x68]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x100], ecx
jmp 0x4fd466
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0x68]
mov dword [ebp - 0x340], eax
lea edx, [eax + 1]
mov dword [ebp - 0x334], edx
shr edx, 1
mov dword [ebp - 0x310], edx
test edx, edx
jbe 0x4fff81
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0xd4], edi
mov edi, esi
mov edx, dword [ebp - 0x33c]
imul edi, edx
mov ecx, dword [ebp - 0x364]
imul ecx, edx
mov dword [ebp - 0x32c], edi
mov edi, dword [ebp - 0x34c]
mov edx, dword [ebp - 0x338]
neg edi
mov dword [ebp - 0x330], ecx
add edi, esi
mov ecx, dword [ebp - 0x35c]
imul ecx, edx
imul esi, edx
mov eax, dword [ebp - 0x324]
add edx, esi
imul edi, eax
sub eax, ecx
add edi, dword [ebp - 0x368]
add eax, edx
sub ecx, esi
add eax, edi
sub edi, ecx
mov dword [ebp - 0x2f4], edi
mov edi, dword [ebp - 0x358]
mov dword [ebp - 0x30c], eax
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x68]
lea edx, [edi*8]
mov dword [ebp - 0x328], edx
mov edx, dword [ebp - 0x33c]
mov dword [ebp - 0x314], 0
lea ecx, [eax + ecx*8]
mov eax, dword [ebp - 0x350]
mov esi, eax
imul esi, dword [ebp - 0x348]
add edx, edx
mov dword [ebp - 0x308], edx
lea edi, [esi + edi*8]
mov edx, dword [ebp - 0xd4]
imul edx, eax
lea eax, [ecx + edx]
sub edx, esi
sub eax, edi
add ecx, edx
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x344]
neg eax
add eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x318]
imul eax, edx
sub ecx, dword [ebp - 0x328]
mov edi, dword [ebp - 0x330]
mov esi, edi
mov dword [ebp - 0x2f0], ecx
neg edi
mov ecx, dword [ebp - 0x32c]
sub esi, ecx
add eax, dword [ebp - 0x354]
neg esi
add esi, eax
add edi, edx
mov dword [ebp - 0x300], esi
mov esi, dword [ebp - 0x338]
add ecx, dword [ebp - 0x33c]
add edi, ecx
add eax, edi
lea edx, [esi + esi]
mov esi, dword [ebp - 0x314]
mov dword [ebp - 0x2f8], edx
mov dword [ebp - 0x2fc], eax
mov eax, dword [ebp - 0x318]
imul eax, esi
mov ecx, dword [ebp - 0x2f8]
imul ecx, esi
mov edi, dword [ebp - 0x324]
imul edi, esi
mov dword [ebp - 0x330], eax
mov eax, dword [ebp - 0x2f4]
mov edx, dword [ebp - 0x308]
mov dword [ebp - 0x314], esi
imul edx, esi
add eax, ecx
movsd xmm0, qword [eax + edi*2]
shl esi, 4
mov eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x32c], edx
add ecx, dword [ebp - 0x30c]
addsd xmm0, qword [eax + esi]
mov eax, dword [ebp - 0x300]
add edx, eax
mov eax, dword [ebp - 0x330]
movsd qword [edx + eax*2], xmm0
movsd xmm1, qword [ecx + edi*2]
mov ecx, dword [ebp - 0x304]
addsd xmm1, qword [ecx + esi + 8]
mov esi, dword [ebp - 0x32c]
add esi, dword [ebp - 0x2fc]
movsd qword [esi + eax*2], xmm1
mov esi, dword [ebp - 0x314]
inc esi
cmp esi, dword [ebp - 0x310]
jb 0x4fd2ed
mov dword [ebp - 0x314], esi
mov eax, esi
mov edi, dword [ebp - 0xd4]
lea ecx, [eax + eax + 1]
lea eax, [ecx - 1]
cmp eax, dword [ebp - 0x334]
jae 0x4fd453
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0xd4], edi
lea eax, [edx + ecx]
lea esi, [edx + ecx - 1]
mov ecx, dword [ebp - 0x35c]
neg ecx
mov edx, dword [ebp - 0x34c]
add ecx, esi
neg edx
imul ecx, dword [ebp - 0x338]
add edx, esi
imul edx, dword [ebp - 0x324]
mov dword [ebp - 0x334], esi
mov esi, dword [ebp - 0x348]
neg esi
add esi, edi
mov edi, dword [ebp - 0x358]
neg edi
add edi, eax
mov eax, dword [ebp - 0x360]
add ecx, dword [ebp - 0x368]
imul esi, dword [ebp - 0x350]
movsd xmm0, qword [ecx + edx]
mov ecx, dword [ebp - 0x334]
lea edi, [eax + edi*8 - 8]
mov eax, dword [ebp - 0x364]
neg eax
addsd xmm0, qword [edi + esi]
add eax, ecx
imul eax, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x344]
neg edx
add edx, ecx
imul edx, dword [ebp - 0x318]
add eax, dword [ebp - 0x354]
mov edi, dword [ebp - 0xd4]
movsd qword [eax + edx], xmm0
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x68]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x100], ecx
mov eax, dword [0x6c8b90]
mov esi, dword [0x6c8bb0]
mov dword [ebp - 0x2e8], esi
lea esi, [edi*4]
lea edx, [eax + edi*4]
mov dword [ebp - 0x2e4], edx
jmp 0x4fdbe6
mov eax, dword [0x6e3cac]
mov edx, dword [0x6e3ca4]
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x340], edx
test edx, edx
jle 0x4fd7f1
xor ecx, ecx
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x35c], ecx
mov ecx, dword [ebp - 0xa0]
sub ecx, dword [ebp - 0x68]
mov dword [ebp - 0x33c], ecx
mov edx, dword [0x6e3ca8]
mov eax, dword [0x6e3c80]
lea ecx, [ecx + 1]
mov dword [ebp - 0x360], ecx
mov ecx, dword [ebp - 0x368]
imul ecx, edx
mov dword [ebp - 0x358], eax
mov eax, dword [0x6e3c9c]
mov dword [ebp - 0x338], edx
mov dword [ebp - 0x364], ecx
mov edx, dword [0x6e3ca0]
cmp eax, 8
je 0x4fd6ba
imul edx, eax
mov dword [ebp - 0xd4], edi
mov edi, dword [ebp - 0x358]
mov dword [ebp - 0x2ec], esi
mov esi, edi
sub esi, ecx
sub ecx, edx
add esi, ecx
mov ecx, dword [ebp - 0x68]
imul ecx, eax
sub edx, ecx
sub edi, edx
lea edx, [ecx + eax*2]
add edx, esi
mov dword [ebp - 0x354], edx
lea edx, [eax + eax*2]
mov dword [ebp - 0x358], edi
lea edi, [ecx + eax*4]
add edi, esi
lea ecx, [ecx + edx*2]
mov edx, dword [ebp - 0x360]
add esi, ecx
and edx, 0xfffffff8
mov dword [ebp - 0x364], edi
mov dword [ebp - 0x350], esi
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x334], eax
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x35c]
cmp dword [ebp - 0x33c], 0
js 0x4fd696
cmp edx, 8
jl 0x4fffe7
mov edi, dword [ebp - 0x358]
xor esi, esi
mov ecx, dword [ebp - 0x330]
pxor xmm0, xmm0
mov dword [ebp - 0x348], ecx
add edi, eax
mov dword [ebp - 0x324], edi
mov edi, dword [ebp - 0x354]
mov dword [ebp - 0x35c], eax
mov edx, esi
mov ecx, dword [ebp - 0x334]
add edi, eax
mov dword [ebp - 0x328], edi
mov edi, dword [ebp - 0x364]
add edi, eax
mov dword [ebp - 0x34c], edi
mov edi, dword [ebp - 0x350]
add edi, eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x32c], edi
nop dword [eax]
mov edi, dword [ebp - 0x324]
add esi, 8
add edi, edx
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
mov edi, dword [ebp - 0x328]
add edi, edx
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
lea edi, [edx + eax]
movsd qword [edi], xmm0
movhpd qword [ecx + edi], xmm0
mov edi, dword [ebp - 0x32c]
add edi, edx
movsd qword [edi], xmm0
lea edx, [edx + ecx*8]
movhpd qword [ecx + edi], xmm0
cmp esi, dword [ebp - 0x330]
jb 0x4fd600
mov ecx, dword [ebp - 0x348]
mov edx, dword [ebp - 0x360]
mov eax, dword [ebp - 0x35c]
mov edi, dword [ebp - 0x334]
imul edi, ecx
cmp ecx, edx
jae 0x4fd696
mov esi, dword [ebp - 0x358]
mov dword [ebp - 0x35c], eax
pxor xmm0, xmm0
add esi, eax
mov eax, dword [ebp - 0x334]
inc ecx
movsd qword [edi + esi], xmm0
add edi, eax
cmp ecx, edx
jb 0x4fd684
mov eax, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x344]
inc ecx
add eax, dword [ebp - 0x338]
mov dword [ebp - 0x344], ecx
cmp ecx, dword [ebp - 0x340]
jb 0x4fd589
jmp 0x4fd7e5
mov ecx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x358]
shl edx, 3
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x2ec], esi
lea eax, [eax + ecx*8]
mov ecx, eax
sub ecx, edx
mov dword [ebp - 0x354], ecx
mov ecx, dword [ebp - 0x364]
sub eax, ecx
sub ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp - 0x35c]
mov dword [ebp - 0x350], eax
cmp dword [ebp - 0x33c], 0
js 0x4fd7c6
cmp ecx, 8
jl 0x5001f0
mov eax, dword [ebp - 0x350]
lea esi, [eax + edx]
mov dword [ebp - 0x364], esi
and esi, 0xf
je 0x4fd738
test esi, 7
jne 0x5001f0
mov esi, 1
lea eax, [esi + 8]
cmp ecx, eax
jl 0x5001f0
mov eax, ecx
sub eax, esi
and eax, 7
neg eax
add eax, ecx
test esi, esi
jbe 0x4fd774
mov dword [ebp - 0x35c], edx
xor edi, edi
mov edx, dword [ebp - 0x364]
pxor xmm0, xmm0
movsd qword [edx + edi*8], xmm0
inc edi
cmp edi, esi
jb 0x4fd764
mov edx, dword [ebp - 0x35c]
mov edi, dword [ebp - 0x354]
mov dword [ebp - 0x35c], edx
pxor xmm0, xmm0
add edi, edx
mov edx, dword [ebp - 0x364]
movups xmmword [edx + esi*8], xmm0
movups xmmword [edi + esi*8 + 0x10], xmm0
movups xmmword [edi + esi*8 + 0x20], xmm0
movups xmmword [edi + esi*8 + 0x30], xmm0
add esi, 8
cmp esi, eax
jb 0x4fd78c
mov edx, dword [ebp - 0x35c]
cmp eax, ecx
jae 0x4fd7c6
mov esi, dword [ebp - 0x350]
pxor xmm0, xmm0
add esi, edx
movsd qword [esi + eax*8], xmm0
inc eax
cmp eax, ecx
jb 0x4fd7bc
mov eax, dword [ebp - 0x344]
inc eax
add edx, dword [ebp - 0x338]
mov dword [ebp - 0x344], eax
cmp eax, dword [ebp - 0x340]
jb 0x4fd6fd
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0xa0]
jg 0x5001e5
mov edx, dword [0x6e3d08]
mov dword [ebp - 0x2f0], edx
mov eax, dword [0x6e3cfc]
mov edx, dword [0x6e3ccc]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x68]
sub eax, edx
mov dword [ebp - 0x2ec], esi
mov ecx, dword [0x6e3cd8]
mov esi, dword [0x6e3ca8]
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x304], ecx
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x368]
imul eax, esi
mov dword [ebp - 0x328], ecx
mov ecx, dword [0x6e3c80]
sub ecx, eax
mov eax, dword [0x6e3ca0]
sub eax, edx
mov dword [ebp - 0xd4], edi
mov edi, dword [0x6e3c9c]
imul eax, edi
mov dword [ebp - 0x30c], edi
lea edi, [ecx + esi]
sub edi, eax
mov dword [ebp - 0x344], edi
mov edi, ecx
sub edi, eax
mov dword [ebp - 0x354], edi
mov edi, edx
imul edi, esi
mov dword [ebp - 0x308], esi
add edi, ecx
mov esi, dword [0x6e3cd8]
sub edi, eax
mov dword [ebp - 0x360], ecx
mov ecx, dword [0x6e3cdc]
imul ecx, esi
mov dword [ebp - 0x35c], eax
mov eax, dword [0x6e3cb0]
sub eax, ecx
mov ecx, dword [0x6e3cd0]
sub ecx, edx
imul ecx, dword [0x6e3ccc]
mov dword [ebp - 0x324], edi
lea edi, [eax + esi]
sub edi, ecx
mov dword [ebp - 0x340], edi
mov edi, eax
sub edi, ecx
mov dword [ebp - 0x350], edi
mov edi, edx
imul edi, esi
mov esi, dword [ebp - 0xd4]
add edi, eax
sub esi, dword [0x6c5bb4]
sub edi, ecx
imul esi, dword [0x6c5bb0]
mov dword [ebp - 0x358], ecx
mov ecx, dword [0x6c5ba8]
neg ecx
add ecx, edx
add esi, dword [0x6c5b88]
mov dword [ebp - 0x318], edi
mov edi, dword [ebp - 0xa0]
shr edi, 1
lea esi, [esi + ecx*8]
mov dword [ebp - 0x314], esi
mov esi, dword [0x6e3d08]
mov ecx, dword [0x6e3d0c]
imul ecx, esi
mov dword [ebp - 0x2f4], edi
mov edi, dword [0x6e3ce0]
sub edi, ecx
mov ecx, dword [0x6e3d00]
sub ecx, edx
imul ecx, dword [0x6e3cfc]
mov dword [ebp - 0x348], 0
lea edx, [edi + esi]
sub edx, ecx
lea esi, [edi + esi*2]
mov dword [ebp - 0x338], edx
mov edx, edi
mov edi, dword [0x6e3ca8]
sub edx, ecx
sub esi, ecx
mov ecx, dword [ebp - 0x360]
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x334], esi
lea edx, [ecx + edi*2]
mov ecx, dword [0x6e3cd8]
sub edx, dword [ebp - 0x35c]
mov dword [ebp - 0x330], edx
lea eax, [eax + ecx*2]
sub eax, dword [ebp - 0x358]
mov dword [ebp - 0x32c], eax
mov eax, dword [ebp - 0x348]
cmp dword [ebp - 0xa0], 0
jle 0x4fdb69
mov edx, dword [ebp - 0x30c]
imul edx, eax
mov dword [ebp - 0x35c], edx
mov edx, dword [ebp - 0x310]
imul edx, eax
cmp dword [ebp - 0x2f4], 0
jbe 0x4fffee
mov edi, dword [ebp - 0x344]
mov esi, dword [ebp - 0x35c]
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x348], eax
mov dword [ebp - 0x368], edx
lea ecx, [edi + esi]
mov edi, dword [ebp - 0x340]
mov dword [ebp - 0x2f8], ecx
lea ecx, [edx + edi]
mov dword [ebp - 0x2fc], ecx
mov ecx, dword [ebp - 0x33c]
imul ecx, eax
mov edi, dword [ebp - 0x338]
add edi, ecx
add ecx, dword [ebp - 0x334]
mov dword [ebp - 0x2e0], ecx
mov ecx, dword [ebp - 0x330]
mov eax, edi
add esi, ecx
mov ecx, dword [ebp - 0x32c]
mov dword [ebp - 0x300], esi
lea esi, [edx + ecx]
mov dword [ebp - 0x358], esi
mov ecx, dword [ebp - 0x360]
mov edx, dword [ebp - 0x2f0]
imul edx, ecx
test byte [eax + edx*2], 1
je 0x4fdab3
mov edi, dword [ebp - 0x304]
imul edi, ecx
mov esi, dword [ebp - 0x2fc]
movsd xmm0, qword [esi + edi*2]
mov edi, dword [ebp - 0x308]
imul edi, ecx
xorps xmm0, xmmword [0x6852c0]
mov esi, dword [ebp - 0x2f8]
movsd qword [esi + edi*2], xmm0
mov esi, dword [ebp - 0x2e0]
test byte [esi + edx*2], 1
je 0x4fdaee
mov esi, dword [ebp - 0x304]
imul esi, ecx
mov edx, dword [ebp - 0x358]
mov edi, dword [ebp - 0x300]
movsd xmm0, qword [edx + esi*2]
mov edx, dword [ebp - 0x308]
imul edx, ecx
xorps xmm0, xmmword [0x6852c0]
movsd qword [edi + edx*2], xmm0
inc ecx
cmp ecx, dword [ebp - 0x2f4]
jb 0x4fda75
mov edx, dword [ebp - 0x368]
lea ecx, [ecx + ecx + 1]
mov eax, dword [ebp - 0x348]
lea esi, [ecx - 1]
cmp esi, dword [ebp - 0xa0]
jae 0x4fdb81
mov esi, ecx
imul esi, dword [ebp - 0x2f0]
mov edi, dword [ebp - 0x33c]
imul edi, eax
add esi, dword [ebp - 0x34c]
test byte [esi + edi], 1
je 0x4fdb81
mov esi, dword [ebp - 0x304]
imul esi, ecx
imul ecx, dword [ebp - 0x308]
add esi, dword [ebp - 0x350]
add ecx, dword [ebp - 0x354]
mov edi, dword [ebp - 0x35c]
movsd xmm0, qword [esi + edx]
xorps xmm0, xmmword [0x6852c0]
movsd qword [ecx + edi], xmm0
jmp 0x4fdb81
mov edx, dword [ebp - 0x30c]
imul edx, eax
mov dword [ebp - 0x35c], edx
mov edx, dword [ebp - 0x310]
imul edx, eax
mov ecx, dword [ebp - 0x304]
imul ecx, eax
add edx, dword [ebp - 0x318]
mov edi, dword [ebp - 0x308]
imul edi, eax
movsd xmm0, qword [edx + ecx]
mov edx, dword [ebp - 0x314]
mov esi, dword [ebp - 0x35c]
add esi, dword [ebp - 0x324]
addsd xmm0, qword [edx + eax*8]
inc eax
movsd qword [esi + edi], xmm0
cmp eax, dword [ebp - 0x328]
jb 0x4fd9c7
mov edx, dword [ebp - 0x364]
mov eax, dword [ebp - 0x68]
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x100], ecx
mov eax, dword [0x6c48a8]
shl eax, 2
neg eax
add eax, dword [0x6c4888]
mov edx, dword [esi + eax]
mov dword [ebp - 0x344], edx
test edx, edx
jle 0x4fde6e
mov eax, dword [0x6e3ca8]
mov ecx, dword [0x6e3cac]
imul ecx, eax
mov dword [ebp - 0x354], eax
mov eax, dword [0x6e3c80]
mov edx, dword [0x6e3c9c]
sub eax, ecx
mov ecx, dword [0x6e3ca0]
imul ecx, edx
sub eax, ecx
mov ecx, dword [0x6c4884]
neg ecx
add ecx, edi
imul ecx, dword [0x6c4880]
mov dword [ebp - 0x34c], edx
mov edx, dword [0x6c4878]
shl edx, 2
mov dword [ebp - 0x350], eax
mov eax, dword [0x6c4858]
sub eax, edx
add ecx, eax
mov dword [ebp - 0x348], ecx
mov ecx, dword [0x6c4824]
neg ecx
add ecx, edi
imul ecx, dword [0x6c4820]
mov eax, dword [0x6c4818]
shl eax, 2
mov edx, dword [0x6c47f8]
sub edx, eax
add ecx, edx
mov dword [ebp - 0x340], ecx
mov ecx, dword [0x6c4854]
neg ecx
mov eax, dword [0x6c4848]
add ecx, edi
shl eax, 2
mov edx, dword [0x6c4828]
imul ecx, dword [0x6c4850]
sub edx, eax
mov eax, dword [0x6c4bdc]
add ecx, edx
neg eax
add eax, edi
imul eax, dword [0x6c4bd8]
mov edx, dword [0x6c4bd0]
shl edx, 3
mov dword [ebp - 0x33c], ecx
mov ecx, dword [0x6c4bb0]
sub ecx, edx
add eax, ecx
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x368]
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x2ec], esi
mov edx, dword [ebp - 0x348]
mov ecx, dword [ebp - 0x340]
mov esi, dword [ebp - 0x33c]
mov edx, dword [edx + eax*4]
mov ecx, dword [ecx + edx*4]
mov esi, dword [esi + edx*4]
cmp ecx, dword [ebp - 0x68]
jl 0x4fdd25
test ecx, ecx
je 0x4fdd32
jmp 0x4fdd34
cmp esi, dword [ebp - 0x68]
jl 0x4fde55
test ecx, ecx
jne 0x4fdd3a
mov ecx, esi
test esi, esi
je 0x4fdd3e
jmp 0x4fdd40
test esi, esi
jne 0x4fdd4f
mov esi, ecx
cmp ecx, esi
je 0x4fde2a
cmp esi, dword [ebp - 0x68]
jge 0x4fdd57
jmp 0x4fddc2
cmp ecx, esi
je 0x4fde2a
mov dword [ebp - 0x368], eax
mov edi, dword [ebp - 0x34c]
mov eax, dword [ebp - 0x354]
imul edi, esi
imul eax, esi
add eax, edi
mov dword [ebp - 0x364], esi
mov esi, dword [ebp - 0x350]
mov dword [ebp - 0x360], edi
mov edi, dword [ebp - 0x358]
movsd xmm0, qword [eax + esi]
addsd xmm0, qword [edi + edx*8]
movsd qword [eax + esi], xmm0
mov eax, dword [ebp - 0x354]
imul eax, ecx
add eax, dword [ebp - 0x360]
movsd xmm1, qword [eax + esi]
subsd xmm1, qword [edi + edx*8]
movsd qword [eax + esi], xmm1
mov eax, dword [ebp - 0x368]
mov esi, dword [ebp - 0x364]
cmp ecx, dword [ebp - 0x68]
jl 0x4fde55
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x34c]
imul eax, ecx
imul ecx, dword [ebp - 0x354]
imul esi, dword [ebp - 0x354]
add ecx, eax
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x350]
mov edi, dword [ebp - 0x358]
movsd xmm0, qword [ecx + eax]
addsd xmm0, qword [edi + edx*8]
movsd qword [ecx + eax], xmm0
mov ecx, dword [ebp - 0x35c]
add ecx, esi
movsd xmm1, qword [ecx + eax]
subsd xmm1, qword [edi + edx*8]
movsd qword [ecx + eax], xmm1
mov eax, dword [ebp - 0x368]
jmp 0x4fde55
imul ecx, dword [ebp - 0x354]
imul esi, dword [ebp - 0x34c]
add ecx, esi
mov edi, dword [ebp - 0x350]
mov esi, dword [ebp - 0x358]
movsd xmm0, qword [ecx + edi]
addsd xmm0, qword [esi + edx*8]
movsd qword [ecx + edi], xmm0
inc eax
cmp eax, dword [ebp - 0x344]
jle 0x4fdcff
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x2e8]
shl eax, 2
neg eax
mov edx, dword [ebp - 0x2e4]
cmp dword [eax + edx], 0
jle 0x4fde9c
push dword [ebx + 8]
call fcn.00545bf0
add esp, 4
mov eax, dword [ebx + 8]
mov edi, dword [eax]
lea esi, [edi*4]
mov eax, dword [0x6c5ad0]
shl eax, 2
neg eax
add eax, dword [0x6c5ab0]
test byte [esi + eax], 1
jne 0x5001c9
cmp dword [0x81ea60], 0
jne 0x4fe41b
mov eax, dword [0x6c8bb0]
shl eax, 2
neg eax
add eax, dword [0x6c8b90]
cmp dword [esi + eax], 0
jne 0x4fe41b
cmp dword [ebp - 0xa0], 0
jle 0x5001b3
mov dword [ebp - 0xd4], edi
mov edi, dword [0x6e3ca8]
pxor xmm0, xmm0
mov edx, dword [ebp - 0xa0]
and edx, 0xfffffff8
mov dword [ebp - 0x34c], edx
mov edx, dword [0x6e3cac]
imul edx, edi
mov eax, dword [0x6e3ca0]
mov dword [ebp - 0x368], eax
mov eax, dword [0x6e3c80]
sub eax, edx
mov ecx, dword [0x6e3c9c]
mov dword [ebp - 0x33c], edi
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x358], 0
lea edx, [edi + eax]
mov dword [ebp - 0x348], edx
lea edx, [edi + edi*2]
add edx, eax
mov dword [ebp - 0x340], edx
lea edx, [edi + edi*4]
add edx, eax
mov dword [ebp - 0x344], edx
lea edx, [edi*8]
sub edx, edi
add edx, eax
mov edi, dword [ebp - 0xd4]
cmp ecx, 8
je 0x4fe167
mov dword [ebp - 0x350], edx
mov edx, dword [ebp - 0x368]
pxor xmm3, xmm3
movaps xmm4, xmm3
imul edx, ecx
movaps xmm1, xmm4
movaps xmm2, xmm1
mov dword [ebp - 0x2ec], esi
mov esi, edx
neg edx
sub esi, ecx
add edx, dword [ebp - 0x33c]
add eax, edx
mov edx, dword [ebp - 0x350]
add eax, ecx
mov dword [ebp - 0xd4], edi
sub edx, esi
mov dword [ebp - 0x360], 0
sub dword [ebp - 0x348], esi
sub dword [ebp - 0x340], esi
sub dword [ebp - 0x344], esi
mov dword [ebp - 0x364], eax
mov esi, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x360]
mov dword [ebp - 0x350], edx
cmp dword [ebp - 0xa0], 8
jl 0x4ffff8
mov edi, dword [ebp - 0x340]
xor ecx, ecx
mov esi, dword [ebp - 0x348]
mov edx, dword [ebp - 0x34c]
add edi, eax
mov dword [ebp - 0x330], edi
add esi, eax
mov edi, dword [ebp - 0x344]
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0x338], esi
mov dword [ebp - 0x360], eax
add edi, eax
mov dword [ebp - 0x368], edi
mov edi, dword [ebp - 0x350]
mov edx, ecx
mov esi, dword [ebp - 0x368]
add edi, eax
mov dword [ebp - 0x334], edi
nop
mov edi, dword [ebp - 0x338]
add ecx, 8
mov eax, dword [ebp - 0x33c]
add edi, edx
movsd xmm5, qword [edi]
movhpd xmm5, qword [edi + eax]
mov edi, dword [ebp - 0x330]
addpd xmm3, xmm5
add edi, edx
movsd xmm6, qword [edi]
movhpd xmm6, qword [edi + eax]
lea edi, [esi + edx]
movsd xmm7, qword [edi]
movhpd xmm7, qword [edi + eax]
mov edi, dword [ebp - 0x334]
addpd xmm4, xmm6
addpd xmm1, xmm7
add edi, edx
movsd xmm5, qword [edi]
lea edx, [edx + eax*8]
movhpd xmm5, qword [edi + eax]
addpd xmm2, xmm5
cmp ecx, dword [ebp - 0x34c]
jb 0x4fe050
mov edx, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x360]
lea ecx, [edx + 1]
cmp ecx, dword [ebp - 0xa0]
ja 0x4fe105
mov ecx, dword [ebp - 0xa0]
xor esi, esi
sub ecx, edx
imul edx, dword [ebp - 0x33c]
mov edi, dword [ebp - 0x364]
mov dword [ebp - 0x360], eax
add edi, eax
mov eax, dword [ebp - 0x33c]
add edi, edx
xor edx, edx
inc esi
addsd xmm0, qword [edx + edi]
add edx, eax
cmp esi, ecx
jb 0x4fe0f3
mov eax, dword [ebp - 0x360]
mov edx, dword [ebp - 0x358]
inc edx
add eax, dword [ebp - 0x354]
mov dword [ebp - 0x358], edx
cmp edx, dword [ebp - 0xa0]
jb 0x4fdfed
mov edi, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x2ec]
cmp dword [ebp - 0xa0], 0
addpd xmm3, xmm4
addpd xmm1, xmm2
addpd xmm3, xmm1
movaps xmm1, xmm3
unpckhpd xmm1, xmm3
addsd xmm3, xmm1
addsd xmm0, xmm3
jg 0x4fe2d6
mov dword [ebp - 0x100], 1
jmp 0x4fe2e5
mov ecx, dword [ebp - 0x368]
shl ecx, 3
pxor xmm1, xmm1
sub dword [ebp - 0x348], ecx
sub edx, ecx
sub dword [ebp - 0x340], ecx
movaps xmm4, xmm1
sub dword [ebp - 0x344], ecx
neg ecx
add ecx, dword [ebp - 0x33c]
movaps xmm3, xmm4
add eax, ecx
movaps xmm2, xmm3
mov dword [ebp - 0x350], edx
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x364], eax
mov edx, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x33c]
cmp dword [ebp - 0xa0], 8
jl 0x5001ac
mov eax, dword [ebp - 0x34c]
xor edi, edi
mov dword [ebp - 0x360], eax
xor esi, esi
nop dword [eax]
mov eax, dword [ebp - 0x348]
add edi, 8
lea eax, [eax + edx*8 + 8]
add eax, esi
movsd xmm5, qword [eax]
movhpd xmm5, qword [eax + ecx]
mov eax, dword [ebp - 0x340]
addpd xmm1, xmm5
lea eax, [eax + edx*8 + 8]
add eax, esi
movsd xmm6, qword [eax]
movhpd xmm6, qword [eax + ecx]
mov eax, dword [ebp - 0x344]
addpd xmm4, xmm6
lea eax, [eax + edx*8 + 8]
add eax, esi
movsd xmm7, qword [eax]
movhpd xmm7, qword [eax + ecx]
mov eax, dword [ebp - 0x350]
addpd xmm3, xmm7
lea eax, [eax + edx*8 + 8]
add eax, esi
lea esi, [esi + ecx*8]
movsd xmm5, qword [eax]
movhpd xmm5, qword [eax + ecx]
addpd xmm2, xmm5
cmp edi, dword [ebp - 0x34c]
jb 0x4fe1e0
mov eax, dword [ebp - 0x360]
lea esi, [eax + 1]
cmp esi, dword [ebp - 0xa0]
ja 0x4fe2a2
mov esi, dword [ebp - 0xa0]
sub esi, eax
imul eax, ecx
mov edi, dword [ebp - 0x364]
mov dword [ebp - 0x368], esi
xor esi, esi
mov dword [ebp - 0x358], edx
lea edi, [edi + edx*8]
mov edx, dword [ebp - 0x368]
add edi, eax
xor eax, eax
inc esi
addsd xmm0, qword [eax + edi + 8]
add eax, ecx
cmp esi, edx
jb 0x4fe28f
mov edx, dword [ebp - 0x358]
inc edx
cmp edx, dword [ebp - 0xa0]
jb 0x4fe1bf
addpd xmm1, xmm4
addpd xmm3, xmm2
addpd xmm1, xmm3
movaps xmm2, xmm1
unpckhpd xmm2, xmm1
mov edi, dword [ebp - 0xd4]
addsd xmm1, xmm2
mov esi, dword [ebp - 0x2ec]
addsd xmm0, xmm1
mov eax, dword [ebp - 0xa0]
lea edx, [eax + 1]
mov dword [ebp - 0x100], edx
andps xmm0, xmmword [0x6852d0]
movsd xmm1, qword [0x6852e0]
comisd xmm1, xmm0
jb 0x4fe41b
mov dword [ebp - 0x29c], esp
lea esi, [ebp - 0x368]
push dword [ebx + 8]
push 0x48
movq xmm0, qword [0x6852f8]
push esi
mov dword [ebp - 0x160], str.Ungrounded_subsystem
movq qword [ebp - 0x158], xmm0
call fcn.004e4440
add esp, 0xc
mov eax, 0x48
lea edi, [ebp - 0x318]
push eax
push esi
push eax
push edi
call fcn.005c0890
mov esi, eax
add esp, 0x10
mov eax, esi
movd xmm1, esi
cdq
add esi, 0x15
mov eax, esi
mov dword [ebp - 0x150], edi
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [ebp - 0x148], xmm1
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
add esp, 0xffffffe8
lea ecx, [ebp - 0x160]
movq xmm0, qword [0x685300]
movd xmm2, esi
mov dword [ebp - 0x298], eax
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], eax
mov eax, esi
cdq
movd xmm1, edx
punpckldq xmm2, xmm1
movq qword [esp + 0x10], xmm2
call fcn.005b42d0
add esp, 0x18
push esi
push dword [ebp - 0x298]
mov eax, 0x685200
mov esi, 0x685204
push eax
push eax
push esi
push esi
call fcn.0053e690
add esp, 0x18
mov eax, dword [ebp - 0x29c]
mov esp, eax
push 0x32
push str.._It_may_be_due_an_open_switch_in_the_ground_path.
push 0x685208
push 0x685200
push esi
push esi
call fcn.0053e690
add esp, 0x18
push 0xc
push 0x685204
push 0x6e3d40
call fcn.00471080
add esp, 0xc
mov eax, dword [ebx + 8]
mov edi, dword [eax]
lea esi, [edi*4]
test byte [0x725e50], 1
je 0x4fe43d
mov eax, dword [0x6c8b88]
shl eax, 2
neg eax
add eax, dword [0x6c8b68]
mov edx, dword [esi + eax]
mov dword [ebp - 0xa0], edx
mov edx, dword [0x6c52f0]
shl edx, 2
neg edx
add edx, dword [0x6c52d0]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0xe0], eax
test byte [esi + edx], 1
je 0x4fe492
mov eax, dword [0x6c80d0]
shl eax, 2
mov edx, dword [0x6c52a0]
neg eax
shl edx, 2
mov ecx, dword [0x6c5280]
neg edx
add ecx, esi
add eax, dword [0x6c80b0]
mov dword [esi + eax], 0xffffffff
inc dword [edx + ecx]
jmp 0x4ffbba
mov eax, dword [0x6c52a0]
shl eax, 2
neg eax
add eax, dword [0x6c5280]
cmp dword [esi + eax], 0
je 0x4fe4c2
mov eax, dword [0x6c5ad0]
shl eax, 2
neg eax
add eax, dword [0x6c5ab0]
test byte [esi + eax], 1
je 0x4fef2e
mov edx, dword [ebp - 0xa0]
xor eax, eax
mov dword [ebp - 0x278], eax
mov esi, 2
mov dword [ebp - 0x22c], eax
lea ecx, [edx + 1]
cmp ecx, 2
jl 0x4fed17
mov edx, dword [0x6e3d2c]
mov dword [ebp - 0x228], edx
mov edx, dword [0x81ed40]
mov dword [ebp - 0x208], edx
mov edx, dword [0x6c8028]
mov dword [ebp - 0x248], edx
mov edx, dword [0x6c7f98]
mov dword [ebp - 0x28c], edx
mov edx, dword [0x6c7f74]
neg edx
add edx, edi
mov ecx, dword [0x6c8034]
imul edx, dword [0x6c7f70]
mov dword [ebp - 0x254], ecx
mov esi, dword [0x6c8030]
mov ecx, dword [0x6c7fa4]
mov dword [ebp - 0x244], esi
mov dword [ebp - 0x288], ecx
mov esi, dword [0x6c7fa0]
mov ecx, dword [0x6c7f68]
shl ecx, 2
mov dword [ebp - 0x284], esi
mov esi, dword [0x6c7f48]
sub esi, ecx
add edx, esi
mov esi, dword [0x6c7f44]
neg esi
add esi, edi
imul esi, dword [0x6c7f40]
mov ecx, dword [0x6c7f38]
shl ecx, 2
mov dword [ebp - 0x218], edx
mov edx, dword [0x6c7f18]
sub edx, ecx
add esi, edx
mov dword [ebp - 0x214], esi
mov esi, dword [0x6c8004]
neg esi
add esi, edi
imul esi, dword [0x6c8000]
mov edx, dword [0x6c7ff8]
shl edx, 2
mov ecx, dword [0x6c7fd8]
sub ecx, edx
add esi, ecx
mov ecx, dword [0x6c7fd4]
neg ecx
add ecx, edi
mov eax, dword [0x6e3d38]
mov dword [ebp - 0x224], esi
imul ecx, dword [0x6c7fd0]
mov esi, dword [0x6e3d3c]
imul esi, eax
mov dword [ebp - 0xd4], edi
mov edi, dword [0x6c7fc8]
shl edi, 2
mov edx, dword [0x6c7fa8]
sub edx, edi
add ecx, edx
mov edx, dword [0x6e3d10]
sub edx, esi
mov dword [ebp - 0x290], ecx
mov ecx, dword [0x6e3d2c]
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x204], 0
lea esi, [edx + eax]
mov eax, dword [0x6e3d30]
imul eax, ecx
mov edi, eax
sub edi, ecx
add ecx, ecx
mov dword [ebp - 0x298], esi
sub esi, edi
mov dword [ebp - 0x238], esi
mov esi, edx
sub esi, edi
neg ecx
mov dword [ebp - 0x230], esi
add ecx, eax
mov esi, dword [ebp - 0xd4]
imul esi, dword [0x6c8030]
sub dword [ebp - 0x298], ecx
neg ecx
add ecx, edx
mov dword [ebp - 0x29c], ecx
mov ecx, dword [0x6e3d38]
add esi, dword [0x6c8008]
mov dword [ebp - 0x23c], esi
lea esi, [ecx + ecx]
sub esi, eax
lea ecx, [edx + ecx*2]
add esi, edx
sub ecx, edi
mov dword [ebp - 0x240], ecx
add esi, dword [0x6e3d2c]
mov ecx, dword [0x6e3d38]
mov dword [ebp - 0x280], esi
mov esi, ecx
neg esi
lea esi, [esi + ecx*2]
add esi, edx
lea ecx, [ecx + ecx*2]
sub esi, edi
sub ecx, eax
mov edi, dword [ebp - 0xd4]
add edx, ecx
imul edi, dword [0x6c7fa0]
add edx, dword [0x6e3d2c]
add edi, dword [0x6c7f78]
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x27c], esi
mov edx, dword [ebp - 0x204]
mov dword [ebp - 0xd4], edi
mov eax, dword [ebp - 0x218]
lea ecx, [edx + 2]
mov esi, dword [ebp - 0x208]
mov dword [ebp - 0x220], ecx
mov dword [eax + edx*4 + 4], esi
cmp ecx, dword [ebp - 0xa0]
jg 0x4fe8ec
mov ecx, edx
neg ecx
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x21c], ecx
lea edi, [eax + ecx - 1]
shr edi, 1
mov dword [ebp - 0x1f0], edi
test edi, edi
jbe 0x5001a2
mov ecx, dword [ebp - 0x284]
xor eax, eax
imul ecx, dword [ebp - 0x288]
mov edi, dword [ebp - 0x28c]
neg ecx
add ecx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0x228]
imul esi, edx
shl edi, 2
sub ecx, edi
mov dword [ebp - 0x270], ecx
mov ecx, dword [ebp - 0x1e0]
imul ecx, edx
mov edi, dword [ebp - 0x280]
mov dword [ebp - 0x204], edx
add edi, esi
add esi, dword [ebp - 0x274]
add edi, ecx
add ecx, esi
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1ec], edi
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x1e0]
imul edx, eax
mov esi, dword [ebp - 0x1ec]
test byte [esi + edx*2], 1
je 0x4fe7ec
inc ecx
cmp ecx, dword [ebp - 0x208]
jg 0x4fe7ec
mov dword [ebp - 0x294], edx
mov edx, dword [ebp - 0x204]
mov edi, dword [ebp - 0x270]
lea esi, [edx + eax*2 + 2]
mov dword [edi + ecx*4], esi
mov edi, dword [ebp - 0x218]
mov esi, dword [ebp - 0x208]
cmp esi, dword [edi + edx*4 + 4]
mov edx, dword [ebp - 0x294]
jne 0x4fe7ec
mov esi, edi
mov edi, dword [ebp - 0x204]
mov dword [esi + edi*4 + 4], ecx
mov esi, dword [ebp - 0x1f4]
test byte [esi + edx*2], 1
je 0x4fe832
inc ecx
cmp ecx, dword [ebp - 0x208]
jg 0x4fe832
mov edx, dword [ebp - 0x204]
mov edi, dword [ebp - 0x270]
lea esi, [edx + eax*2 + 3]
mov dword [edi + ecx*4], esi
mov edi, dword [ebp - 0x218]
mov esi, dword [ebp - 0x208]
cmp esi, dword [edi + edx*4 + 4]
jne 0x4fe832
mov edx, edi
mov esi, dword [ebp - 0x204]
mov dword [edx + esi*4 + 4], ecx
inc eax
cmp eax, dword [ebp - 0x1f0]
jb 0x4fe791
mov dword [ebp - 0x278], ecx
lea ecx, [eax + eax + 1]
mov eax, dword [ebp - 0x218]
mov edx, dword [ebp - 0x204]
mov esi, dword [eax + edx*4 + 4]
mov dword [ebp - 0x204], edx
lea eax, [ecx - 1]
mov edx, dword [ebp - 0xa0]
mov edi, dword [ebp - 0x21c]
lea edx, [edx + edi - 1]
cmp eax, edx
mov edx, dword [ebp - 0x204]
jae 0x4fe8ec
mov edi, dword [ebp - 0x228]
lea eax, [edx + ecx]
imul eax, dword [ebp - 0x1e0]
imul edi, edx
add eax, dword [ebp - 0x27c]
test byte [eax + edi], 1
je 0x4fe8ec
mov eax, dword [ebp - 0x278]
inc eax
mov dword [ebp - 0x278], eax
cmp eax, dword [ebp - 0x208]
jg 0x4fe8ec
mov edi, eax
lea eax, [edx + ecx + 1]
mov ecx, dword [ebp - 0x284]
imul ecx, dword [ebp - 0x288]
neg ecx
sub edi, dword [ebp - 0x28c]
add ecx, dword [ebp - 0xd4]
mov dword [ecx + edi*4], eax
cmp esi, dword [ebp - 0x208]
jne 0x4fe913
mov eax, dword [ebp - 0x218]
mov esi, dword [ebp - 0x278]
mov dword [eax + edx*4 + 4], esi
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x278]
mov dword [ecx + edx*4 + 4], eax
cmp esi, dword [ebp - 0x208]
jne 0x4fe923
mov esi, dword [ebp - 0x218]
lea ecx, [eax + 1]
mov dword [esi + edx*4 + 4], ecx
jmp 0x4fe923
mov ecx, dword [ebp - 0x214]
mov eax, dword [ebp - 0x278]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x208]
mov dword [eax + edx*4 + 4], ecx
test edx, edx
jle 0x4feafa
mov eax, edx
shr eax, 1
test eax, eax
jbe 0x500198
mov edi, dword [ebp - 0x228]
xor esi, esi
imul edi, edx
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x204], edx
mov dword [ebp - 0x1dc], eax
lea edx, [ecx + edi]
mov ecx, dword [ebp - 0x244]
imul ecx, dword [ebp - 0x254]
mov dword [ebp - 0x1d0], edx
neg ecx
mov edx, dword [ebp - 0x248]
add ecx, dword [ebp - 0x23c]
add edi, dword [ebp - 0x240]
mov eax, dword [ebp - 0x22c]
shl edx, 2
sub ecx, edx
mov edx, esi
mov dword [ebp - 0x1d8], edi
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x1d4], esi
mov ecx, dword [ebp - 0x1d0]
test byte [ecx + edx*2], 1
je 0x4fe9f9
inc eax
cmp eax, dword [ebp - 0x208]
jg 0x4fe9f9
mov ecx, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x234]
lea esi, [ecx + ecx + 1]
mov ecx, dword [ebp - 0x208]
mov dword [edi + eax*4], esi
mov edi, dword [ebp - 0x204]
mov esi, dword [ebp - 0x224]
cmp ecx, dword [esi + edi*4 + 4]
jne 0x4fe9f9
mov esi, edi
mov ecx, dword [ebp - 0x224]
mov dword [ecx + esi*4 + 4], eax
mov ecx, dword [ebp - 0x1d8]
test byte [ecx + edx*2], 1
je 0x4fea45
inc eax
cmp eax, dword [ebp - 0x208]
jg 0x4fea45
mov ecx, dword [ebp - 0x1d4]
mov edi, dword [ebp - 0x234]
lea esi, [ecx + ecx + 2]
mov ecx, dword [ebp - 0x208]
mov dword [edi + eax*4], esi
mov edi, dword [ebp - 0x204]
mov esi, dword [ebp - 0x224]
cmp ecx, dword [esi + edi*4 + 4]
jne 0x4fea45
mov esi, edi
mov ecx, dword [ebp - 0x224]
mov dword [ecx + esi*4 + 4], eax
mov ecx, dword [ebp - 0x1d4]
inc ecx
add edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x1d4], ecx
cmp ecx, dword [ebp - 0x1dc]
jb 0x4fe9ad
mov ecx, dword [ebp - 0x224]
mov edx, dword [ebp - 0x204]
mov esi, dword [ebp - 0x1d4]
mov dword [ebp - 0x22c], eax
lea eax, [esi + esi + 1]
mov ecx, dword [ecx + edx*4 + 4]
lea esi, [eax - 1]
cmp esi, edx
jae 0x4feafa
mov esi, dword [ebp - 0x1e0]
imul esi, eax
mov edi, dword [ebp - 0x228]
imul edi, edx
add esi, dword [ebp - 0x230]
test byte [esi + edi], 1
je 0x4feafa
mov esi, dword [ebp - 0x22c]
inc esi
mov dword [ebp - 0x22c], esi
cmp esi, dword [ebp - 0x208]
jg 0x4feafa
mov esi, dword [ebp - 0x244]
imul esi, dword [ebp - 0x254]
mov edi, dword [ebp - 0x22c]
neg esi
sub edi, dword [ebp - 0x248]
add esi, dword [ebp - 0x23c]
mov dword [esi + edi*4], eax
cmp ecx, dword [ebp - 0x208]
jne 0x4feb21
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x22c]
mov dword [eax + edx*4 + 4], ecx
mov esi, dword [ebp - 0x290]
mov eax, dword [ebp - 0x22c]
mov dword [esi + edx*4 + 4], eax
cmp ecx, dword [ebp - 0x208]
jne 0x4feb31
mov esi, dword [ebp - 0x224]
lea ecx, [eax + 1]
mov dword [esi + edx*4 + 4], ecx
jmp 0x4feb31
mov ecx, dword [ebp - 0x290]
mov eax, dword [ebp - 0x22c]
mov dword [ecx + edx*4 + 4], eax
mov eax, dword [ebp - 0xa0]
lea esi, [edx + 1]
cmp eax, dword [ebp - 0x220]
jl 0x4fed06
test esi, esi
jle 0x4fed06
mov eax, dword [ebp - 0x284]
imul eax, dword [ebp - 0x288]
imul edx, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x28c]
mov edi, dword [ebp - 0x29c]
mov dword [ebp - 0x1f8], esi
mov dword [ebp - 0x25c], 0
lea esi, [ecx*4]
lea ecx, [eax + ecx*4]
neg eax
neg ecx
add edi, edx
mov dword [ebp - 0x20c], edi
mov edi, dword [ebp - 0xd4]
add eax, edi
add edx, dword [ebp - 0x298]
add ecx, edi
sub eax, esi
mov esi, dword [ebp - 0x25c]
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x204], edx
mov edx, dword [ebp - 0x1e0]
imul edx, esi
mov eax, dword [ebp - 0x204]
test byte [eax + edx], 1
je 0x4fecf3
mov ecx, dword [ebp - 0x218]
mov eax, dword [ebp - 0x214]
mov edx, dword [ecx + esi*4 + 4]
mov ecx, dword [eax + esi*4 + 4]
mov dword [ebp - 0x210], edx
cmp ecx, edx
jl 0x4fecf3
sub ecx, dword [ebp - 0x210]
inc ecx
mov eax, ecx
shr eax, 1
mov dword [ebp - 0x1e4], eax
test eax, eax
jbe 0x50018e
mov edi, dword [ebp - 0x228]
xor eax, eax
imul edi, esi
add edi, dword [ebp - 0x230]
mov dword [ebp - 0x268], edi
mov edi, dword [ebp - 0x260]
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x25c], esi
lea edi, [edi + edx*4]
mov dword [ebp - 0x264], edi
mov edi, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x264]
lea edx, [edi + edx*4]
mov dword [ebp - 0x1e8], edx
mov edx, dword [ebp - 0x268]
mov esi, dword [ecx + eax*8]
imul esi, dword [ebp - 0x1e0]
test byte [edx + esi], 1
je 0x4fec79
mov edi, dword [ebp - 0x20c]
mov byte [esi + edi], 0xff
mov esi, dword [ebp - 0x1e8]
mov esi, dword [esi + eax*8 + 4]
imul esi, dword [ebp - 0x1e0]
test byte [edx + esi], 1
je 0x4fec9a
mov edi, dword [ebp - 0x20c]
mov byte [esi + edi], 0xff
inc eax
cmp eax, dword [ebp - 0x1e4]
jb 0x4fec5f
mov ecx, dword [ebp - 0x258]
lea edx, [eax + eax + 1]
mov esi, dword [ebp - 0x25c]
lea eax, [edx - 1]
cmp eax, ecx
jae 0x4fecf3
add edx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x260]
mov edi, dword [ebp - 0x228]
imul edi, esi
mov eax, dword [eax + edx*4 - 4]
imul eax, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x230]
lea ecx, [edx + eax]
test byte [ecx + edi], 1
je 0x4fecf3
mov edx, dword [ebp - 0x20c]
mov byte [eax + edx], 0xff
inc esi
cmp esi, dword [ebp - 0x1f8]
jb 0x4febbe
mov esi, dword [ebp - 0x1f8]
mov edx, esi
cmp esi, dword [ebp - 0xa0]
jb 0x4fe6e4
add esi, 2
mov eax, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x278]
cmp eax, edx
mov ecx, dword [0x81eda8]
cmovge edx, eax
mov dword [ebp - 0x278], edx
cmp ecx, edx
jg 0x4fed3d
mov eax, edx
lea ecx, [eax + 1]
mov dword [0x81eda8], ecx
cmp ecx, dword [0x81eb88]
jle 0x4fef2e
mov dword [ebp - 0x29c], esp
push 0x81eb88
mov dword [ebp - 0x100], esi
lea esi, [ebp - 0x298]
push 0x48
movq xmm0, qword [0x685308]
push esi
mov dword [ebp - 0x140], str.Sparsity_dimension_ND19_
movq qword [ebp - 0x138], xmm0
call fcn.004e4440
add esp, 0xc
mov eax, 0x48
push eax
push esi
push eax
lea esi, [ebp - 0x248]
push esi
call fcn.005c0890
mov edi, eax
add esp, 0x10
mov eax, edi
movd xmm1, edi
cdq
add edi, 0x1a
mov eax, edi
mov dword [ebp - 0x130], esi
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov esi, eax
mov eax, edi
cdq
add esp, 0xffffffe8
movd xmm2, edi
movq xmm0, qword [0x685300]
lea ecx, [ebp - 0x140]
movd xmm1, edx
punpckldq xmm2, xmm1
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], esi
movq qword [esp + 0x10], xmm2
call fcn.005b42d0
add esp, 0x18
push edi
push esi
mov eax, 0x685200
mov edx, 0x685204
push eax
push eax
push edx
push edx
call fcn.0053e690
add esp, 0x18
mov eax, dword [ebp - 0x29c]
mov esp, eax
mov dword [ebp - 0x29c], esp
lea esi, [ebp - 0x1f8]
push 0x81eda8
push 0x48
movq xmm0, qword [0x685310]
push esi
mov dword [ebp - 0x120], str._exceeded._It_should_be_greater_than
movq qword [ebp - 0x118], xmm0
call fcn.004e4440
add esp, 0xc
mov eax, 0x48
push eax
push esi
push eax
lea esi, [ebp - 0x1a8]
push esi
call fcn.005c0890
mov edi, eax
add esp, 0x10
mov eax, edi
movd xmm1, edi
cdq
add edi, 0x25
mov eax, edi
mov dword [ebp - 0x110], esi
movd xmm0, edx
punpckldq xmm1, xmm0
movq qword [ebp - 0x108], xmm1
add eax, 0xf
and eax, 0xfffffff0
call fcn.0063fc60
mov eax, esp
mov esi, eax
mov eax, edi
cdq
add esp, 0xffffffe8
movd xmm2, edi
movq xmm0, qword [0x685300]
lea ecx, [ebp - 0x120]
movd xmm1, edx
punpckldq xmm2, xmm1
mov dword [esp], ecx
movq qword [esp + 4], xmm0
mov dword [esp + 0xc], esi
movq qword [esp + 0x10], xmm2
call fcn.005b42d0
add esp, 0x18
push edi
push esi
push 0x685208
push 0x685200
mov eax, 0x685204
push eax
push eax
call fcn.0053e690
add esp, 0x18
mov eax, dword [ebp - 0x29c]
mov esp, eax
push 0xc
push 0x685204
push 0x6e3d40
call fcn.00471080
add esp, 0xc
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xa0], eax
mov eax, dword [0x6e3cac]
mov edx, dword [0x6e3c80]
mov ecx, dword [0x6e3ca0]
mov esi, dword [0x6e3c9c]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xa8], edx
mov eax, dword [0x6e3ca8]
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0x54], esi
cmp dword [ebp - 0x68], 1
jle 0x50043e
mov edx, dword [ebx + 8]
mov ecx, dword [0x6c8004]
neg ecx
mov dword [ebp - 0x28], eax
mov eax, dword [0x6c7ff8]
mov edi, dword [edx]
add ecx, edi
shl eax, 2
mov edx, dword [0x6c7fd8]
sub edx, eax
imul ecx, dword [0x6c8000]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0xd8], edi
lea eax, [edx + esi*4]
mov edx, dword [eax + ecx]
mov eax, dword [0x6c7fd4]
neg eax
mov ecx, dword [0x6c7fc8]
add eax, edi
shl ecx, 2
mov edi, dword [0x6c7fa8]
sub edi, ecx
imul eax, dword [0x6c7fd0]
mov dword [ebp - 0x1ac], edx
lea esi, [edi + esi*4]
mov eax, dword [esi + eax]
mov dword [ebp - 0xb0], eax
cmp eax, edx
mov eax, dword [ebp - 0x28]
jl 0x50041a
mov esi, dword [0x6c7f78]
mov dword [ebp - 0xf0], esi
mov esi, dword [ebp - 0xfc]
imul esi, eax
mov edi, dword [ebp - 0xb0]
sub edi, dword [ebp - 0x1ac]
mov ecx, dword [0x6c7fa0]
inc edi
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xdc], ecx
mov edi, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xf8]
sub edi, esi
mov esi, dword [ebp - 0x54]
imul ecx, esi
mov dword [ebp - 0x28], eax
mov eax, edi
sub eax, ecx
mov dword [ebp - 0xe8], eax
mov edx, dword [0x6c5218]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0xf4], edx
mov edx, eax
imul edx, esi
mov dword [ebp - 0xa8], edi
add edx, edi
mov edi, dword [0x6c7fa4]
sub edx, ecx
imul edi, dword [ebp - 0xdc]
mov esi, dword [0x6c7f98]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0xcc], edi
lea ecx, [esi*4]
mov dword [ebp - 0xec], ecx
lea ecx, [edi + esi*4]
mov edx, dword [0x6c5224]
mov edi, dword [0x6c5220]
imul edx, edi
mov dword [ebp - 0xd0], edx
mov edx, dword [ebp - 0xd8]
imul edi, edx
mov esi, dword [0x6c51f8]
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x1ac]
sub ecx, dword [0x6c8028]
lea eax, [esi + eax*4]
add edi, eax
mov dword [ebp - 0xc8], edi
mov edi, dword [0x6c8034]
neg edi
add edi, edx
imul edi, dword [0x6c8030]
mov esi, dword [0x6c8008]
mov dword [ebp - 0xb4], 0
lea eax, [esi + ecx*4]
mov esi, dword [0x6c7f74]
mov ecx, dword [0x6c7f68]
neg esi
shl ecx, 2
add edi, eax
mov eax, dword [0x6c7f48]
add esi, edx
sub eax, ecx
mov ecx, dword [0x6c7f44]
neg ecx
imul esi, dword [0x6c7f70]
add ecx, edx
imul ecx, dword [0x6c7f40]
mov edx, dword [0x6c7f38]
add esi, eax
shl edx, 2
mov eax, dword [0x6c7f18]
sub eax, edx
add ecx, eax
mov edx, dword [ebp - 0x29c]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xc0], edi
mov ecx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xbc]
mov edi, dword [ebp - 0xb8]
mov ecx, dword [ecx + esi*4]
mov eax, dword [eax + ecx*4]
mov esi, dword [edi + ecx*4]
mov dword [ebp - 0xac], eax
cmp esi, eax
jl 0x4ff3b3
sub esi, dword [ebp - 0xac]
inc esi
mov eax, esi
shr eax, 1
mov dword [ebp - 0x90], eax
test eax, eax
jbe 0x500184
mov eax, dword [ebp - 0xf4]
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0x1ac], esi
mov esi, dword [ebp - 0xd8]
imul esi, dword [ebp - 0xdc]
lea edi, [edi + eax*4]
neg edi
add edi, dword [ebp - 0xc8]
mov dword [ebp - 0xfc], edi
mov edi, dword [ebp - 0x54]
imul edi, ecx
mov eax, dword [ebp - 0x28]
imul eax, ecx
add esi, dword [ebp - 0xf0]
add edi, dword [ebp - 0xe8]
mov dword [ebp - 0x94], edi
mov edi, esi
sub esi, dword [ebp - 0xcc]
mov dword [ebp - 0x98], eax
sub edi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xac]
sub esi, dword [ebp - 0xec]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0x29c], ecx
lea edi, [edi + eax*4]
mov dword [ebp - 0x8c], edi
lea edi, [esi + eax*4]
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0x9c], edi
mov ecx, dword [ebp - 0x8c]
mov edi, dword [ebp - 0x98]
mov esi, dword [ecx + eax*8]
mov ecx, dword [ebp - 0x28]
imul ecx, esi
movsd xmm0, qword [edi + edx]
mov edi, dword [ebp - 0x94]
movsd xmm1, qword [ecx + edx]
movaps xmm2, xmm1
mulsd xmm0, qword [edi + ecx]
subsd xmm2, xmm0
cmp esi, dword [ebp - 0x68]
jne 0x4ff28b
andps xmm1, xmmword [0x6852d0]
movaps xmm0, xmm2
mulsd xmm1, qword [0x6852f0]
andps xmm0, xmmword [0x6852d0]
comisd xmm1, xmm0
jbe 0x4ff28b
mov esi, dword [ebp - 0xfc]
mov dword [esi], 0xffffffff
movsd qword [ecx + edx], xmm2
mov ecx, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x98]
mov esi, dword [ecx + eax*8 + 4]
mov ecx, dword [ebp - 0x28]
imul ecx, esi
movsd xmm0, qword [edi + edx]
mov edi, dword [ebp - 0x94]
movsd xmm1, qword [ecx + edx]
movaps xmm2, xmm1
mulsd xmm0, qword [edi + ecx]
subsd xmm2, xmm0
cmp esi, dword [ebp - 0x68]
jne 0x4ff2f2
andps xmm1, xmmword [0x6852d0]
movaps xmm0, xmm2
mulsd xmm1, qword [0x6852f0]
andps xmm0, xmmword [0x6852d0]
comisd xmm1, xmm0
jbe 0x4ff2f2
mov esi, dword [ebp - 0xfc]
mov dword [esi], 0xffffffff
inc eax
movsd qword [ecx + edx], xmm2
cmp eax, dword [ebp - 0x90]
jb 0x4ff22a
mov esi, dword [ebp - 0x1ac]
lea eax, [eax + eax + 1]
mov ecx, dword [ebp - 0x29c]
lea edi, [eax - 1]
cmp edi, esi
jae 0x4ff3b3
mov edi, dword [ebp - 0xd8]
imul edi, dword [ebp - 0xdc]
add edi, dword [ebp - 0xf0]
sub edi, dword [ebp - 0xe4]
add eax, dword [ebp - 0xac]
mov esi, dword [edi + eax*4 - 4]
mov edi, dword [ebp - 0x28]
mov eax, edi
imul edi, ecx
imul ecx, dword [ebp - 0x54]
imul eax, esi
movsd xmm0, qword [edi + edx]
add ecx, dword [ebp - 0xe8]
movsd xmm1, qword [eax + edx]
movaps xmm2, xmm1
mulsd xmm0, qword [eax + ecx]
subsd xmm2, xmm0
cmp esi, dword [ebp - 0x68]
jne 0x4ff3ae
andps xmm1, xmmword [0x6852d0]
movaps xmm0, xmm2
mulsd xmm1, qword [0x6852f0]
andps xmm0, xmmword [0x6852d0]
comisd xmm1, xmm0
jbe 0x4ff3ae
mov esi, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xd0]
lea edi, [ecx + esi*4]
neg edi
add edi, dword [ebp - 0xc8]
mov dword [edi], 0xffffffff
movsd qword [eax + edx], xmm2
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [ebp - 0xb0]
jb 0x4ff14c
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0xa0]
lea ecx, [edx - 1]
mov edx, dword [ebp - 0x68]
cmp ecx, edx
jl 0x500165
mov esi, dword [ebp - 0xa8]
sub esi, dword [ebp - 0xa4]
mov edi, edx
movsd xmm0, qword [0x6852e8]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x9c], ecx
mov eax, edi
lea esi, [edi + 1]
mov dword [ebp - 0x98], esi
mov dword [ebp - 0x24], esi
mov esi, edi
imul eax, dword [ebp - 0x28]
imul esi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x94], eax
add eax, esi
mov dword [ebp - 0x8c], eax
add ecx, eax
mov dword [ebp - 0x90], ecx
movsd xmm1, qword [ecx]
andps xmm1, xmmword [0x6852d0]
comisd xmm0, xmm1
ja 0x5000ad
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x8c]
movsd xmm1, qword [0x685318]
mov dword [ebp - 0xac], esi
divsd xmm1, qword [ecx + eax]
movsd qword [ecx + eax], xmm1
mov ecx, dword [ebx + 8]
mov edx, dword [0x6c7f74]
mov eax, dword [0x6c7f70]
mov esi, dword [ecx]
imul edx, eax
imul eax, esi
mov dword [ebp - 0x64], esi
mov esi, dword [0x6c7f48]
mov ecx, dword [0x6c7f48]
mov dword [ebp - 0x38], ecx
mov ecx, dword [0x6c7f68]
lea esi, [esi + edi*4]
shl ecx, 2
sub esi, edx
mov dword [ebp - 0xd0], ecx
sub ecx, eax
sub esi, ecx
mov dword [ebp - 0xc8], eax
mov eax, dword [0x6c7f44]
mov dword [ebp - 0xcc], edx
mov ecx, dword [esi]
mov dword [ebp - 0xb0], ecx
mov ecx, dword [0x6c7f40]
imul eax, ecx
imul ecx, dword [ebp - 0x64]
mov esi, dword [0x6c7f18]
mov edx, dword [0x6c7f38]
mov dword [ebp - 0xbc], esi
shl edx, 2
lea esi, [esi + edi*4]
mov dword [ebp - 0xc4], edx
sub esi, eax
sub edx, ecx
sub esi, edx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x34], ecx
mov eax, dword [esi]
mov esi, dword [ebp - 0xac]
cmp eax, dword [ebp - 0xb0]
jl 0x4ff819
sub eax, dword [ebp - 0xb0]
mov ecx, dword [0x6c7f78]
inc eax
mov edx, dword [0x6c7fa0]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb8], edx
mov ecx, dword [0x6c7fa4]
mov edx, dword [0x6c7f98]
cmp dword [ebp - 0x54], 8
jne 0x4ff6cc
mov esi, eax
shr esi, 1
mov dword [ebp - 0x80], esi
test esi, esi
jbe 0x4fffff
mov dword [ebp - 0x68], edi
lea esi, [edx*4]
mov dword [ebp - 0xf4], eax
mov edi, dword [ebp - 0x64]
mov eax, dword [ebp - 0xb8]
imul edi, eax
imul eax, ecx
mov dword [ebp - 0xec], ecx
mov dword [ebp - 0xe8], esi
mov ecx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb0]
mov dword [ebp - 0xf0], edx
lea edx, [eax + edx*4]
mov dword [ebp - 0xfc], 0
lea esi, [ecx + esi*4]
lea ecx, [esi + edi]
sub edi, eax
add esi, edi
sub ecx, edx
sub esi, dword [ebp - 0xe8]
mov dword [ebp - 0x6c], esi
mov esi, dword [ebp - 0xf8]
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0x88], ecx
mov ecx, dword [ebp - 0x94]
shl esi, 3
neg esi
add esi, dword [ebp - 0xa8]
lea eax, [esi + edi*8]
mov dword [ebp - 0x74], eax
lea eax, [ecx + edi*8]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0xfc]
nop dword [eax + eax]
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x78]
mov edi, dword [edi + ecx*8]
imul edi, dword [ebp - 0x28]
movsd xmm1, qword [eax + edi]
mulsd xmm1, qword [edx + esi]
movsd qword [eax + edi], xmm1
mov edi, dword [ebp - 0x88]
mov edi, dword [edi + ecx*8 + 4]
inc ecx
imul edi, dword [ebp - 0x28]
movsd xmm2, qword [eax + edi]
mulsd xmm2, qword [edx + esi]
movsd qword [eax + edi], xmm2
cmp ecx, dword [ebp - 0x80]
jb 0x4ff5f0
mov dword [ebp - 0xfc], ecx
mov esi, ecx
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
lea esi, [esi + esi + 1]
mov edi, dword [ebp - 0x68]
mov dword [ebp - 0xdc], esi
mov esi, dword [ebp - 0xdc]
lea esi, [esi - 1]
cmp esi, eax
jae 0x4ff819
mov eax, dword [ebp - 0xb0]
neg ecx
add eax, dword [ebp - 0xdc]
neg edx
add ecx, dword [ebp - 0x64]
add edx, eax
imul ecx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xf8]
lea esi, [esi + edx*4 - 4]
lea edx, [eax*8]
mov eax, dword [ebp - 0x28]
neg edx
imul eax, dword [esi + ecx]
add edx, dword [ebp - 0xa8]
mov esi, dword [ebp - 0x94]
lea ecx, [edx + edi*8]
movsd xmm1, qword [ecx + eax]
lea edi, [esi + edi*8]
mulsd xmm1, qword [edi + edx]
movsd qword [ecx + eax], xmm1
jmp 0x4ff819
mov edi, eax
shr edi, 1
mov dword [ebp - 0x7c], edi
test edi, edi
jbe 0x50009e
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xec], ecx
mov edi, dword [ebp - 0xb4]
add esi, eax
mov dword [ebp - 0x29c], esi
mov esi, dword [ebp - 0x64]
mov eax, dword [ebp - 0xb8]
imul esi, eax
imul eax, ecx
mov dword [ebp - 0xf0], edx
lea ecx, [edx*4]
mov dword [ebp - 0xe4], ecx
lea edx, [eax + edx*4]
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x1ac], 0
lea ecx, [edi + ecx*4]
lea edi, [ecx + esi]
sub esi, eax
add ecx, esi
sub edi, edx
sub ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x84], edi
mov edi, dword [ebp - 0x70]
mov edi, dword [edi + ecx*8]
imul edi, edx
movsd xmm1, qword [edi + esi]
mulsd xmm1, qword [eax]
movsd qword [edi + esi], xmm1
mov edi, dword [ebp - 0x84]
mov edi, dword [edi + ecx*8 + 4]
inc ecx
imul edi, edx
movsd xmm2, qword [edi + esi]
mulsd xmm2, qword [eax]
movsd qword [edi + esi], xmm2
cmp ecx, dword [ebp - 0x7c]
jb 0x4ff763
mov dword [ebp - 0x1ac], ecx
mov edi, ecx
mov eax, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xec]
lea edi, [edi + edi + 1]
mov esi, dword [ebp - 0xac]
mov dword [ebp - 0xd8], edi
mov edi, dword [ebp - 0xd8]
lea edi, [edi - 1]
cmp edi, eax
jae 0x4ff819
mov edi, dword [ebp - 0xd8]
neg ecx
add edi, dword [ebp - 0xb0]
neg edx
add ecx, dword [ebp - 0x64]
add edx, edi
imul ecx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x50]
add esi, eax
lea edi, [edi + edx*4 - 4]
mov edx, dword [ebp - 0x28]
imul edx, dword [edi + ecx]
mov ecx, dword [ebp - 0x8c]
movsd xmm1, qword [edx + esi]
mulsd xmm1, qword [ecx + eax]
movsd qword [edx + esi], xmm1
mov ecx, dword [0x6c8004]
neg ecx
mov esi, dword [0x6c7ff8]
mov eax, dword [ebp - 0x64]
add ecx, eax
shl esi, 2
mov edi, dword [0x6c7fd8]
sub edi, esi
imul ecx, dword [0x6c8000]
mov edx, dword [ebp - 0x24]
lea esi, [edi + edx*4]
mov edi, dword [0x6c7fa8]
mov ecx, dword [esi + ecx]
mov esi, dword [0x6c7fd4]
neg esi
add esi, eax
mov eax, dword [0x6c7fc8]
shl eax, 2
sub edi, eax
imul esi, dword [0x6c7fd0]
lea edx, [edi + edx*4]
mov edx, dword [edx + esi]
cmp edx, ecx
jl 0x4ffb08
mov eax, dword [ebp - 0x38]
sub edx, ecx
sub eax, dword [ebp - 0xcc]
inc edx
sub eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0xc8]
mov dword [ebp - 0x30], edx
mov edx, dword [0x6c8034]
neg edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x64]
add edx, eax
imul edx, dword [0x6c8030]
mov esi, dword [0x6c7fa0]
imul eax, esi
imul esi, dword [0x6c7fa4]
mov edi, dword [ebp - 0xbc]
sub edi, dword [ebp - 0xc0]
sub edi, dword [ebp - 0xc4]
sub ecx, dword [0x6c8028]
add edx, dword [0x6c8008]
add dword [ebp - 0x34], edi
mov edi, dword [0x6c7f98]
add eax, dword [0x6c7f78]
lea ecx, [edx + ecx*4]
mov edx, eax
mov dword [ebp - 0x40], ecx
lea ecx, [edi*4]
sub edx, esi
lea esi, [esi + edi*4]
sub edx, ecx
sub eax, esi
mov dword [ebp - 0x5c], edx
mov edx, dword [ebp - 0x64]
sub edx, dword [0x6c5224]
imul edx, dword [0x6c5220]
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x54]
imul ecx, edi
mov esi, dword [0x6c51f8]
mov dword [ebp - 0x64], edx
mov edx, dword [0x6c5218]
shl edx, 2
lea esi, [esi + edi*4]
neg edx
add ecx, dword [ebp - 0xa8]
add esi, edx
sub ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x4c], eax
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov esi, dword [esi + edx*4]
mov eax, dword [eax + esi*4]
mov edx, dword [edi + esi*4]
mov dword [ebp - 0x2c], eax
cmp edx, eax
jl 0x4ffaf8
sub edx, dword [ebp - 0x2c]
inc edx
mov eax, edx
shr eax, 1
mov dword [ebp - 0x10], eax
test eax, eax
jbe 0x500094
mov eax, dword [ebp - 0x54]
imul eax, esi
mov edi, dword [ebp - 0x28]
imul edi, esi
add eax, dword [ebp - 0x50]
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], eax
mov edi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x48], esi
lea edi, [edi + eax*4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x5c]
lea eax, [edi + eax*4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x18]
mov esi, dword [edx + eax*8]
mov edx, dword [ebp - 0x28]
imul edx, esi
movsd xmm1, qword [edi + ecx]
mov edi, dword [ebp - 0x14]
movsd xmm2, qword [edx + ecx]
movaps xmm3, xmm2
mulsd xmm1, qword [edi + edx]
subsd xmm3, xmm1
cmp esi, dword [ebp - 0x24]
jne 0x4ffa11
andps xmm2, xmmword [0x6852d0]
movaps xmm1, xmm3
mulsd xmm2, qword [0x6852f0]
andps xmm1, xmmword [0x6852d0]
comisd xmm2, xmm1
jbe 0x4ffa11
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
mov dword [esi + edi], 0xffffffff
movsd qword [edx + ecx], xmm3
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
mov esi, dword [edx + eax*8 + 4]
mov edx, dword [ebp - 0x28]
imul edx, esi
movsd xmm1, qword [edi + ecx]
mov edi, dword [ebp - 0x14]
movsd xmm2, qword [edx + ecx]
movaps xmm3, xmm2
mulsd xmm1, qword [edi + edx]
subsd xmm3, xmm1
cmp esi, dword [ebp - 0x24]
jne 0x4ffa70
andps xmm2, xmmword [0x6852d0]
movaps xmm1, xmm3
mulsd xmm2, qword [0x6852f0]
andps xmm1, xmmword [0x6852d0]
comisd xmm2, xmm1
jbe 0x4ffa70
mov esi, dword [ebp - 0x60]
mov edi, dword [ebp - 0x64]
mov dword [esi + edi], 0xffffffff
inc eax
movsd qword [edx + ecx], xmm3
cmp eax, dword [ebp - 0x10]
jb 0x4ff9b8
mov edx, dword [ebp - 0x44]
lea eax, [eax + eax + 1]
mov esi, dword [ebp - 0x48]
lea edi, [eax - 1]
cmp edi, edx
jae 0x4ffaf8
add eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x4c]
mov edx, dword [edi + eax*4 - 4]
mov edi, dword [ebp - 0x28]
mov eax, edi
imul edi, esi
imul esi, dword [ebp - 0x54]
imul eax, edx
movsd xmm1, qword [edi + ecx]
add esi, dword [ebp - 0x50]
movsd xmm2, qword [eax + ecx]
movaps xmm3, xmm2
mulsd xmm1, qword [eax + esi]
subsd xmm3, xmm1
cmp edx, dword [ebp - 0x24]
jne 0x4ffaf3
andps xmm2, xmmword [0x6852d0]
movaps xmm1, xmm3
mulsd xmm2, qword [0x6852f0]
andps xmm1, xmmword [0x6852d0]
comisd xmm2, xmm1
jbe 0x4ffaf3
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
mov dword [edx + esi], 0xffffffff
movsd qword [eax + ecx], xmm3
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x30]
jb 0x4ff94b
mov edi, dword [ebp - 0x98]
mov edx, edi
cmp edi, dword [ebp - 0x9c]
jle 0x4ff405
mov dword [ebp - 0x100], edx
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0xa0], edx
add eax, dword [ebp - 0x54]
imul eax, dword [ebp - 0xa0]
movsd xmm1, qword [eax + esi]
andps xmm1, xmmword [0x6852d0]
comisd xmm0, xmm1
ja 0x50002f
movsd xmm0, qword [0x685318]
divsd xmm0, qword [eax + esi]
movsd qword [eax + esi], xmm0
mov esi, dword [ebx + 8]
mov eax, dword [0x6c80d0]
shl eax, 2
mov edi, dword [esi]
neg eax
mov ecx, dword [0x6c52a0]
shl ecx, 2
mov edx, dword [0x6c5280]
lea esi, [edi*4]
add eax, dword [0x6c80b0]
neg ecx
mov dword [eax + esi], 0xffffffff
lea eax, [edx + edi*4]
inc dword [ecx + eax]
mov eax, dword [0x6c7f10]
shl eax, 2
neg eax
add eax, dword [0x6c7ef0]
mov edx, dword [ebp - 0xa0]
inc edx
mov dword [eax + esi], edx
test byte [0x76e5d0], 1
je 0x4ffdbc
mov eax, dword [0x6c5af8]
shl eax, 2
neg eax
add eax, dword [0x6c5ad8]
mov edx, dword [esi + eax]
mov dword [ebp - 0xec], edx
test edx, edx
jle 0x4ffdb2
mov eax, dword [0x6c51f8]
mov edx, dword [0x6c5224]
mov ecx, dword [0x6c5220]
mov esi, dword [0x6c5218]
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf4], esi
cmp dword [ebp - 0xec], 4
jl 0x50000e
mov ecx, edi
mov eax, dword [ebp - 0xfc]
imul ecx, eax
imul eax, dword [ebp - 0x29c]
mov edx, esi
add ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0xf0], ecx
sub ecx, eax
mov dword [ebp - 0xf8], eax
lea esi, [edx*4]
sub ecx, esi
add ecx, 4
and ecx, 0xf
je 0x4ffc6e
test cl, 3
jne 0x50000e
neg ecx
add ecx, 0x10
shr ecx, 2
lea eax, [ecx + 4]
cmp eax, dword [ebp - 0xec]
jg 0x50000e
mov eax, dword [ebp - 0xec]
mov edx, eax
sub edx, ecx
and edx, 3
neg edx
mov esi, dword [ebp - 0xf8]
add edx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xe8], 0
lea edx, [esi + eax*4]
mov eax, dword [ebp - 0xe8]
sub dword [ebp - 0xf0], edx
mov edx, dword [ebp - 0xe4]
test ecx, ecx
jbe 0x4ffd03
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xd4], edi
mov dword [ebp - 0xe4], edx
mov edx, 0xffffffff
mov esi, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xf0]
test byte [edi + esi*4 + 4], 1
cmovne eax, edx
inc esi
cmp esi, ecx
jb 0x4ffcea
mov edi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xd4], edi
pxor xmm2, xmm2
movdqu xmm1, xmmword [0x6852b0]
pcmpeqd xmm0, xmm0
mov dword [ebp - 0xe8], eax
mov esi, dword [ebp - 0xf8]
mov edi, dword [ebp - 0xf0]
movdqu xmm3, xmmword [edi + ecx*4 + 4]
add ecx, 4
pand xmm3, xmm1
pcmpeqd xmm3, xmm2
pxor xmm3, xmm0
movmskps eax, xmm3
or esi, eax
cmp ecx, edx
jb 0x4ffd35
lea eax, [ebp - 0xf8]
mov dword [eax], esi
xor ecx, ecx
dec ecx
cmp dword [eax], 0
mov eax, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xd4]
cmovne eax, ecx
cmp edx, dword [ebp - 0xec]
jae 0x4ffdb4
sub edi, dword [ebp - 0x29c]
imul edi, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf4]
shl ecx, 2
mov esi, dword [ebp - 0x1ac]
sub esi, ecx
mov ecx, 0xffffffff
add edi, esi
mov esi, dword [ebp - 0xec]
test byte [edi + edx*4 + 4], 1
cmovne eax, ecx
inc edx
cmp edx, esi
jb 0x4ffda3
jmp 0x4ffdb4
xor eax, eax
test al, 1
jne 0x500017
lea esp, [ebp - 8]
pop edi
pop esi
pop ebp
mov esp, ebx
pop ebx
ret
cmp dword [ebp - 0x34c], 4
jl 0x4ffed7
mov eax, edi
mov edx, ecx
imul eax, edx
imul edx, dword [ebp - 0x364]
mov esi, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x354]
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x35c], edx
add eax, esi
sub eax, edx
shl ecx, 2
and eax, 0xf
je 0x4ffe15
test al, 3
jne 0x4ffed7
neg eax
add eax, 0x10
shr eax, 2
lea edx, [eax + 4]
cmp edx, dword [ebp - 0x34c]
jg 0x4ffed7
mov edx, dword [ebp - 0x34c]
mov esi, edx
sub esi, eax
neg ecx
and esi, 3
neg esi
add esi, edx
mov dword [ebp - 0x350], esi
mov edx, dword [ebp - 0x358]
mov esi, dword [ebp - 0x354]
add ecx, dword [ebp - 0x360]
lea edx, [edx + esi*4]
add ecx, edx
sub ecx, dword [ebp - 0x35c]
test eax, eax
jbe 0x4ffe6c
xor edx, edx
mov dword [ecx + edx*4], 0
inc edx
cmp edx, eax
jb 0x4ffe60
mov edx, dword [ebp - 0x350]
pxor xmm0, xmm0
movdqu xmmword [ecx + eax*4], xmm0
add eax, 4
cmp eax, edx
jb 0x4ffe76
mov dword [ebp - 0x350], edx
mov eax, dword [ebp - 0x34c]
cmp eax, dword [ebp - 0x350]
jbe 0x4ffecb
mov eax, dword [ebp - 0x364]
neg eax
add eax, edi
imul eax, dword [ebp - 0x368]
add eax, dword [ebp - 0x360]
mov dword [ebp - 0x364], eax
mov edx, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x34c]
mov dword [eax + edx*4], 0
inc edx
cmp edx, ecx
jb 0x4ffebf
lea esi, [edi*4]
jmp 0x4fac99
mov dword [ebp - 0x350], 0
jmp 0x4ffe88
mov edi, 1
jmp 0x4faf46
xor ecx, ecx
jmp 0x4fb36f
mov eax, 1
jmp 0x4fb80d
mov ecx, esi
mov edx, dword [0x6c8bb0]
add ecx, dword [0x6c8b90]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0x2e8], edx
mov dword [ebp - 0x2e4], ecx
jmp 0x4fdbe6
xor eax, eax
jmp 0x4fb4bc
xor eax, eax
jmp 0x4fbb56
xor eax, eax
jmp 0x4fbd39
xor eax, eax
jmp 0x4fbfa3
xor eax, eax
jmp 0x4fc186
mov esi, 1
jmp 0x4fc39b
mov dword [ebp - 0x310], 0
jmp 0x4fc53b
xor esi, esi
jmp 0x4fc715
xor esi, esi
jmp 0x4fc9cf
mov edi, 1
jmp 0x4fcc90
mov edx, 1
jmp 0x4fd0bb
mov ecx, 1
jmp 0x4fd39e
mov edx, dword [0x6c8b90]
mov eax, dword [0x6c8bb0]
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x100], esi
lea ecx, [edx + edi*4]
mov dword [ebp - 0x2e8], eax
lea esi, [edi*4]
mov dword [ebp - 0x2e4], ecx
jmp 0x4fdbe6
mov dword [ebp - 0x348], 0
jmp 0x4fcdbb
mov dword [ebp - 0x34c], 0
jmp 0x4fcb1d
mov dword [ebp - 0x344], 0
jmp 0x4fc863
xor ecx, ecx
jmp 0x4fd65f
mov ecx, 1
jmp 0x4fdb0b
xor edx, edx
jmp 0x4fe0bf
mov dword [ebp - 0xdc], 1
jmp 0x4ff659
xor eax, eax
xor edx, edx
jmp 0x4ffd70
mov eax, 0x685204
add esp, 0xfffffff8
mov edx, dword [ebx + 8]
call fcn.00500460
add esp, 8
jmp 0x4ffdbc
mov edx, dword [ebx + 8]
lea eax, [ebp - 0xe0]
add esp, 0xfffffff8
call fcn.00500968
add esp, 8
push 0xc
push 0x685204
push 0x6e3d40
call fcn.00471080
add esp, 0xc
mov edi, dword [0x6e3cac]
mov eax, dword [0x6e3ca8]
imul edi, eax
mov esi, dword [0x6e3c80]
mov ecx, dword [0x6e3ca0]
sub esi, edi
mov edi, dword [0x6e3c9c]
add eax, edi
imul ecx, edi
mov edx, dword [ebp - 0xe0]
sub esi, ecx
mov dword [ebp - 0xa0], edx
imul eax, edx
jmp 0x4ffb54
mov eax, 1
jmp 0x4ffa89
mov dword [ebp - 0xd8], 1
jmp 0x4ff7c5
mov dword [ebp - 0x100], edx
lea eax, [ebp - 0x100]
mov edx, dword [ebx + 8]
add esp, 0xfffffff8
call fcn.00500968
movsd xmm0, qword [0x6852e8]
add esp, 8
push 0xc
push 0x685204
push 0x6e3d40
call fcn.00471080
movsd xmm0, qword [0x6852e8]
add esp, 0xc
mov edi, dword [ebp - 0x100]
mov ecx, dword [0x6e3ca8]
mov esi, dword [0x6e3ca0]
mov edx, dword [0x6e3c9c]
lea eax, [edi + 1]
mov dword [ebp - 0x98], eax
mov eax, dword [0x6e3cac]
imul eax, ecx
mov dword [ebp - 0xf8], esi
imul esi, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [0x6e3c80]
sub ecx, eax
mov eax, edi
mov dword [ebp - 0xa8], ecx
sub ecx, esi
mov dword [ebp - 0xa4], esi
mov esi, edi
imul eax, dword [0x6e3ca8]
imul esi, edx
mov dword [ebp - 0x94], eax
add eax, esi
mov dword [ebp - 0x8c], eax
add eax, ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x90], eax
jmp 0x4ff44b
mov esi, dword [ebp - 0xa8]
sub esi, dword [ebp - 0xa4]
mov dword [ebp - 0x100], edx
movsd xmm0, qword [0x6852e8]
jmp 0x4ffb34
mov eax, 1
jmp 0x4ff314
mov edx, 1
jmp 0x4fecb3
mov eax, 1
jmp 0x4fea84
mov ecx, 1
jmp 0x4fe859
xor eax, eax
jmp 0x4fe258
pxor xmm3, xmm3
pxor xmm0, xmm0
movaps xmm4, xmm3
movaps xmm1, xmm4
movaps xmm2, xmm1
jmp 0x4fe137
push dword [ebx + 8]
call fcn.00587b50
add esp, 4
mov eax, dword [ebx + 8]
mov edi, dword [eax]
lea esi, [edi*4]
jmp 0x4fdeb6
mov dword [ebp - 0x100], eax
jmp 0x4fdbe6
xor eax, eax
jmp 0x4fd7ac
mov esi, 1
jmp 0x4fb138
push dword [ebx + 8]
call fcn.0058aae0
add esp, 4
mov esi, dword [ebx + 8]
mov eax, dword [0x6c7f10]
shl eax, 2
mov ecx, dword [0x6c52a0]
neg eax
shl ecx, 2
mov edi, dword [esi]
neg ecx
add eax, dword [0x6c7ef0]
add ecx, dword [0x6c5280]
lea esi, [edi*4]
mov edx, dword [eax + esi]
mov dword [ebp - 0x68], edx
cmp dword [ecx + esi], 0
jne 0x4fad51
test byte [0x81ea28], 1
je 0x4fad51
push 0x120
mov dword [ebp - 0x2c8], 0
lea eax, [ebp - 0x250]
push eax
push 0x68520c
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 9
lea edx, [ebp - 0x2c8]
push edx
mov dword [eax + 4], str.Subsystem
call fcn.005b4d50
add esp, 0x18
mov dword [ebp - 0x1b0], edi
lea eax, [ebp - 0x1b0]
push eax
push 0x685214
lea edx, [ebp - 0x2c8]
push edx
call fcn.005b6b00
add esp, 0xc
mov dword [ebp - 0x200], 0x13
lea eax, [ebp - 0x200]
push eax
push 0x68521c
mov dword [eax + 4], str._has_ideal_branches
lea edx, [ebp - 0x2c8]
push edx
call fcn.005b6b00
add esp, 0xc
jmp 0x4fad51
push 0x3b
push str.Possible_error_in_a_user_model__check_Non_standard_messages
push 0x685224
mov eax, 0x685204
push eax
push eax
call fcn.00541c60
add esp, 0x14
push 0x120
mov dword [ebp - 0x2c8], 0
lea eax, [ebp - 0x320]
push eax
push 0x685228
push 0x8384ff00
push 0xffffffffffffffff
mov dword [eax], 0x2f
lea esi, [ebp - 0x2c8]
push esi
mov dword [eax + 4], str.WARNING:_Zero_or_negative_MXINV_by_a_user_model
call fcn.005b4d50
add esp, 0x18
push 0x120
mov dword [ebp - 0x2c8], 0
lea eax, [ebp - 0x2d0]
push eax
push 0x685230
push 0x8384ff00
push 0xffffffffffffffff
push esi
mov dword [eax], 0x1b
mov dword [eax + 4], str.Model_is_used_in_subsystem:
call fcn.005b4d50
add esp, 0x18
mov edi, dword [ebx + 8]
lea eax, [ebp - 0x2a0]
push eax
push 0x685238
mov edi, dword [edi]
push esi
mov dword [eax], edi
call fcn.005b6b00
add esp, 0xc
push 0x120
mov dword [ebp - 0x2c8], 0
lea eax, [ebp - 0x2a8]
push eax
push 0x685240
push 0x8384ff00
push 0xffffffffffffffff
push esi
mov dword [eax], 0x32
mov dword [eax + 4], str.Correct_this_problem_to_increase_simulation_speed_
call fcn.005b4d50
add esp, 0x18
mov eax, dword [0x6c7f10]
lea esi, [edi*4]
shl eax, 2
neg eax
mov edx, dword [0x6c7ef0]
mov dword [ebp - 0x68], 1
lea ecx, [eax + edi*4]
mov dword [edx + ecx], 1
jmp 0x4fad37
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x34c], eax
jmp 0x4fc1ca
mov eax, dword [ebp - 0x308]
mov dword [ebp - 0x354], eax
jmp 0x4fbd7d
mov edx, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xf8]
imul edx, eax
imul ecx, dword [ebp - 0x54]
sub dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], ecx
jmp 0x4ff3cf
mov edx, dword [ebp - 0xfc]
imul edx, eax
imul ecx, dword [ebp - 0x54]
sub dword [ebp - 0xa8], edx
mov dword [ebp - 0xa4], ecx
jmp 0x4ff3cf