Function at 0x96fe50
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9b8
mov eax, dword [0x9f0274]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x94c], 0
push 0x208
push 0
lea eax, [ebp - 0x734]
push eax
call fcn.009afc00
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x734]
push ecx
push 0
call dword [0x9fe810]
test eax, eax
je 0x974391
push 0x208
push 0
lea edx, [ebp - 0x52c]
push edx
call fcn.009afc00
add esp, 0xc
lea eax, [ebp - 0x734]
mov dword [ebp - 0x934], eax
lea ecx, [ebp - 0x52c]
mov dword [ebp - 0x8f8], ecx
mov edx, dword [ebp - 0x8f8]
mov dword [ebp - 0x9b0], edx
mov eax, dword [ebp - 0x934]
mov cx, word [eax]
mov word [ebp - 0x8dc], cx
mov edx, dword [ebp - 0x8f8]
mov ax, word [ebp - 0x8dc]
mov word [edx], ax
mov ecx, dword [ebp - 0x934]
add ecx, 2
mov dword [ebp - 0x934], ecx
mov edx, dword [ebp - 0x8f8]
add edx, 2
mov dword [ebp - 0x8f8], edx
cmp word [ebp - 0x8dc], 0
jne 0x96fedc
push 0x2e
lea eax, [ebp - 0x52c]
push eax
call fcn.009afe97
add esp, 8
mov dword [ebp - 0x928], eax
mov ecx, 2
shl ecx, 1
mov edx, dword [ebp - 0x928]
movzx eax, word [edx + ecx]
cmp eax, 0x78
jne 0x96ff6c
mov ecx, 2
imul edx, ecx, 3
mov eax, dword [ebp - 0x928]
movzx ecx, word [eax + edx]
cmp ecx, 0x65
je 0x97163e
xorps xmm0, xmm0
movsd qword [ebp - 0x8c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8ac], xmm0
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x8fc], 0
mov dword [ebp - 0x8b0], 1
mov dword [ebp - 0x7f4], 0
mov dword [ebp - 0x92c], 0
mov dword [ebp - 0x784], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x7f8], 0
mov dword [ebp - 0x7fc], 0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x7a4], 0
mov dword [ebp - 0x7a8], 0
mov dword [ebp - 0x7ac], 0
mov dword [ebp - 0x7b0], 0
mov dword [ebp - 0x840], 0
mov dword [ebp - 0x844], 0
mov dword [ebp - 0x804], 0
mov dword [ebp - 0x86c], 0
mov byte [ebp - 0x737], 0
mov byte [ebp - 0x738], 0
mov byte [ebp - 0x74a], 0
mov byte [ebp - 0x739], 0
mov byte [ebp - 0x73e], 0
mov byte [ebp - 0x741], 0
mov byte [ebp - 0x78b], 0
mov byte [ebp - 0x749], 0
mov byte [ebp - 0x74b], 0
mov byte [ebp - 0x759], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x8c8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8ac], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x8ac], xmm0
jmp 0x9700c1
movsd xmm0, qword [ebp - 0x8ac]
addsd xmm0, qword [0x9d10b0]
movsd qword [ebp - 0x8ac], xmm0
movsd xmm0, qword [0x9e5da8]
comisd xmm0, xmmword [ebp - 0x8ac]
jbe 0x970172
movsd xmm0, qword [0x9e5b80]
mulsd xmm0, qword [ebp - 0x8ac]
mulsd xmm0, qword [ebp - 0x8ac]
movsd xmm1, qword [ebp - 0x8ac]
mulsd xmm1, qword [ebp - 0x8ac]
subsd xmm0, xmm1
movsd xmm1, qword [0x9d4928]
mulsd xmm1, qword [ebp - 0x8ac]
mulsd xmm1, qword [ebp - 0x8ac]
addsd xmm1, qword [0x9d4b08]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x8c8]
movsd qword [ebp - 0x8c8], xmm0
movsd xmm0, qword [ebp - 0x8c8]
comisd xmm0, xmmword [0x9e5b60]
jbe 0x97016d
movsd xmm0, qword [0x9e5b18]
mulsd xmm0, qword [ebp - 0x8ac]
movsd xmm1, qword [ebp - 0x8c8]
subsd xmm1, xmm0
movsd qword [ebp - 0x8c8], xmm1
jmp 0x9700a9
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x8c8]
jbe 0x9701a8
and esi, dword [ebp + 0x46]
push eax
cmp dword [edi + 0x2b], eax
push 0x4c
push esp
imul ebp, dword [esp + edi + 0x30], 0x4a
inc ebp
daa
bound esp, qword [esi + 0x6b]
dec si
pop esi
dec ebx
push esp
retf 0xc2e3
mov dword [ebp - 0x988], 0x970199
mov dword [ebp - 0x978], 0x97017f
mov edx, dword [ebp - 0x988]
mov dword [ebp - 0x868], edx
mov eax, dword [ebp - 0x978]
mov dword [ebp - 0x97c], eax
mov byte [ebp - 0x78b], 0x1e
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x860], 0
mov dword [ebp - 0x750], 0
jmp 0x97020a
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x750], ecx
cmp dword [ebp - 0x750], 0x100
jae 0x97022b
mov edx, dword [ebp - 0x750]
mov al, byte [ebp - 0x750]
mov byte [ebp + edx - 0x224], al
jmp 0x9701fb
mov dword [ebp - 0x860], 0
mov byte [ebp - 0x741], 0
mov dword [ebp - 0x750], 0xff
jmp 0x970257
mov ecx, dword [ebp - 0x750]
sub ecx, 1
mov dword [ebp - 0x750], ecx
cmp dword [ebp - 0x750], 0
jbe 0x9704d1
mov dword [ebp - 0x8fc], 0
mov dword [ebp - 0x8b0], 1
mov dword [ebp - 0x7f4], 0
mov edx, dword [ebp - 0x8b0]
cmp edx, dword [ebp - 0x750]
jae 0x9702a2
mov eax, dword [ebp - 0x8b0]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x8b0], ecx
jmp 0x970282
mov edx, dword [ebp - 0x860]
mov dword [ebp - 0x970], edx
cmp dword [ebp - 0x970], 3
ja case.default.0x9702c1
mov eax, dword [ebp - 0x970]
jmp dword [eax*4 + 0x9743a8]
movzx ecx, byte [ebp - 0x741]
movzx ebx, byte [ebp + ecx - 0x224]
movsd xmm0, qword [ebp - 0x8c8]
call fcn.009aeb80
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x741], bl
jmp 0x9703aa
movzx edx, byte [ebp - 0x741]
movzx ebx, byte [ebp + edx - 0x224]
movsd xmm0, qword [ebp - 0x8c8]
call fcn.009aeb80
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x741], bl
jmp 0x9703aa
movzx eax, byte [ebp - 0x741]
movzx ebx, byte [ebp + eax - 0x224]
movsd xmm0, qword [ebp - 0x8c8]
call fcn.009aeb80
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x741], bl
jmp 0x9703aa
movzx ecx, byte [ebp - 0x741]
movzx ebx, byte [ebp + ecx - 0x224]
movsd xmm0, qword [ebp - 0x8c8]
call fcn.009aeb80
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x741], bl
jmp 0x9703aa
movzx edx, byte [ebp - 0x741]
movzx eax, byte [ebp + edx - 0x224]
mov ecx, dword [ebp - 0x97c]
add ecx, dword [ebp - 0x860]
movzx edx, byte [ecx - 4]
add eax, edx
mov byte [ebp - 0x741], al
mov eax, dword [ebp - 0x860]
add eax, 1
mov dword [ebp - 0x860], eax
movzx ecx, byte [ebp - 0x78b]
cmp dword [ebp - 0x860], ecx
jb 0x9703e8
mov dword [ebp - 0x860], 0
movzx edx, byte [ebp - 0x78b]
movzx eax, byte [ebp - 0x741]
add eax, edx
mov byte [ebp - 0x741], al
movzx ecx, byte [ebp - 0x741]
and ecx, dword [ebp - 0x8b0]
mov dword [ebp - 0x7f4], ecx
mov edx, dword [ebp - 0x8fc]
add edx, 1
mov dword [ebp - 0x8fc], edx
cmp dword [ebp - 0x8fc], 0xb
jbe 0x970427
mov eax, dword [ebp - 0x7f4]
xor edx, edx
div dword [ebp - 0x750]
mov dword [ebp - 0x7f4], edx
mov eax, dword [ebp - 0x7f4]
cmp eax, dword [ebp - 0x750]
ja 0x9702a2
mov ecx, dword [ebp - 0x750]
cmp ecx, dword [ebp - 0x7f4]
je 0x9704cc
mov edx, dword [ebp - 0x7f4]
movzx eax, byte [ebp + edx - 0x224]
mov ecx, dword [ebp - 0x750]
movzx edx, byte [ebp + ecx - 0x224]
xor edx, eax
mov eax, dword [ebp - 0x750]
mov byte [ebp + eax - 0x224], dl
mov ecx, dword [ebp - 0x750]
movzx edx, byte [ebp + ecx - 0x224]
mov eax, dword [ebp - 0x7f4]
movzx ecx, byte [ebp + eax - 0x224]
xor ecx, edx
mov edx, dword [ebp - 0x7f4]
mov byte [ebp + edx - 0x224], cl
mov eax, dword [ebp - 0x7f4]
movzx ecx, byte [ebp + eax - 0x224]
mov edx, dword [ebp - 0x750]
movzx eax, byte [ebp + edx - 0x224]
xor eax, ecx
mov ecx, dword [ebp - 0x750]
mov byte [ebp + ecx - 0x224], al
jmp 0x970248
mov edx, 1
shl edx, 0
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x737], al
mov ecx, 1
imul edx, ecx, 3
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x738], al
mov ecx, 1
imul edx, ecx, 5
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x74a], al
mov ecx, 1
imul edx, ecx, 7
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x739], al
movzx ecx, byte [ebp - 0x741]
mov dl, byte [ebp + ecx - 0x224]
mov byte [ebp - 0x73e], dl
mov dword [ebp - 0x92c], 0xa
cmp dword [ebp - 0x92c], 2
jle 0x9714a9
mov eax, dword [ebp - 0x92c]
and eax, 1
jne 0x9714a9
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x784], 0
mov ecx, dword [ebp - 0x784]
add ecx, 1
mov dword [ebp - 0x784], ecx
mov dword [ebp - 0x838], 0
mov edx, dword [ebp - 0x750]
shl edx, 1
mov dword [ebp - 0x838], edx
mov dword [ebp - 0x7f8], 0
mov eax, dword [ebp - 0x868]
add eax, dword [ebp - 0x838]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x7f8]
mov dword [ebp - 0x7f8], ecx
mov dword [ebp - 0x7fc], 0
mov edx, dword [ebp - 0x7fc]
add edx, 0xbf
mov dword [ebp - 0x7fc], edx
mov dword [ebp - 0x83c], 0
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x83c], ecx
mov dword [ebp - 0x7a4], 0
mov edx, dword [ebp - 0x868]
add edx, dword [ebp - 0x83c]
movzx eax, byte [edx]
add eax, dword [ebp - 0x7a4]
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x7a8], 0
mov ecx, dword [ebp - 0x7a8]
add ecx, 0xda
mov dword [ebp - 0x7a8], ecx
mov dword [ebp - 0x7ac], 0
mov edx, dword [ebp - 0x7f8]
sub edx, dword [ebp - 0x7fc]
add edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7ac], edx
mov dword [ebp - 0x7b0], 0
mov eax, dword [ebp - 0x7a4]
sub eax, dword [ebp - 0x7a8]
add eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x7b0], eax
mov dword [ebp - 0x840], 0
mov ecx, dword [ebp - 0x7ac]
shl ecx, 4
mov dword [ebp - 0x840], ecx
mov dword [ebp - 0x844], 0
mov edx, dword [ebp - 0x7b0]
mov dword [ebp - 0x844], edx
mov dword [ebp - 0x804], 0
mov eax, dword [ebp - 0x840]
or eax, dword [ebp - 0x844]
mov dword [ebp - 0x804], eax
mov byte [ebp - 0x749], 0
mov cl, byte [ebp - 0x804]
mov byte [ebp - 0x749], cl
mov byte [ebp - 0x74b], 0
movzx edx, byte [ebp - 0x73e]
mov al, byte [ebp + edx - 0x224]
mov byte [ebp - 0x74b], al
movzx ecx, byte [ebp - 0x737]
movzx edx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp - 0x738]
add eax, edx
mov byte [ebp - 0x738], al
mov cl, byte [ebp - 0x737]
add cl, 1
mov byte [ebp - 0x737], cl
movzx edx, byte [ebp - 0x738]
movzx eax, byte [ebp - 0x73e]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x739]
movzx eax, byte [ebp - 0x738]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x737]
movzx eax, byte [ebp - 0x739]
mov cl, byte [ebp + edx - 0x224]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x737]
mov al, byte [ebp - 0x74b]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x74b]
movzx edx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp - 0x74a]
add eax, edx
mov byte [ebp - 0x74a], al
movzx ecx, byte [ebp - 0x749]
movzx edx, byte [ebp - 0x738]
movzx eax, byte [ebp + edx - 0x224]
movzx edx, byte [ebp - 0x737]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x224]
xor ecx, eax
movzx edx, byte [ebp - 0x739]
movzx eax, byte [ebp + edx - 0x224]
movzx edx, byte [ebp - 0x73e]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
movzx edx, byte [ebp - 0x74a]
movzx edx, byte [ebp + edx - 0x224]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x224]
movzx edx, byte [ebp + eax - 0x224]
xor ecx, edx
mov byte [ebp - 0x739], cl
mov al, byte [ebp - 0x749]
mov byte [ebp - 0x73e], al
mov cl, byte [ebp - 0x739]
mov byte [ebp - 0x759], cl
cmp dword [ebp - 0x750], 0
jbe 0x97085e
movsx dx, byte [ebp - 0x759]
mov eax, dword [ebp - 0x750]
mov word [ebp + eax*2 - 0x1a], dx
mov ecx, dword [ebp - 0x784]
add ecx, 1
mov dword [ebp - 0x784], ecx
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x86c], edx
jmp 0x97088d
mov eax, dword [ebp - 0x86c]
add eax, 1
mov dword [ebp - 0x86c], eax
mov ecx, dword [ebp - 0x86c]
cmp ecx, dword [ebp - 0x784]
jge 0x970f78
movss xmm0, dword [0x9e5ef0]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [0x9e5eb4]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [0x9e5e38]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x764]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x764]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x764]
subss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x764]
comiss xmm0, dword [ebp - 0x76c]
jbe 0x970984
movss xmm0, dword [ebp - 0x76c]
mulss xmm0, dword [ebp - 0x764]
movss dword [ebp - 0x76c], xmm0
mov edx, dword [ebp - 0x750]
add edx, 1
mov dword [ebp - 0x750], edx
movss xmm0, dword [ebp - 0x764]
subss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x76c]
mulss xmm0, dword [ebp - 0x764]
movss dword [ebp - 0x76c], xmm0
jmp 0x970ab7
movss xmm0, dword [ebp - 0x76c]
divss xmm0, dword [ebp - 0x764]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x764]
subss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x764]
divss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x76c]
mulss xmm0, dword [ebp - 0x794]
movss dword [ebp - 0x76c], xmm0
movss xmm0, dword [ebp - 0x794]
divss xmm0, dword [ebp - 0x764]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [ebp - 0x764]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x76c]
comiss xmm0, dword [ebp - 0x794]
jbe 0x970a6f
movss xmm0, dword [ebp - 0x794]
subss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [ebp - 0x794]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x794], xmm0
movss xmm0, dword [ebp - 0x794]
addss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x794], xmm0
jmp 0x970ab7
movss xmm0, dword [ebp - 0x764]
divss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x764]
divss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x764], xmm0
movss xmm0, dword [ebp - 0x764]
subss xmm0, dword [ebp - 0x76c]
movss dword [ebp - 0x764], xmm0
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x868]
add ecx, dword [ebp - 0x838]
movzx edx, byte [ecx]
mov dword [ebp - 0x7f8], edx
mov dword [ebp - 0x7fc], 0xbf
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x868]
add edx, dword [ebp - 0x83c]
movzx eax, byte [edx]
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x7a8], 0xda
mov ecx, dword [ebp - 0x7f8]
sub ecx, dword [ebp - 0x7fc]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7a4]
sub edx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x7ac]
shl eax, 4
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x7b0]
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x840]
or edx, dword [ebp - 0x844]
mov dword [ebp - 0x804], edx
mov al, byte [ebp - 0x804]
mov byte [ebp - 0x749], al
movzx ecx, byte [ebp - 0x73e]
mov dl, byte [ebp + ecx - 0x224]
mov byte [ebp - 0x74b], dl
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x738]
add edx, ecx
mov byte [ebp - 0x738], dl
mov al, byte [ebp - 0x737]
add al, 1
mov byte [ebp - 0x737], al
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp - 0x73e]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp - 0x738]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x737]
movzx edx, byte [ebp - 0x739]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movsd xmm0, qword [0x9e5d58]
movsd qword [ebp - 0x994], xmm0
movsd xmm0, qword [0x9e5d20]
movsd qword [ebp - 0x8e4], xmm0
movsd xmm0, qword [0x9e5ce0]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [0x9e5ca0]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [0x9e5c60]
movsd qword [ebp - 0x948], xmm0
movsd xmm0, qword [0x9e5c28]
movsd qword [ebp - 0x8f4], xmm0
movsd xmm0, qword [0x9e5bc8]
movsd qword [ebp - 0x878], xmm0
movsd xmm0, qword [ebp - 0x8e4]
subsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x8e4], xmm0
movsd xmm0, qword [ebp - 0x8a4]
addsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [ebp - 0x8ec]
subsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [ebp - 0x8ec]
subsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [ebp - 0x8f4]
mulsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x8f4], xmm0
movsd xmm0, qword [ebp - 0x8a4]
mulsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [ebp - 0x8ec]
subsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [ebp - 0x8a4]
comisd xmm0, xmmword [ebp - 0x878]
jbe 0x970df3
movsd xmm0, qword [ebp - 0x948]
subsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x948], xmm0
movsd xmm0, qword [ebp - 0x8e4]
mulsd xmm0, qword [ebp - 0x8a4]
movsd qword [ebp - 0x8e4], xmm0
movsd xmm0, qword [ebp - 0x878]
addsd xmm0, qword [ebp - 0x8e4]
movsd qword [ebp - 0x878], xmm0
movsd xmm0, qword [ebp - 0x8f4]
mulsd xmm0, qword [ebp - 0x994]
movsd qword [ebp - 0x8f4], xmm0
movsd xmm0, qword [ebp - 0x878]
addsd xmm0, qword [ebp - 0x8e4]
movsd qword [ebp - 0x878], xmm0
movsd xmm0, qword [ebp - 0x8e4]
subsd xmm0, qword [ebp - 0x8a4]
movsd qword [ebp - 0x8e4], xmm0
movzx ecx, byte [ebp - 0x737]
mov dl, byte [ebp - 0x74b]
mov byte [ebp + ecx - 0x224], dl
movsd xmm0, qword [ebp - 0x8ec]
addsd xmm0, qword [ebp - 0x948]
movsd qword [ebp - 0x8ec], xmm0
jmp 0x970e9b
movsd xmm0, qword [ebp - 0x8a4]
divsd xmm0, qword [ebp - 0x8f4]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [ebp - 0x8f4]
subsd xmm0, qword [ebp - 0x994]
movsd qword [ebp - 0x8f4], xmm0
movsd xmm0, qword [ebp - 0x8e4]
subsd xmm0, qword [ebp - 0x8a4]
movsd qword [ebp - 0x8e4], xmm0
movsd xmm0, qword [ebp - 0x8ec]
mulsd xmm0, qword [ebp - 0x948]
movsd qword [ebp - 0x8ec], xmm0
movsd xmm0, qword [ebp - 0x948]
mulsd xmm0, qword [ebp - 0x878]
movsd qword [ebp - 0x948], xmm0
movsd xmm0, qword [ebp - 0x8a4]
addsd xmm0, qword [ebp - 0x8f4]
movsd qword [ebp - 0x8a4], xmm0
movsd xmm0, qword [ebp - 0x8f4]
addsd xmm0, qword [ebp - 0x994]
movsd qword [ebp - 0x8f4], xmm0
movzx eax, byte [ebp - 0x74b]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x74a]
add edx, ecx
mov byte [ebp - 0x74a], dl
movzx eax, byte [ebp - 0x749]
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x737]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
xor eax, edx
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x73e]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
movzx ecx, byte [ebp - 0x74a]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp + edx - 0x224]
xor eax, ecx
mov byte [ebp - 0x739], al
mov dl, byte [ebp - 0x749]
mov byte [ebp - 0x73e], dl
mov al, byte [ebp - 0x739]
mov byte [ebp - 0x759], al
cmp dword [ebp - 0x750], 0
jbe 0x970f73
movsx cx, byte [ebp - 0x759]
mov edx, dword [ebp - 0x750]
mov word [ebp + edx*2 - 0x1a], cx
jmp 0x97087e
mov eax, dword [ebp - 0x784]
add eax, 1
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x784]
add edx, 1
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x750]
shl eax, 1
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x868]
add ecx, dword [ebp - 0x838]
movzx edx, byte [ecx]
mov dword [ebp - 0x7f8], edx
mov dword [ebp - 0x7fc], 0xbf
mov eax, dword [ebp - 0x750]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x868]
add edx, dword [ebp - 0x83c]
movzx eax, byte [edx]
mov dword [ebp - 0x7a4], eax
mov dword [ebp - 0x7a8], 0xda
mov ecx, dword [ebp - 0x7f8]
sub ecx, dword [ebp - 0x7fc]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7a4]
sub edx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x7ac]
shl eax, 4
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x7b0]
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x840]
or edx, dword [ebp - 0x844]
mov dword [ebp - 0x804], edx
mov al, byte [ebp - 0x804]
mov byte [ebp - 0x749], al
movzx ecx, byte [ebp - 0x73e]
mov dl, byte [ebp + ecx - 0x224]
mov byte [ebp - 0x74b], dl
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x738]
add edx, ecx
mov byte [ebp - 0x738], dl
mov al, byte [ebp - 0x737]
add al, 1
mov byte [ebp - 0x737], al
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp - 0x73e]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp - 0x738]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x737]
movzx edx, byte [ebp - 0x739]
mov al, byte [ebp + ecx - 0x224]
mov byte [ebp + edx - 0x224], al
movzx ecx, byte [ebp - 0x737]
mov dl, byte [ebp - 0x74b]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x74b]
movzx ecx, byte [ebp + eax - 0x224]
movzx edx, byte [ebp - 0x74a]
add edx, ecx
mov byte [ebp - 0x74a], dl
movzx eax, byte [ebp - 0x749]
movzx ecx, byte [ebp - 0x738]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x737]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
xor eax, edx
movzx ecx, byte [ebp - 0x739]
movzx edx, byte [ebp + ecx - 0x224]
movzx ecx, byte [ebp - 0x73e]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
movzx ecx, byte [ebp - 0x74a]
movzx ecx, byte [ebp + ecx - 0x224]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp + edx - 0x224]
xor eax, ecx
mov byte [ebp - 0x739], al
mov dl, byte [ebp - 0x749]
mov byte [ebp - 0x73e], dl
mov al, byte [ebp - 0x739]
mov byte [ebp - 0x759], al
cmp dword [ebp - 0x750], 0
jbe 0x9711de
movsx cx, byte [ebp - 0x759]
mov edx, dword [ebp - 0x750]
mov word [ebp + edx*2 - 0x1a], cx
mov eax, dword [ebp - 0x784]
add eax, 2
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x86c], ecx
jmp 0x97120d
mov edx, dword [ebp - 0x86c]
add edx, 1
mov dword [ebp - 0x86c], edx
mov eax, dword [ebp - 0x86c]
cmp eax, dword [ebp - 0x784]
jge 0x97146d
mov ecx, dword [ebp - 0x750]
add ecx, 1
mov dword [ebp - 0x750], ecx
mov edx, dword [ebp - 0x750]
shl edx, 1
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x868]
add eax, dword [ebp - 0x838]
movzx ecx, byte [eax]
mov dword [ebp - 0x7f8], ecx
mov dword [ebp - 0x7fc], 0xbf
mov edx, dword [ebp - 0x750]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x868]
add ecx, dword [ebp - 0x83c]
movzx edx, byte [ecx]
mov dword [ebp - 0x7a4], edx
mov dword [ebp - 0x7a8], 0xda
mov eax, dword [ebp - 0x7f8]
sub eax, dword [ebp - 0x7fc]
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7a4]
sub ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7b0], ecx
mov edx, dword [ebp - 0x7ac]
shl edx, 4
mov dword [ebp - 0x840], edx
mov eax, dword [ebp - 0x7b0]
mov dword [ebp - 0x844], eax
mov ecx, dword [ebp - 0x840]
or ecx, dword [ebp - 0x844]
mov dword [ebp - 0x804], ecx
mov dl, byte [ebp - 0x804]
mov byte [ebp - 0x749], dl
movzx eax, byte [ebp - 0x73e]
mov cl, byte [ebp + eax - 0x224]
mov byte [ebp - 0x74b], cl
movzx edx, byte [ebp - 0x737]
movzx eax, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp - 0x738]
add ecx, eax
mov byte [ebp - 0x738], cl
mov dl, byte [ebp - 0x737]
add dl, 1
mov byte [ebp - 0x737], dl
movzx eax, byte [ebp - 0x738]
movzx ecx, byte [ebp - 0x73e]
mov dl, byte [ebp + eax - 0x224]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x739]
movzx ecx, byte [ebp - 0x738]
mov dl, byte [ebp + eax - 0x224]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x737]
movzx ecx, byte [ebp - 0x739]
mov dl, byte [ebp + eax - 0x224]
mov byte [ebp + ecx - 0x224], dl
movzx eax, byte [ebp - 0x737]
mov cl, byte [ebp - 0x74b]
mov byte [ebp + eax - 0x224], cl
movzx edx, byte [ebp - 0x74b]
movzx eax, byte [ebp + edx - 0x224]
movzx ecx, byte [ebp - 0x74a]
add ecx, eax
mov byte [ebp - 0x74a], cl
movzx edx, byte [ebp - 0x749]
movzx eax, byte [ebp - 0x738]
movzx ecx, byte [ebp + eax - 0x224]
movzx eax, byte [ebp - 0x737]
movzx eax, byte [ebp + eax - 0x224]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x224]
xor edx, ecx
movzx eax, byte [ebp - 0x739]
movzx ecx, byte [ebp + eax - 0x224]
movzx eax, byte [ebp - 0x73e]
movzx eax, byte [ebp + eax - 0x224]
add ecx, eax
movzx eax, byte [ebp - 0x74a]
movzx eax, byte [ebp + eax - 0x224]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x224]
movzx eax, byte [ebp + ecx - 0x224]
xor edx, eax
mov byte [ebp - 0x739], dl
mov cl, byte [ebp - 0x749]
mov byte [ebp - 0x73e], cl
mov dl, byte [ebp - 0x739]
mov byte [ebp - 0x759], dl
cmp dword [ebp - 0x750], 0
jbe 0x971468
movsx ax, byte [ebp - 0x759]
mov ecx, dword [ebp - 0x750]
mov word [ebp + ecx*2 - 0x1a], ax
jmp 0x9711fe
mov edx, dword [ebp - 0x784]
add edx, 1
mov dword [ebp - 0x784], edx
mov eax, 2
shl eax, 2
mov dword [ebp - 0x96c], eax
cmp dword [ebp - 0x96c], 0xa
jae 0x971495
jmp 0x97149a
call fcn.009aea97
xor ecx, ecx
mov edx, dword [ebp - 0x96c]
mov word [ebp + edx - 0x18], cx
jmp 0x9714fa
mov dword [ebp - 0x750], 0
jmp 0x9714c4
mov eax, dword [ebp - 0x750]
add eax, 1
mov dword [ebp - 0x750], eax
cmp dword [ebp - 0x750], 5
jae 0x9714fa
mov ecx, dword [ebp - 0x750]
shl ecx, 1
mov dword [ebp - 0x968], ecx
cmp dword [ebp - 0x968], 0xa
jae 0x9714e6
jmp 0x9714eb
call fcn.009aea97
xor edx, edx
mov eax, dword [ebp - 0x968]
mov word [ebp + eax - 0x18], dx
jmp 0x9714b5
xor ecx, ecx
mov edx, dword [ebp - 0x928]
mov word [edx], cx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x8b4], eax
mov ecx, dword [ebp - 0x8b4]
mov dword [ebp - 0x964], ecx
mov edx, dword [ebp - 0x8b4]
mov ax, word [edx]
mov word [ebp - 0x93e], ax
add dword [ebp - 0x8b4], 2
cmp word [ebp - 0x93e], 0
jne 0x97151a
mov ecx, dword [ebp - 0x8b4]
sub ecx, dword [ebp - 0x964]
mov edx, dword [ebp - 0x964]
mov dword [ebp - 0x980], edx
mov dword [ebp - 0x984], ecx
lea eax, [ebp - 0x52c]
add eax, 0xfffffffe
mov dword [ebp - 0x900], eax
mov ecx, dword [ebp - 0x900]
mov dx, word [ecx + 2]
mov word [ebp - 0x92e], dx
add dword [ebp - 0x900], 2
cmp word [ebp - 0x92e], 0
jne 0x971568
mov edi, dword [ebp - 0x900]
mov esi, dword [ebp - 0x980]
mov eax, dword [ebp - 0x984]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x52c]
push ecx
lea edx, [ebp - 0x734]
push edx
call fcn.009b521b
add esp, 8
push 0x400
push 0
push 0x9fc5a0
call fcn.009afc00
add esp, 0xc
lea eax, [ebp - 0x52c]
mov dword [ebp - 0x924], eax
mov dword [ebp - 0x904], 0x9fc5a0
mov ecx, dword [ebp - 0x904]
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x924]
mov ax, word [edx]
mov word [ebp - 0x8da], ax
mov ecx, dword [ebp - 0x904]
mov dx, word [ebp - 0x8da]
mov word [ecx], dx
mov eax, dword [ebp - 0x924]
add eax, 2
mov dword [ebp - 0x924], eax
mov ecx, dword [ebp - 0x904]
add ecx, 2
mov dword [ebp - 0x904], ecx
cmp word [ebp - 0x8da], 0
jne 0x9715f6
lea edx, [ebp - 0x9b8]
push edx
push 0
push 0
push 0x9743e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xorps xmm0, xmm0
movsd qword [ebp - 0x8d0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x89c], xmm0
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x908], 0
mov dword [ebp - 0x8b8], 1
mov dword [ebp - 0x7d8], 0
mov dword [ebp - 0x938], 0
mov dword [ebp - 0x788], 0
mov dword [ebp - 0x808], 0
mov dword [ebp - 0x7b8], 0
mov dword [ebp - 0x7bc], 0
mov dword [ebp - 0x80c], 0
mov dword [ebp - 0x7c0], 0
mov dword [ebp - 0x7c4], 0
mov dword [ebp - 0x7c8], 0
mov dword [ebp - 0x7cc], 0
mov dword [ebp - 0x810], 0
mov dword [ebp - 0x814], 0
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x84c], 0
mov byte [ebp - 0x735], 0
mov byte [ebp - 0x73a], 0
mov byte [ebp - 0x747], 0
mov byte [ebp - 0x73b], 0
mov byte [ebp - 0x73f], 0
mov byte [ebp - 0x743], 0
mov byte [ebp - 0x78a], 0
mov byte [ebp - 0x74c], 0
mov byte [ebp - 0x748], 0
mov byte [ebp - 0x75a], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x8d0], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x89c], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x89c], xmm0
jmp 0x9717ad
movsd xmm0, qword [ebp - 0x89c]
addsd xmm0, qword [0x9d10b0]
movsd qword [ebp - 0x89c], xmm0
movsd xmm0, qword [0x9e5d98]
comisd xmm0, xmmword [ebp - 0x89c]
jbe 0x97185e
movsd xmm0, qword [0x9e5b98]
mulsd xmm0, qword [ebp - 0x89c]
mulsd xmm0, qword [ebp - 0x89c]
movsd xmm1, qword [ebp - 0x89c]
mulsd xmm1, qword [ebp - 0x89c]
subsd xmm0, xmm1
movsd xmm1, qword [0x9d4880]
mulsd xmm1, qword [ebp - 0x89c]
mulsd xmm1, qword [ebp - 0x89c]
addsd xmm1, qword [0x9e5b30]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x8d0]
movsd qword [ebp - 0x8d0], xmm0
movsd xmm0, qword [ebp - 0x8d0]
comisd xmm0, xmmword [0x9e5b40]
jbe 0x971859
movsd xmm0, qword [0x9e5b28]
mulsd xmm0, qword [ebp - 0x89c]
movsd xmm1, qword [ebp - 0x8d0]
subsd xmm1, xmm0
movsd qword [ebp - 0x8d0], xmm1
jmp 0x971795
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x8d0]
jbe 0x971898
dec ebx
dec esi
dec edi
and byte [edx + 0x58], dl
jo 0x9718b4
pop ecx
jp 0x9718ee
cmp al, 0x29
and byte [edx], ah
outsd dx, dword [esi]
push eax
imul ecx, dword [ecx + 0x33], 0x7a
push edi
xor eax, 0x3e704568
invalid
mov dword [ebp - 0x98c], 0x971887
mov dword [ebp - 0x998], 0x97186b
mov eax, dword [ebp - 0x98c]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x998]
mov dword [ebp - 0x99c], ecx
mov byte [ebp - 0x78a], 0x20
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x754], 0
jmp 0x9718fa
mov al, 0xf7
invalid
mov edx, dword [ebp - 0x754]
add edx, 1
mov dword [ebp - 0x754], edx
clc
invalid
cmp dword [ebp - 0x754], 0x100
jae 0x97191b
mov eax, dword [ebp - 0x754]
mov cl, byte [ebp - 0x754]
mov byte [ebp + eax - 0x324], cl
jmp 0x9718eb
mov dword [ebp - 0x864], 0
mov byte [ebp - 0x743], 0
mov dword [ebp - 0x754], 0xff
jmp 0x971947
mov edx, dword [ebp - 0x754]
sub edx, 1
mov dword [ebp - 0x754], edx
cmp dword [ebp - 0x754], 0
jbe 0x971bc1
mov dword [ebp - 0x908], 0
mov dword [ebp - 0x8b8], 1
mov dword [ebp - 0x7d8], 0
mov eax, dword [ebp - 0x8b8]
cmp eax, dword [ebp - 0x754]
jae 0x971992
mov ecx, dword [ebp - 0x8b8]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x8b8], edx
jmp 0x971972
mov eax, dword [ebp - 0x864]
mov dword [ebp - 0x960], eax
cmp dword [ebp - 0x960], 3
ja case.default.0x9719b1
mov ecx, dword [ebp - 0x960]
jmp dword [ecx*4 + 0x9743b8]
movzx edx, byte [ebp - 0x743]
movzx ebx, byte [ebp + edx - 0x324]
movsd xmm0, qword [ebp - 0x8d0]
call fcn.009aeb80
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x743], bl
jmp 0x971a9a
movzx eax, byte [ebp - 0x743]
movzx ebx, byte [ebp + eax - 0x324]
movsd xmm0, qword [ebp - 0x8d0]
call fcn.009aeb80
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x743], bl
jmp 0x971a9a
movzx ecx, byte [ebp - 0x743]
movzx ebx, byte [ebp + ecx - 0x324]
movsd xmm0, qword [ebp - 0x8d0]
call fcn.009aeb80
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x743], bl
jmp 0x971a9a
movzx edx, byte [ebp - 0x743]
movzx ebx, byte [ebp + edx - 0x324]
movsd xmm0, qword [ebp - 0x8d0]
call fcn.009aeb80
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x743], bl
jmp 0x971a9a
movzx eax, byte [ebp - 0x743]
movzx ecx, byte [ebp + eax - 0x324]
mov edx, dword [ebp - 0x99c]
add edx, dword [ebp - 0x864]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x743], cl
mov ecx, dword [ebp - 0x864]
add ecx, 1
mov dword [ebp - 0x864], ecx
movzx edx, byte [ebp - 0x78a]
cmp dword [ebp - 0x864], edx
jb 0x971ad8
mov dword [ebp - 0x864], 0
movzx eax, byte [ebp - 0x78a]
movzx ecx, byte [ebp - 0x743]
add ecx, eax
mov byte [ebp - 0x743], cl
movzx edx, byte [ebp - 0x743]
and edx, dword [ebp - 0x8b8]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x908]
add eax, 1
mov dword [ebp - 0x908], eax
cmp dword [ebp - 0x908], 0xb
jbe 0x971b17
mov eax, dword [ebp - 0x7d8]
xor edx, edx
div dword [ebp - 0x754]
mov dword [ebp - 0x7d8], edx
mov ecx, dword [ebp - 0x7d8]
cmp ecx, dword [ebp - 0x754]
ja 0x971992
mov edx, dword [ebp - 0x754]
cmp edx, dword [ebp - 0x7d8]
je 0x971bbc
mov eax, dword [ebp - 0x7d8]
movzx ecx, byte [ebp + eax - 0x324]
mov edx, dword [ebp - 0x754]
movzx eax, byte [ebp + edx - 0x324]
xor eax, ecx
mov ecx, dword [ebp - 0x754]
mov byte [ebp + ecx - 0x324], al
mov edx, dword [ebp - 0x754]
movzx eax, byte [ebp + edx - 0x324]
mov ecx, dword [ebp - 0x7d8]
movzx edx, byte [ebp + ecx - 0x324]
xor edx, eax
mov eax, dword [ebp - 0x7d8]
mov byte [ebp + eax - 0x324], dl
mov ecx, dword [ebp - 0x7d8]
movzx edx, byte [ebp + ecx - 0x324]
mov eax, dword [ebp - 0x754]
movzx ecx, byte [ebp + eax - 0x324]
xor ecx, edx
mov edx, dword [ebp - 0x754]
mov byte [ebp + edx - 0x324], cl
jmp 0x971938
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x735], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x73a], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x747], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x73b], cl
movzx edx, byte [ebp - 0x743]
mov al, byte [ebp + edx - 0x324]
mov byte [ebp - 0x73f], al
mov dword [ebp - 0x938], 0xc
cmp dword [ebp - 0x938], 2
jle 0x972f39
mov ecx, dword [ebp - 0x938]
and ecx, 1
jne 0x972f39
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x788], 0
mov edx, dword [ebp - 0x788]
add edx, 1
mov dword [ebp - 0x788], edx
mov dword [ebp - 0x808], 0
mov eax, dword [ebp - 0x754]
shl eax, 1
mov dword [ebp - 0x808], eax
mov dword [ebp - 0x7b8], 0
mov ecx, dword [ebp - 0x850]
add ecx, dword [ebp - 0x808]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x7b8]
mov dword [ebp - 0x7b8], edx
mov dword [ebp - 0x7bc], 0
mov eax, dword [ebp - 0x7bc]
add eax, 0xd6
mov dword [ebp - 0x7bc], eax
mov dword [ebp - 0x80c], 0
mov ecx, dword [ebp - 0x754]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x80c], edx
mov dword [ebp - 0x7c0], 0
mov eax, dword [ebp - 0x850]
add eax, dword [ebp - 0x80c]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x7c0]
mov dword [ebp - 0x7c0], ecx
mov dword [ebp - 0x7c4], 0
mov edx, dword [ebp - 0x7c4]
add edx, 0x1c
mov dword [ebp - 0x7c4], edx
mov dword [ebp - 0x7c8], 0
mov eax, dword [ebp - 0x7b8]
sub eax, dword [ebp - 0x7bc]
add eax, dword [ebp - 0x7c8]
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x7cc], 0
mov ecx, dword [ebp - 0x7c0]
sub ecx, dword [ebp - 0x7c4]
add ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x7cc], ecx
mov dword [ebp - 0x810], 0
mov edx, dword [ebp - 0x7c8]
shl edx, 4
mov dword [ebp - 0x810], edx
mov dword [ebp - 0x814], 0
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x814], eax
mov dword [ebp - 0x818], 0
mov ecx, dword [ebp - 0x810]
or ecx, dword [ebp - 0x814]
mov dword [ebp - 0x818], ecx
mov byte [ebp - 0x74c], 0
mov dl, byte [ebp - 0x818]
mov byte [ebp - 0x74c], dl
mov byte [ebp - 0x748], 0
movzx eax, byte [ebp - 0x73f]
mov cl, byte [ebp + eax - 0x324]
mov byte [ebp - 0x748], cl
movzx edx, byte [ebp - 0x735]
movzx eax, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp - 0x73a]
add ecx, eax
mov byte [ebp - 0x73a], cl
mov dl, byte [ebp - 0x735]
add dl, 1
mov byte [ebp - 0x735], dl
movzx eax, byte [ebp - 0x73a]
movzx ecx, byte [ebp - 0x73f]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x73b]
movzx ecx, byte [ebp - 0x73a]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x735]
movzx ecx, byte [ebp - 0x73b]
mov dl, byte [ebp + eax - 0x324]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x735]
mov cl, byte [ebp - 0x748]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x748]
movzx eax, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp - 0x747]
add ecx, eax
mov byte [ebp - 0x747], cl
movzx edx, byte [ebp - 0x74c]
movzx eax, byte [ebp - 0x73a]
movzx ecx, byte [ebp + eax - 0x324]
movzx eax, byte [ebp - 0x735]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x324]
xor edx, ecx
movzx eax, byte [ebp - 0x73b]
movzx ecx, byte [ebp + eax - 0x324]
movzx eax, byte [ebp - 0x73f]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
movzx eax, byte [ebp - 0x747]
movzx eax, byte [ebp + eax - 0x324]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp + ecx - 0x324]
xor edx, eax
mov byte [ebp - 0x73b], dl
mov cl, byte [ebp - 0x74c]
mov byte [ebp - 0x73f], cl
mov dl, byte [ebp - 0x73b]
mov byte [ebp - 0x75a], dl
cmp dword [ebp - 0x754], 0
jbe 0x971f4c
movsx ax, byte [ebp - 0x75a]
mov ecx, dword [ebp - 0x754]
mov word [ebp + ecx*2 - 0x26], ax
mov edx, dword [ebp - 0x788]
add edx, 2
mov dword [ebp - 0x788], edx
mov eax, dword [ebp - 0x754]
add eax, 1
mov dword [ebp - 0x84c], eax
jmp 0x971f7b
mov ecx, dword [ebp - 0x84c]
add ecx, 1
mov dword [ebp - 0x84c], ecx
mov edx, dword [ebp - 0x84c]
cmp edx, dword [ebp - 0x788]
jge 0x97266d
mov eax, dword [ebp - 0x754]
add eax, 1
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x754]
shl ecx, 1
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x850]
add edx, dword [ebp - 0x808]
movzx eax, byte [edx]
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7bc], 0xd6
mov ecx, dword [ebp - 0x754]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x80c], edx
mov eax, dword [ebp - 0x850]
add eax, dword [ebp - 0x80c]
movzx ecx, byte [eax]
mov dword [ebp - 0x7c0], ecx
mov dword [ebp - 0x7c4], 0x1c
mov edx, dword [ebp - 0x7b8]
sub edx, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c0]
sub eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7c8]
shl ecx, 4
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x7cc]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x810]
or eax, dword [ebp - 0x814]
mov dword [ebp - 0x818], eax
mov cl, byte [ebp - 0x818]
mov byte [ebp - 0x74c], cl
movzx edx, byte [ebp - 0x73f]
mov al, byte [ebp + edx - 0x324]
mov byte [ebp - 0x748], al
movzx ecx, byte [ebp - 0x735]
movzx edx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp - 0x73a]
add eax, edx
mov byte [ebp - 0x73a], al
mov cl, byte [ebp - 0x735]
add cl, 1
mov byte [ebp - 0x735], cl
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp - 0x73f]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x73b]
movzx eax, byte [ebp - 0x73a]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x735]
movzx eax, byte [ebp - 0x73b]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x735]
mov al, byte [ebp - 0x748]
mov byte [ebp + edx - 0x324], al
movss xmm0, dword [0x9e5ea4]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [0x9e5e80]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [0x9e5e60]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [0x9e5e44]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [0x9e5e14]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [0x9e5df8]
movss dword [ebp - 0x848], xmm0
movss xmm0, dword [0x9e5dd8]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x760]
addss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x774]
mulss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x848]
subss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x848], xmm0
movss xmm0, dword [ebp - 0x77c]
mulss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x848]
addss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x848], xmm0
movss xmm0, dword [ebp - 0x770]
comiss xmm0, dword [ebp - 0x77c]
jbe 0x9724ea
movss xmm0, dword [ebp - 0x774]
subss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x760]
addss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x774]
divss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x760]
subss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x774]
mulss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x768]
divss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x760]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x760]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x760]
addss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x770]
subss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x774]
addss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x770]
addss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x770], xmm0
movss xmm0, dword [ebp - 0x778]
comiss xmm0, dword [ebp - 0x760]
jbe 0x97243d
movss xmm0, dword [ebp - 0x760]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x778]
subss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x774]
divss xmm0, dword [ebp - 0x848]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x768]
addss xmm0, dword [ebp - 0x760]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x774]
addss xmm0, dword [ebp - 0x848]
movss dword [ebp - 0x774], xmm0
movss xmm0, dword [ebp - 0x77c]
subss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x77c], xmm0
movss xmm0, dword [ebp - 0x77c]
addss xmm0, dword [ebp - 0x774]
movss dword [ebp - 0x77c], xmm0
jmp 0x9724e5
movss xmm0, dword [ebp - 0x760]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x778]
divss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x760]
divss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x778]
divss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x760]
divss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x848]
divss xmm0, dword [ebp - 0x770]
movss dword [ebp - 0x848], xmm0
movss xmm0, dword [ebp - 0x760]
addss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x760], xmm0
jmp 0x9725b0
movss xmm0, dword [ebp - 0x778]
mulss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x760]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x768]
subss xmm0, dword [ebp - 0x760]
movss dword [ebp - 0x768], xmm0
movss xmm0, dword [ebp - 0x778]
addss xmm0, dword [ebp - 0x768]
movss dword [ebp - 0x778], xmm0
movss xmm0, dword [ebp - 0x768]
mulss xmm0, dword [ebp - 0x760]
movss dword [ebp - 0x768], xmm0
movzx ecx, byte [ebp - 0x748]
movzx edx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp - 0x747]
add eax, edx
mov byte [ebp - 0x747], al
movss xmm0, dword [ebp - 0x760]
mulss xmm0, dword [ebp - 0x77c]
movss dword [ebp - 0x760], xmm0
movss xmm0, dword [ebp - 0x770]
mulss xmm0, dword [ebp - 0x778]
movss dword [ebp - 0x770], xmm0
movzx ecx, byte [ebp - 0x74c]
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp + edx - 0x324]
movzx edx, byte [ebp - 0x735]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x324]
xor ecx, eax
movzx edx, byte [ebp - 0x73b]
movzx eax, byte [ebp + edx - 0x324]
movzx edx, byte [ebp - 0x73f]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
movzx edx, byte [ebp - 0x747]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x324]
movzx edx, byte [ebp + eax - 0x324]
xor ecx, edx
mov byte [ebp - 0x73b], cl
mov al, byte [ebp - 0x74c]
mov byte [ebp - 0x73f], al
mov cl, byte [ebp - 0x73b]
mov byte [ebp - 0x75a], cl
cmp dword [ebp - 0x754], 0
jbe 0x972668
movsx dx, byte [ebp - 0x75a]
mov eax, dword [ebp - 0x754]
mov word [ebp + eax*2 - 0x26], dx
jmp 0x971f6c
mov ecx, dword [ebp - 0x788]
add ecx, 1
mov dword [ebp - 0x788], ecx
mov edx, dword [ebp - 0x754]
add edx, 1
mov dword [ebp - 0x754], edx
movss xmm0, dword [0x9e5ed4]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [0x9e4880]
movss dword [ebp - 0x7b4], xmm0
movss xmm0, dword [0x9e5e10]
movss dword [ebp - 0x8bc], xmm0
movss xmm0, dword [ebp - 0x790]
addss xmm0, dword [ebp - 0x8bc]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x790]
addss xmm0, dword [ebp - 0x8bc]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x790]
addss xmm0, dword [ebp - 0x8bc]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x790]
comiss xmm0, dword [ebp - 0x8bc]
jbe 0x97276d
mov eax, dword [ebp - 0x788]
add eax, 1
mov dword [ebp - 0x788], eax
movss xmm0, dword [ebp - 0x790]
addss xmm0, dword [ebp - 0x7b4]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x790]
subss xmm0, dword [ebp - 0x7b4]
movss dword [ebp - 0x790], xmm0
movss xmm0, dword [ebp - 0x7b4]
addss xmm0, dword [ebp - 0x8bc]
movss dword [ebp - 0x7b4], xmm0
jmp 0x9727b5
movss xmm0, dword [ebp - 0x7b4]
subss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x7b4], xmm0
movss xmm0, dword [ebp - 0x7b4]
mulss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x7b4], xmm0
movss xmm0, dword [ebp - 0x7b4]
addss xmm0, dword [ebp - 0x790]
movss dword [ebp - 0x7b4], xmm0
mov ecx, dword [ebp - 0x754]
shl ecx, 1
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x850]
add edx, dword [ebp - 0x808]
movzx eax, byte [edx]
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7bc], 0xd6
mov ecx, dword [ebp - 0x754]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x80c], edx
mov eax, dword [ebp - 0x850]
add eax, dword [ebp - 0x80c]
movzx ecx, byte [eax]
mov dword [ebp - 0x7c0], ecx
mov dword [ebp - 0x7c4], 0x1c
mov edx, dword [ebp - 0x7b8]
sub edx, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c0]
sub eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7c8]
shl ecx, 4
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x7cc]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x810]
or eax, dword [ebp - 0x814]
mov dword [ebp - 0x818], eax
mov cl, byte [ebp - 0x818]
mov byte [ebp - 0x74c], cl
movzx edx, byte [ebp - 0x73f]
mov al, byte [ebp + edx - 0x324]
mov byte [ebp - 0x748], al
movzx ecx, byte [ebp - 0x735]
movzx edx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp - 0x73a]
add eax, edx
mov byte [ebp - 0x73a], al
mov cl, byte [ebp - 0x735]
add cl, 1
mov byte [ebp - 0x735], cl
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp - 0x73f]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x73b]
movzx eax, byte [ebp - 0x73a]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x735]
movzx eax, byte [ebp - 0x73b]
mov cl, byte [ebp + edx - 0x324]
mov byte [ebp + eax - 0x324], cl
movzx edx, byte [ebp - 0x735]
mov al, byte [ebp - 0x748]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x748]
movzx edx, byte [ebp + ecx - 0x324]
movzx eax, byte [ebp - 0x747]
add eax, edx
mov byte [ebp - 0x747], al
movzx ecx, byte [ebp - 0x74c]
movzx edx, byte [ebp - 0x73a]
movzx eax, byte [ebp + edx - 0x324]
movzx edx, byte [ebp - 0x735]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x324]
xor ecx, eax
movzx edx, byte [ebp - 0x73b]
movzx eax, byte [ebp + edx - 0x324]
movzx edx, byte [ebp - 0x73f]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
movzx edx, byte [ebp - 0x747]
movzx edx, byte [ebp + edx - 0x324]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x324]
movzx edx, byte [ebp + eax - 0x324]
xor ecx, edx
mov byte [ebp - 0x73b], cl
mov al, byte [ebp - 0x74c]
mov byte [ebp - 0x73f], al
mov cl, byte [ebp - 0x73b]
mov byte [ebp - 0x75a], cl
cmp dword [ebp - 0x754], 0
jbe 0x9729ed
movsx dx, byte [ebp - 0x75a]
mov eax, dword [ebp - 0x754]
mov word [ebp + eax*2 - 0x26], dx
mov ecx, dword [ebp - 0x788]
add ecx, 2
mov dword [ebp - 0x788], ecx
mov edx, dword [ebp - 0x754]
add edx, 1
mov dword [ebp - 0x84c], edx
jmp 0x972a1c
mov eax, dword [ebp - 0x84c]
add eax, 1
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
cmp ecx, dword [ebp - 0x788]
jge 0x972c7b
mov edx, dword [ebp - 0x754]
add edx, 1
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x754]
shl eax, 1
mov dword [ebp - 0x808], eax
mov ecx, dword [ebp - 0x850]
add ecx, dword [ebp - 0x808]
movzx edx, byte [ecx]
mov dword [ebp - 0x7b8], edx
mov dword [ebp - 0x7bc], 0xd6
mov eax, dword [ebp - 0x754]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x850]
add edx, dword [ebp - 0x80c]
movzx eax, byte [edx]
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 0x7c4], 0x1c
mov ecx, dword [ebp - 0x7b8]
sub ecx, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c8], ecx
mov edx, dword [ebp - 0x7c0]
sub edx, dword [ebp - 0x7c4]
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x7c8]
shl eax, 4
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x810]
or edx, dword [ebp - 0x814]
mov dword [ebp - 0x818], edx
mov al, byte [ebp - 0x818]
mov byte [ebp - 0x74c], al
movzx ecx, byte [ebp - 0x73f]
mov dl, byte [ebp + ecx - 0x324]
mov byte [ebp - 0x748], dl
movzx eax, byte [ebp - 0x735]
movzx ecx, byte [ebp + eax - 0x324]
movzx edx, byte [ebp - 0x73a]
add edx, ecx
mov byte [ebp - 0x73a], dl
mov al, byte [ebp - 0x735]
add al, 1
mov byte [ebp - 0x735], al
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp - 0x73f]
mov al, byte [ebp + ecx - 0x324]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x73b]
movzx edx, byte [ebp - 0x73a]
mov al, byte [ebp + ecx - 0x324]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x735]
movzx edx, byte [ebp - 0x73b]
mov al, byte [ebp + ecx - 0x324]
mov byte [ebp + edx - 0x324], al
movzx ecx, byte [ebp - 0x735]
mov dl, byte [ebp - 0x748]
mov byte [ebp + ecx - 0x324], dl
movzx eax, byte [ebp - 0x748]
movzx ecx, byte [ebp + eax - 0x324]
movzx edx, byte [ebp - 0x747]
add edx, ecx
mov byte [ebp - 0x747], dl
movzx eax, byte [ebp - 0x74c]
movzx ecx, byte [ebp - 0x73a]
movzx edx, byte [ebp + ecx - 0x324]
movzx ecx, byte [ebp - 0x735]
movzx ecx, byte [ebp + ecx - 0x324]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x324]
xor eax, edx
movzx ecx, byte [ebp - 0x73b]
movzx edx, byte [ebp + ecx - 0x324]
movzx ecx, byte [ebp - 0x73f]
movzx ecx, byte [ebp + ecx - 0x324]
add edx, ecx
movzx ecx, byte [ebp - 0x747]
movzx ecx, byte [ebp + ecx - 0x324]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x324]
movzx ecx, byte [ebp + edx - 0x324]
xor eax, ecx
mov byte [ebp - 0x73b], al
mov dl, byte [ebp - 0x74c]
mov byte [ebp - 0x73f], dl
mov al, byte [ebp - 0x73b]
mov byte [ebp - 0x75a], al
cmp dword [ebp - 0x754], 0
jbe 0x972c76
movsx cx, byte [ebp - 0x75a]
mov edx, dword [ebp - 0x754]
mov word [ebp + edx*2 - 0x26], cx
jmp 0x972a0d
movss xmm0, dword [0x9e5ec8]
movss dword [ebp - 0x820], xmm0
movss xmm0, dword [0x9e5ea8]
movss dword [ebp - 0x87c], xmm0
movss xmm0, dword [0x9e5e88]
movss dword [ebp - 0x884], xmm0
movss xmm0, dword [0x9e5e5c]
movss dword [ebp - 0x880], xmm0
movss xmm0, dword [0x9e5e30]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [0x9e5e04]
movss dword [ebp - 0x81c], xmm0
movss xmm0, dword [0x9e5de4]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x81c]
mulss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x81c], xmm0
movss xmm0, dword [ebp - 0x820]
mulss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x820], xmm0
movss xmm0, dword [ebp - 0x880]
subss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x880], xmm0
movss xmm0, dword [ebp - 0x81c]
mulss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x81c], xmm0
movss xmm0, dword [ebp - 0x798]
mulss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x87c]
addss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x87c], xmm0
movss xmm0, dword [ebp - 0x820]
mulss xmm0, dword [ebp - 0x780]
movss dword [ebp - 0x820], xmm0
movss xmm0, dword [ebp - 0x780]
comiss xmm0, dword [ebp - 0x820]
jbe 0x972e55
movss xmm0, dword [ebp - 0x780]
mulss xmm0, dword [ebp - 0x820]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x798]
divss xmm0, dword [ebp - 0x81c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x780]
addss xmm0, dword [ebp - 0x820]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x798]
divss xmm0, dword [ebp - 0x81c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x87c]
subss xmm0, dword [ebp - 0x884]
movss dword [ebp - 0x87c], xmm0
movss xmm0, dword [ebp - 0x798]
mulss xmm0, dword [ebp - 0x81c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x880]
addss xmm0, dword [ebp - 0x798]
movss dword [ebp - 0x880], xmm0
jmp 0x972f0c
mov eax, dword [ebp - 0x788]
add eax, 1
mov dword [ebp - 0x788], eax
movss xmm0, dword [ebp - 0x87c]
mulss xmm0, dword [ebp - 0x884]
movss dword [ebp - 0x87c], xmm0
movss xmm0, dword [ebp - 0x798]
subss xmm0, dword [ebp - 0x81c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x884]
subss xmm0, dword [ebp - 0x880]
movss dword [ebp - 0x884], xmm0
movss xmm0, dword [ebp - 0x798]
addss xmm0, dword [ebp - 0x81c]
movss dword [ebp - 0x798], xmm0
movss xmm0, dword [ebp - 0x884]
addss xmm0, dword [ebp - 0x880]
movss dword [ebp - 0x884], xmm0
movss xmm0, dword [ebp - 0x780]
mulss xmm0, dword [ebp - 0x820]
movss dword [ebp - 0x780], xmm0
movss xmm0, dword [ebp - 0x780]
subss xmm0, dword [ebp - 0x820]
movss dword [ebp - 0x780], xmm0
mov ecx, 2
imul edx, ecx, 5
mov dword [ebp - 0x974], edx
cmp dword [ebp - 0x974], 0xc
jae 0x972f25
jmp 0x972f2a
call fcn.009aea97
xor eax, eax
mov ecx, dword [ebp - 0x974]
mov word [ebp + ecx - 0x24], ax
jmp 0x972f8a
mov dword [ebp - 0x754], 0
jmp 0x972f54
mov edx, dword [ebp - 0x754]
add edx, 1
mov dword [ebp - 0x754], edx
cmp dword [ebp - 0x754], 6
jae 0x972f8a
mov eax, dword [ebp - 0x754]
shl eax, 1
mov dword [ebp - 0x95c], eax
cmp dword [ebp - 0x95c], 0xc
jae 0x972f76
jmp 0x972f7b
call fcn.009aea97
xor ecx, ecx
mov edx, dword [ebp - 0x95c]
mov word [ebp + edx - 0x24], cx
jmp 0x972f45
xorps xmm0, xmm0
movsd qword [ebp - 0x8d8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x894], xmm0
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x8c0], 1
mov dword [ebp - 0x7d0], 0
mov dword [ebp - 0x93c], 0
mov dword [ebp - 0x7a0], 0
mov dword [ebp - 0x824], 0
mov dword [ebp - 0x7dc], 0
mov dword [ebp - 0x7e0], 0
mov dword [ebp - 0x828], 0
mov dword [ebp - 0x7e4], 0
mov dword [ebp - 0x7e8], 0
mov dword [ebp - 0x7ec], 0
mov dword [ebp - 0x7f0], 0
mov dword [ebp - 0x82c], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x90c], 0
mov byte [ebp - 0x736], 0
mov byte [ebp - 0x73c], 0
mov byte [ebp - 0x745], 0
mov byte [ebp - 0x73d], 0
mov byte [ebp - 0x740], 0
mov byte [ebp - 0x742], 0
mov byte [ebp - 0x789], 0
mov byte [ebp - 0x746], 0
mov byte [ebp - 0x744], 0
mov byte [ebp - 0x75b], 0
xorps xmm0, xmm0
movsd qword [ebp - 0x8d8], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x894], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x894], xmm0
jmp 0x9730df
movsd xmm0, qword [ebp - 0x894]
addsd xmm0, qword [0x9d10b0]
movsd qword [ebp - 0x894], xmm0
movsd xmm0, qword [0x9d1a50]
comisd xmm0, xmmword [ebp - 0x894]
jbe 0x973190
movsd xmm0, qword [0x9d12f8]
mulsd xmm0, qword [ebp - 0x894]
mulsd xmm0, qword [ebp - 0x894]
movsd xmm1, qword [ebp - 0x894]
mulsd xmm1, qword [ebp - 0x894]
subsd xmm0, xmm1
movsd xmm1, qword [0x9d1120]
mulsd xmm1, qword [ebp - 0x894]
mulsd xmm1, qword [ebp - 0x894]
addsd xmm1, qword [0x9d11d0]
divsd xmm0, xmm1
addsd xmm0, qword [ebp - 0x8d8]
movsd qword [ebp - 0x8d8], xmm0
movsd xmm0, qword [ebp - 0x8d8]
comisd xmm0, xmmword [0x9d1248]
jbe 0x97318b
movsd xmm0, qword [0x9d1058]
mulsd xmm0, qword [ebp - 0x894]
movsd xmm1, qword [ebp - 0x8d8]
subsd xmm1, xmm0
movsd qword [ebp - 0x8d8], xmm1
jmp 0x9730c7
xorps xmm0, xmm0
comisd xmm0, xmmword [ebp - 0x8d8]
jbe 0x9731c7
mov esp, 0xbbbdbdc4
ret 0xb9b7
mov dword [ebp - 0x9a0], 0x97319d
mov dword [ebp - 0x9a4], 0x9731a5
mov eax, dword [ebp - 0x9a0]
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x9a4]
mov dword [ebp - 0x9a8], ecx
mov byte [ebp - 0x789], 0x21
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x758], 0
jmp 0x973229
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
cmp dword [ebp - 0x758], 0x100
jae 0x97324a
mov eax, dword [ebp - 0x758]
mov cl, byte [ebp - 0x758]
mov byte [ebp + eax - 0x124], cl
jmp 0x97321a
mov dword [ebp - 0x854], 0
mov byte [ebp - 0x742], 0
mov dword [ebp - 0x758], 0xff
jmp 0x973276
mov edx, dword [ebp - 0x758]
sub edx, 1
mov dword [ebp - 0x758], edx
cmp dword [ebp - 0x758], 0
jbe 0x9734f0
mov dword [ebp - 0x910], 0
mov dword [ebp - 0x8c0], 1
mov dword [ebp - 0x7d0], 0
mov eax, dword [ebp - 0x8c0]
cmp eax, dword [ebp - 0x758]
jae 0x9732c1
mov ecx, dword [ebp - 0x8c0]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x8c0], edx
jmp 0x9732a1
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x958], eax
cmp dword [ebp - 0x958], 3
ja case.default.0x9732e0
mov ecx, dword [ebp - 0x958]
jmp dword [ecx*4 + 0x9743c8]
movzx edx, byte [ebp - 0x742]
movzx ebx, byte [ebp + edx - 0x124]
movsd xmm0, qword [ebp - 0x8d8]
call fcn.009aeb80
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x742], bl
jmp 0x9733c9
movzx eax, byte [ebp - 0x742]
movzx ebx, byte [ebp + eax - 0x124]
movsd xmm0, qword [ebp - 0x8d8]
call fcn.009aeb80
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x742], bl
jmp 0x9733c9
movzx ecx, byte [ebp - 0x742]
movzx ebx, byte [ebp + ecx - 0x124]
movsd xmm0, qword [ebp - 0x8d8]
call fcn.009aeb80
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x742], bl
jmp 0x9733c9
movzx edx, byte [ebp - 0x742]
movzx ebx, byte [ebp + edx - 0x124]
movsd xmm0, qword [ebp - 0x8d8]
call fcn.009aeb80
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x742], bl
jmp 0x9733c9
movzx eax, byte [ebp - 0x742]
movzx ecx, byte [ebp + eax - 0x124]
mov edx, dword [ebp - 0x9a8]
add edx, dword [ebp - 0x854]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x742], cl
mov ecx, dword [ebp - 0x854]
add ecx, 1
mov dword [ebp - 0x854], ecx
movzx edx, byte [ebp - 0x789]
cmp dword [ebp - 0x854], edx
jb 0x973407
mov dword [ebp - 0x854], 0
movzx eax, byte [ebp - 0x789]
movzx ecx, byte [ebp - 0x742]
add ecx, eax
mov byte [ebp - 0x742], cl
movzx edx, byte [ebp - 0x742]
and edx, dword [ebp - 0x8c0]
mov dword [ebp - 0x7d0], edx
mov eax, dword [ebp - 0x910]
add eax, 1
mov dword [ebp - 0x910], eax
cmp dword [ebp - 0x910], 0xb
jbe 0x973446
mov eax, dword [ebp - 0x7d0]
xor edx, edx
div dword [ebp - 0x758]
mov dword [ebp - 0x7d0], edx
mov ecx, dword [ebp - 0x7d0]
cmp ecx, dword [ebp - 0x758]
ja 0x9732c1
mov edx, dword [ebp - 0x758]
cmp edx, dword [ebp - 0x7d0]
je 0x9734eb
mov eax, dword [ebp - 0x7d0]
movzx ecx, byte [ebp + eax - 0x124]
mov edx, dword [ebp - 0x758]
movzx eax, byte [ebp + edx - 0x124]
xor eax, ecx
mov ecx, dword [ebp - 0x758]
mov byte [ebp + ecx - 0x124], al
mov edx, dword [ebp - 0x758]
movzx eax, byte [ebp + edx - 0x124]
mov ecx, dword [ebp - 0x7d0]
movzx edx, byte [ebp + ecx - 0x124]
xor edx, eax
mov eax, dword [ebp - 0x7d0]
mov byte [ebp + eax - 0x124], dl
mov ecx, dword [ebp - 0x7d0]
movzx edx, byte [ebp + ecx - 0x124]
mov eax, dword [ebp - 0x758]
movzx ecx, byte [ebp + eax - 0x124]
xor ecx, edx
mov edx, dword [ebp - 0x758]
mov byte [ebp + edx - 0x124], cl
jmp 0x973267
mov eax, 1
shl eax, 0
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x736], cl
mov edx, 1
imul eax, edx, 3
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x73c], cl
mov edx, 1
imul eax, edx, 5
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x745], cl
mov edx, 1
imul eax, edx, 7
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x73d], cl
movzx edx, byte [ebp - 0x742]
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x740], al
mov dword [ebp - 0x93c], 8
cmp dword [ebp - 0x93c], 2
jle 0x9742e0
mov ecx, dword [ebp - 0x93c]
and ecx, 1
jne 0x9742e0
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x7a0], 0
mov edx, dword [ebp - 0x7a0]
add edx, 1
mov dword [ebp - 0x7a0], edx
mov dword [ebp - 0x824], 0
mov eax, dword [ebp - 0x758]
shl eax, 1
mov dword [ebp - 0x824], eax
mov dword [ebp - 0x7dc], 0
mov ecx, dword [ebp - 0x85c]
add ecx, dword [ebp - 0x824]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7dc], edx
mov dword [ebp - 0x7e0], 0
mov eax, dword [ebp - 0x7e0]
add eax, 0xb0
mov dword [ebp - 0x7e0], eax
mov dword [ebp - 0x828], 0
mov ecx, dword [ebp - 0x758]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x828], edx
mov dword [ebp - 0x7e4], 0
mov eax, dword [ebp - 0x85c]
add eax, dword [ebp - 0x828]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x7e4]
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x7e8], 0
mov edx, dword [ebp - 0x7e8]
add edx, 0xb9
mov dword [ebp - 0x7e8], edx
mov dword [ebp - 0x7ec], 0
mov eax, dword [ebp - 0x7dc]
sub eax, dword [ebp - 0x7e0]
add eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7f0], 0
mov ecx, dword [ebp - 0x7e4]
sub ecx, dword [ebp - 0x7e8]
add ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x7f0], ecx
mov dword [ebp - 0x82c], 0
mov edx, dword [ebp - 0x7ec]
shl edx, 4
mov dword [ebp - 0x82c], edx
mov dword [ebp - 0x830], 0
mov eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x830], eax
mov dword [ebp - 0x834], 0
mov ecx, dword [ebp - 0x82c]
or ecx, dword [ebp - 0x830]
mov dword [ebp - 0x834], ecx
mov byte [ebp - 0x746], 0
mov dl, byte [ebp - 0x834]
mov byte [ebp - 0x746], dl
mov byte [ebp - 0x744], 0
movzx eax, byte [ebp - 0x740]
mov cl, byte [ebp + eax - 0x124]
mov byte [ebp - 0x744], cl
movzx edx, byte [ebp - 0x736]
movzx eax, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp - 0x73c]
add ecx, eax
mov byte [ebp - 0x73c], cl
mov dl, byte [ebp - 0x736]
add dl, 1
mov byte [ebp - 0x736], dl
movzx eax, byte [ebp - 0x73c]
movzx ecx, byte [ebp - 0x740]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x73d]
movzx ecx, byte [ebp - 0x73c]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x736]
movzx ecx, byte [ebp - 0x73d]
mov dl, byte [ebp + eax - 0x124]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x736]
mov cl, byte [ebp - 0x744]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x744]
movzx eax, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp - 0x745]
add ecx, eax
mov byte [ebp - 0x745], cl
movzx edx, byte [ebp - 0x746]
movzx eax, byte [ebp - 0x73c]
movzx ecx, byte [ebp + eax - 0x124]
movzx eax, byte [ebp - 0x736]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x124]
xor edx, ecx
movzx eax, byte [ebp - 0x73d]
movzx ecx, byte [ebp + eax - 0x124]
movzx eax, byte [ebp - 0x740]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
movzx eax, byte [ebp - 0x745]
movzx eax, byte [ebp + eax - 0x124]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp + ecx - 0x124]
xor edx, eax
mov byte [ebp - 0x73d], dl
mov cl, byte [ebp - 0x746]
mov byte [ebp - 0x740], cl
mov dl, byte [ebp - 0x73d]
mov byte [ebp - 0x75b], dl
cmp dword [ebp - 0x758], 0
jbe 0x97387e
movsx ax, byte [ebp - 0x75b]
mov ecx, dword [ebp - 0x758]
mov word [ebp + ecx*2 - 0xe], ax
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x7a0]
add eax, 1
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x758]
shl ecx, 1
mov dword [ebp - 0x824], ecx
mov edx, dword [ebp - 0x85c]
add edx, dword [ebp - 0x824]
movzx eax, byte [edx]
mov dword [ebp - 0x7dc], eax
mov dword [ebp - 0x7e0], 0xb0
mov ecx, dword [ebp - 0x758]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x828], edx
mov eax, dword [ebp - 0x85c]
add eax, dword [ebp - 0x828]
movzx ecx, byte [eax]
mov dword [ebp - 0x7e4], ecx
mov dword [ebp - 0x7e8], 0xb9
mov edx, dword [ebp - 0x7dc]
sub edx, dword [ebp - 0x7e0]
mov dword [ebp - 0x7ec], edx
mov eax, dword [ebp - 0x7e4]
sub eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x7f0], eax
mov ecx, dword [ebp - 0x7ec]
shl ecx, 4
mov dword [ebp - 0x82c], ecx
mov edx, dword [ebp - 0x7f0]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x82c]
or eax, dword [ebp - 0x830]
mov dword [ebp - 0x834], eax
mov cl, byte [ebp - 0x834]
mov byte [ebp - 0x746], cl
movzx edx, byte [ebp - 0x740]
mov al, byte [ebp + edx - 0x124]
mov byte [ebp - 0x744], al
movzx ecx, byte [ebp - 0x736]
movzx edx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp - 0x73c]
add eax, edx
mov byte [ebp - 0x73c], al
mov cl, byte [ebp - 0x736]
add cl, 1
mov byte [ebp - 0x736], cl
movzx edx, byte [ebp - 0x73c]
movzx eax, byte [ebp - 0x740]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x73d]
movzx eax, byte [ebp - 0x73c]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x736]
movzx eax, byte [ebp - 0x73d]
mov cl, byte [ebp + edx - 0x124]
mov byte [ebp + eax - 0x124], cl
movzx edx, byte [ebp - 0x736]
mov al, byte [ebp - 0x744]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x744]
movzx edx, byte [ebp + ecx - 0x124]
movzx eax, byte [ebp - 0x745]
add eax, edx
mov byte [ebp - 0x745], al
movzx ecx, byte [ebp - 0x746]
movzx edx, byte [ebp - 0x73c]
movzx eax, byte [ebp + edx - 0x124]
movzx edx, byte [ebp - 0x736]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x124]
xor ecx, eax
movzx edx, byte [ebp - 0x73d]
movzx eax, byte [ebp + edx - 0x124]
movzx edx, byte [ebp - 0x740]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
movzx edx, byte [ebp - 0x745]
movzx edx, byte [ebp + edx - 0x124]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x124]
movzx edx, byte [ebp + eax - 0x124]
xor ecx, edx
mov byte [ebp - 0x73d], cl
mov al, byte [ebp - 0x746]
mov byte [ebp - 0x740], al
mov cl, byte [ebp - 0x73d]
mov byte [ebp - 0x75b], cl
cmp dword [ebp - 0x758], 0
jbe 0x973ad4
movsx dx, byte [ebp - 0x75b]
mov eax, dword [ebp - 0x758]
mov word [ebp + eax*2 - 0xe], dx
mov ecx, dword [ebp - 0x7a0]
add ecx, 1
mov dword [ebp - 0x7a0], ecx
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x90c], edx
jmp 0x973b03
mov eax, dword [ebp - 0x90c]
add eax, 1
mov dword [ebp - 0x90c], eax
mov ecx, dword [ebp - 0x90c]
cmp ecx, dword [ebp - 0x7a0]
jge 0x97404d
movss xmm0, dword [0x9d1d60]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [0x9d1ce8]
movss dword [ebp - 0x858], xmm0
movss xmm0, dword [0x9d1c54]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [0x9d1bc0]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [0x9d1b1c]
movss dword [ebp - 0x7d4], xmm0
movss xmm0, dword [ebp - 0x858]
mulss xmm0, dword [ebp - 0x7d4]
movss dword [ebp - 0x858], xmm0
movss xmm0, dword [ebp - 0x870]
mulss xmm0, dword [ebp - 0x7d4]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x800]
subss xmm0, dword [ebp - 0x7d4]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [ebp - 0x79c]
subss xmm0, dword [ebp - 0x7d4]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x858]
mulss xmm0, dword [ebp - 0x7d4]
movss dword [ebp - 0x858], xmm0
movss xmm0, dword [ebp - 0x858]
comiss xmm0, dword [ebp - 0x7d4]
jbe 0x973c7b
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
movss xmm0, dword [ebp - 0x870]
subss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x800]
addss xmm0, dword [ebp - 0x7d4]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x800]
subss xmm0, dword [ebp - 0x7d4]
movss dword [ebp - 0x800], xmm0
movss xmm0, dword [ebp - 0x79c]
mulss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x79c], xmm0
jmp 0x973cf3
movss xmm0, dword [ebp - 0x79c]
subss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x79c], xmm0
movss xmm0, dword [ebp - 0x870]
addss xmm0, dword [ebp - 0x79c]
movss dword [ebp - 0x870], xmm0
movss xmm0, dword [ebp - 0x858]
addss xmm0, dword [ebp - 0x870]
movss dword [ebp - 0x858], xmm0
movss xmm0, dword [ebp - 0x7d4]
addss xmm0, dword [ebp - 0x858]
movss dword [ebp - 0x7d4], xmm0
movss xmm0, dword [ebp - 0x79c]
subss xmm0, dword [ebp - 0x800]
movss dword [ebp - 0x79c], xmm0
mov eax, dword [ebp - 0x758]
shl eax, 1
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x85c]
add ecx, dword [ebp - 0x824]
movzx edx, byte [ecx]
mov dword [ebp - 0x7dc], edx
mov dword [ebp - 0x7e0], 0xb0
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x85c]
add edx, dword [ebp - 0x828]
movzx eax, byte [edx]
mov dword [ebp - 0x7e4], eax
mov dword [ebp - 0x7e8], 0xb9
mov ecx, dword [ebp - 0x7dc]
sub ecx, dword [ebp - 0x7e0]
mov dword [ebp - 0x7ec], ecx
mov edx, dword [ebp - 0x7e4]
sub edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x7f0], edx
mov eax, dword [ebp - 0x7ec]
shl eax, 4
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x82c]
or edx, dword [ebp - 0x830]
mov dword [ebp - 0x834], edx
mov al, byte [ebp - 0x834]
mov byte [ebp - 0x746], al
movzx ecx, byte [ebp - 0x740]
mov dl, byte [ebp + ecx - 0x124]
mov byte [ebp - 0x744], dl
movzx eax, byte [ebp - 0x736]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x73c]
add edx, ecx
mov byte [ebp - 0x73c], dl
mov al, byte [ebp - 0x736]
add al, 1
mov byte [ebp - 0x736], al
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp - 0x740]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x73d]
movzx edx, byte [ebp - 0x73c]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x736]
movzx edx, byte [ebp - 0x73d]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x736]
mov dl, byte [ebp - 0x744]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x744]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x745]
add edx, ecx
mov byte [ebp - 0x745], dl
movzx eax, byte [ebp - 0x746]
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x736]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
xor eax, edx
movzx ecx, byte [ebp - 0x73d]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x740]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
movzx ecx, byte [ebp - 0x745]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp + edx - 0x124]
xor eax, ecx
mov byte [ebp - 0x73d], al
movsd xmm0, qword [0x9d1738]
movsd qword [ebp - 0x918], xmm0
movsd xmm0, qword [0x9d15b0]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [0x9d13d0]
movsd qword [ebp - 0x920], xmm0
movsd xmm0, qword [ebp - 0x918]
subsd xmm0, qword [ebp - 0x920]
movsd qword [ebp - 0x918], xmm0
movsd xmm0, qword [ebp - 0x88c]
mulsd xmm0, qword [ebp - 0x920]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x918]
mulsd xmm0, qword [ebp - 0x920]
movsd qword [ebp - 0x918], xmm0
movsd xmm0, qword [ebp - 0x88c]
comisd xmm0, xmmword [ebp - 0x920]
jbe 0x973fd8
movsd xmm0, qword [ebp - 0x918]
addsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x918], xmm0
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x920]
movsd qword [ebp - 0x88c], xmm0
mov dl, byte [ebp - 0x746]
mov byte [ebp - 0x740], dl
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x920]
movsd qword [ebp - 0x88c], xmm0
jmp 0x974020
movsd xmm0, qword [ebp - 0x88c]
subsd xmm0, qword [ebp - 0x920]
movsd qword [ebp - 0x88c], xmm0
movsd xmm0, qword [ebp - 0x918]
addsd xmm0, qword [ebp - 0x88c]
movsd qword [ebp - 0x918], xmm0
movsd xmm0, qword [ebp - 0x88c]
addsd xmm0, qword [ebp - 0x920]
movsd qword [ebp - 0x88c], xmm0
mov al, byte [ebp - 0x73d]
mov byte [ebp - 0x75b], al
cmp dword [ebp - 0x758], 0
jbe 0x974048
movsx cx, byte [ebp - 0x75b]
mov edx, dword [ebp - 0x758]
mov word [ebp + edx*2 - 0xe], cx
jmp 0x973af4
mov eax, dword [ebp - 0x7a0]
add eax, 1
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x7a0]
add edx, 1
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x758]
shl eax, 1
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x85c]
add ecx, dword [ebp - 0x824]
movzx edx, byte [ecx]
mov dword [ebp - 0x7dc], edx
mov dword [ebp - 0x7e0], 0xb0
mov eax, dword [ebp - 0x758]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x85c]
add edx, dword [ebp - 0x828]
movzx eax, byte [edx]
mov dword [ebp - 0x7e4], eax
mov dword [ebp - 0x7e8], 0xb9
mov ecx, dword [ebp - 0x7dc]
sub ecx, dword [ebp - 0x7e0]
mov dword [ebp - 0x7ec], ecx
mov edx, dword [ebp - 0x7e4]
sub edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x7f0], edx
mov eax, dword [ebp - 0x7ec]
shl eax, 4
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x82c]
or edx, dword [ebp - 0x830]
mov dword [ebp - 0x834], edx
mov al, byte [ebp - 0x834]
mov byte [ebp - 0x746], al
movzx ecx, byte [ebp - 0x740]
mov dl, byte [ebp + ecx - 0x124]
mov byte [ebp - 0x744], dl
movzx eax, byte [ebp - 0x736]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x73c]
add edx, ecx
mov byte [ebp - 0x73c], dl
mov al, byte [ebp - 0x736]
add al, 1
mov byte [ebp - 0x736], al
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp - 0x740]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x73d]
movzx edx, byte [ebp - 0x73c]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x736]
movzx edx, byte [ebp - 0x73d]
mov al, byte [ebp + ecx - 0x124]
mov byte [ebp + edx - 0x124], al
movzx ecx, byte [ebp - 0x736]
mov dl, byte [ebp - 0x744]
mov byte [ebp + ecx - 0x124], dl
movzx eax, byte [ebp - 0x744]
movzx ecx, byte [ebp + eax - 0x124]
movzx edx, byte [ebp - 0x745]
add edx, ecx
mov byte [ebp - 0x745], dl
movzx eax, byte [ebp - 0x746]
movzx ecx, byte [ebp - 0x73c]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x736]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
xor eax, edx
movzx ecx, byte [ebp - 0x73d]
movzx edx, byte [ebp + ecx - 0x124]
movzx ecx, byte [ebp - 0x740]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
movzx ecx, byte [ebp - 0x745]
movzx ecx, byte [ebp + ecx - 0x124]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x124]
movzx ecx, byte [ebp + edx - 0x124]
xor eax, ecx
mov byte [ebp - 0x73d], al
mov dl, byte [ebp - 0x746]
mov byte [ebp - 0x740], dl
mov al, byte [ebp - 0x73d]
mov byte [ebp - 0x75b], al
cmp dword [ebp - 0x758], 0
jbe 0x9742b3
movsx cx, byte [ebp - 0x75b]
mov edx, dword [ebp - 0x758]
mov word [ebp + edx*2 - 0xe], cx
mov eax, 2
imul ecx, eax, 3
mov dword [ebp - 0x954], ecx
cmp dword [ebp - 0x954], 8
jae 0x9742cc
jmp 0x9742d1
call fcn.009aea97
xor edx, edx
mov eax, dword [ebp - 0x954]
mov word [ebp + eax - 0xc], dx
jmp 0x974331
mov dword [ebp - 0x758], 0
jmp 0x9742fb
mov ecx, dword [ebp - 0x758]
add ecx, 1
mov dword [ebp - 0x758], ecx
cmp dword [ebp - 0x758], 4
jae 0x974331
mov edx, dword [ebp - 0x758]
shl edx, 1
mov dword [ebp - 0x950], edx
cmp dword [ebp - 0x950], 8
jae 0x97431d
jmp 0x974322
call fcn.009aea97
xor eax, eax
mov ecx, dword [ebp - 0x950]
mov word [ebp + ecx - 0xc], ax
jmp 0x9742ec
push 1
push 0
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x52c]
push eax
lea ecx, [ebp - 0x24]
push ecx
push 0
call dword [0x9fe7fc]
mov dword [ebp - 0x9ac], eax
push 0x104
push 0
lea edx, [ebp - 0x734]
push edx
call fcn.009afc00
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x52c]
push eax
call fcn.009afc00
add esp, 0xc
cmp dword [ebp - 0x9ac], 0x20
jle 0x974391
mov dword [ebp - 0x94c], 1
mov eax, dword [ebp - 0x94c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.009aeb72
mov esp, ebp
pop ebp
ret