Function at 0x5164d2
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x9c3089
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1018
call fcn.0095c6d0
push esi
push edi
mov byte [ebp - 0x245], 0
xor eax, eax
mov word [ebp - 0x214], ax
push 0x206
push 0
lea ecx, [ebp - 0x212]
push ecx
call fcn.0095ae70
add esp, 0xc
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x230], 0
fldz
fstp qword [ebp - 0x244]
fldz
fstp qword [ebp - 0x23c]
fldz
fstp qword [ebp - 0x23c]
jmp 0x51643a
fld qword [ebp - 0x23c]
fadd qword [0x9c6a70]
fstp qword [ebp - 0x23c]
fld qword [0x9c6b10]
fcomp qword [ebp - 0x23c]
fnstsw ax
test ah, 0x41
jne 0x5164c3
fld qword [0x9c6b08]
fmul qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fld qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fsubp st(1)
fld qword [0x9c65a8]
fmul qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fadd qword [0x9c6b00]
fdivp st(1)
fadd qword [ebp - 0x244]
fstp qword [ebp - 0x244]
fld qword [0x9c6af8]
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 5
jp 0x5164be
fld qword [0x9c6af0]
fmul qword [ebp - 0x23c]
fsubr qword [ebp - 0x244]
fstp qword [ebp - 0x244]
jmp 0x516428
fldz
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 0x41
jne 0x51651a
mov cl, 0x87
mov ch, 0x8c
scasb al, byte es:[edi]
nop
test al, 0x8a
mov dl, 0x89
test eax, 0xad8fab90
mov dword [edi - 0x536f506f], esi
xor dword [edi - 0x556e4d7d], 0xffffff88
mov dl, 0x87
scasd eax, dword es:[edi]
mov dword [esi - 0x4d7a537a], ebp
sub dword [eax + ecx*2 + 0x63], 0x6f
imul edi, dword [esp + esi], 0x74
dec edx
inc edx
and al, 0x22
sub al, 0x3e
pop edx
pop esp
pushal
dec ecx
cmp eax, 0x5c76354c
push 0x2e
dec edx
popal
jmp 0x517593
mov dword [ebp - 0x22c], 0x5164d2
mov dword [ebp - 0x230], 0x5164f8
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x24c], eax
mov byte [ebp - 0x36d], 0x21
mov dword [ebp - 0x364], 0
jmp 0x516568
mov ecx, dword [ebp - 0x364]
add ecx, 1
mov dword [ebp - 0x364], ecx
cmp dword [ebp - 0x364], 0x100
jae 0x516589
mov edx, dword [ebp - 0x364]
mov al, byte [ebp - 0x364]
mov byte [ebp + edx - 0x35c], al
jmp 0x516559
mov dword [ebp - 0x254], 0
mov byte [ebp - 0x36e], 0
mov dword [ebp - 0x364], 0xff
jmp 0x5165b5
mov ecx, dword [ebp - 0x364]
sub ecx, 1
mov dword [ebp - 0x364], ecx
cmp dword [ebp - 0x364], 0
jbe 0x5168c9
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x37c], 1
mov edx, dword [ebp - 0x37c]
cmp edx, dword [ebp - 0x364]
jae 0x5165f6
mov eax, dword [ebp - 0x37c]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x37c], ecx
jmp 0x5165d6
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0xea4], edx
cmp dword [ebp - 0xea4], 3
ja case.default.0x516615
mov eax, dword [ebp - 0xea4]
jmp dword [eax*4 + 0x51ed7c]
movzx ecx, byte [ebp - 0x36e]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xea6]
movzx eax, word [ebp - 0xea6]
or eax, 0xc00
mov dword [ebp - 0xeac], eax
fldcw word [ebp - 0xeac]
fistp qword [ebp - 0xeb4]
fldcw word [ebp - 0xea6]
mov eax, dword [ebp - 0xeb4]
and eax, 0xff
add edx, eax
mov byte [ebp - 0x36e], dl
jmp 0x5167a2
movzx ecx, byte [ebp - 0x36e]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xeb6]
movzx eax, word [ebp - 0xeb6]
or eax, 0xc00
mov dword [ebp - 0xebc], eax
fldcw word [ebp - 0xebc]
fistp qword [ebp - 0xec4]
fldcw word [ebp - 0xeb6]
mov eax, dword [ebp - 0xec4]
shr eax, 8
and eax, 0xff
add edx, eax
mov byte [ebp - 0x36e], dl
jmp 0x5167a2
movzx ecx, byte [ebp - 0x36e]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xec6]
movzx eax, word [ebp - 0xec6]
or eax, 0xc00
mov dword [ebp - 0xecc], eax
fldcw word [ebp - 0xecc]
fistp qword [ebp - 0xed4]
fldcw word [ebp - 0xec6]
mov eax, dword [ebp - 0xed4]
shr eax, 0x10
and eax, 0xff
add edx, eax
mov byte [ebp - 0x36e], dl
jmp 0x5167a2
movzx ecx, byte [ebp - 0x36e]
movzx edx, byte [ebp + ecx - 0x35c]
fld qword [ebp - 0x244]
fnstcw word [ebp - 0xed6]
movzx eax, word [ebp - 0xed6]
or eax, 0xc00
mov dword [ebp - 0xedc], eax
fldcw word [ebp - 0xedc]
fistp qword [ebp - 0xee4]
fldcw word [ebp - 0xed6]
mov eax, dword [ebp - 0xee4]
shr eax, 0x18
and eax, 0xff
add edx, eax
mov byte [ebp - 0x36e], dl
jmp 0x5167a2
movzx ecx, byte [ebp - 0x36e]
movzx edx, byte [ebp + ecx - 0x35c]
mov eax, dword [ebp - 0x24c]
add eax, dword [ebp - 0x254]
movzx ecx, byte [eax - 4]
add edx, ecx
mov byte [ebp - 0x36e], dl
mov edx, dword [ebp - 0x254]
add edx, 1
mov dword [ebp - 0x254], edx
movzx eax, byte [ebp - 0x36d]
cmp dword [ebp - 0x254], eax
jb 0x5167e0
mov dword [ebp - 0x254], 0
movzx ecx, byte [ebp - 0x36d]
movzx edx, byte [ebp - 0x36e]
add edx, ecx
mov byte [ebp - 0x36e], dl
movzx eax, byte [ebp - 0x36e]
and eax, dword [ebp - 0x37c]
mov dword [ebp - 0x378], eax
mov ecx, dword [ebp - 0x374]
add ecx, 1
mov dword [ebp - 0x374], ecx
cmp dword [ebp - 0x374], 0xb
jbe 0x51681f
mov eax, dword [ebp - 0x378]
xor edx, edx
div dword [ebp - 0x364]
mov dword [ebp - 0x378], edx
mov edx, dword [ebp - 0x378]
cmp edx, dword [ebp - 0x364]
ja 0x5165f6
mov eax, dword [ebp - 0x364]
cmp eax, dword [ebp - 0x378]
je 0x5168c4
mov ecx, dword [ebp - 0x378]
movzx edx, byte [ebp + ecx - 0x35c]
mov eax, dword [ebp - 0x364]
movzx ecx, byte [ebp + eax - 0x35c]
xor ecx, edx
mov edx, dword [ebp - 0x364]
mov byte [ebp + edx - 0x35c], cl
mov eax, dword [ebp - 0x364]
movzx ecx, byte [ebp + eax - 0x35c]
mov edx, dword [ebp - 0x378]
movzx eax, byte [ebp + edx - 0x35c]
xor eax, ecx
mov ecx, dword [ebp - 0x378]
mov byte [ebp + ecx - 0x35c], al
mov edx, dword [ebp - 0x378]
movzx eax, byte [ebp + edx - 0x35c]
mov ecx, dword [ebp - 0x364]
movzx edx, byte [ebp + ecx - 0x35c]
xor edx, eax
mov eax, dword [ebp - 0x364]
mov byte [ebp + eax - 0x35c], dl
jmp 0x5165a6
mov cl, byte [ebp - 0x35b]
mov byte [ebp - 0x36f], cl
mov dl, byte [ebp - 0x359]
mov byte [ebp - 0x255], dl
mov al, byte [ebp - 0x357]
mov byte [ebp - 0x35d], al
mov cl, byte [ebp - 0x355]
mov byte [ebp - 0x365], cl
movzx edx, byte [ebp - 0x36e]
mov al, byte [ebp + edx - 0x35c]
mov byte [ebp - 0x246], al
mov dword [ebp - 0x36c], 0x26
cmp dword [ebp - 0x36c], 2
jle 0x51755f
mov ecx, dword [ebp - 0x36c]
and ecx, 1
jne 0x51755f
mov dword [ebp - 0x39c], 0
mov dword [ebp - 0x398], 0
mov edx, dword [ebp - 0x398]
add edx, 1
mov dword [ebp - 0x398], edx
mov dword [ebp - 0x380], 0
mov eax, dword [ebp - 0x39c]
shl eax, 1
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x3ac], 0
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x380]
movzx edx, byte [ecx]
add edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x388], 0
mov eax, dword [ebp - 0x388]
add eax, 0xa8
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x39c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x390], edx
mov dword [ebp - 0x3bc], 0
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x390]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x3bc]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3a8], 0
mov edx, dword [ebp - 0x3a8]
add edx, 0x82
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x3b8], 0
mov eax, dword [ebp - 0x3ac]
sub eax, dword [ebp - 0x388]
add eax, dword [ebp - 0x3b8]
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x384], 0
mov ecx, dword [ebp - 0x3bc]
sub ecx, dword [ebp - 0x3a8]
add ecx, dword [ebp - 0x384]
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x3b4], 0
mov edx, dword [ebp - 0x3b8]
shl edx, 4
mov dword [ebp - 0x3b4], edx
mov dword [ebp - 0x3a4], 0
mov eax, dword [ebp - 0x384]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x394], 0
mov ecx, dword [ebp - 0x3b4]
or ecx, dword [ebp - 0x3a4]
mov dword [ebp - 0x394], ecx
mov byte [ebp - 0x389], 0
mov dl, byte [ebp - 0x394]
mov byte [ebp - 0x389], dl
mov byte [ebp - 0x3ad], 0
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3ad], cl
movzx edx, byte [ebp - 0x36f]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov dl, byte [ebp - 0x36f]
add dl, 1
mov byte [ebp - 0x36f], dl
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov dl, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], dl
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3ad]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x3ad]
movzx eax, byte [ebp + edx - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx edx, byte [ebp - 0x389]
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor edx, ecx
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp + eax - 0x35c]
movzx eax, byte [ebp - 0x246]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
movzx eax, byte [ebp - 0x35d]
movzx eax, byte [ebp + eax - 0x35c]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp + ecx - 0x35c]
xor edx, eax
mov byte [ebp - 0x365], dl
mov cl, byte [ebp - 0x389]
mov byte [ebp - 0x246], cl
mov dl, byte [ebp - 0x365]
mov byte [ebp - 0x39d], dl
cmp dword [ebp - 0x39c], 0
jle 0x516c33
mov eax, dword [ebp - 0x39c]
mov cl, byte [ebp - 0x39d]
mov byte [ebp + eax - 0x229], cl
mov edx, dword [ebp - 0x398]
add edx, 8
mov dword [ebp - 0x398], edx
mov eax, dword [ebp - 0x39c]
add eax, 1
mov dword [ebp - 0x3c0], eax
jmp 0x516c62
mov ecx, dword [ebp - 0x3c0]
add ecx, 1
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x3c0]
cmp edx, dword [ebp - 0x398]
jge 0x516ec0
mov eax, dword [ebp - 0x39c]
add eax, 1
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x39c]
shl ecx, 1
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x250]
add edx, dword [ebp - 0x380]
movzx eax, byte [edx]
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x388], 0xa8
mov ecx, dword [ebp - 0x39c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x390], edx
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x390]
movzx ecx, byte [eax]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3a8], 0x82
mov edx, dword [ebp - 0x3ac]
sub edx, dword [ebp - 0x388]
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3bc]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x3b8]
shl ecx, 4
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3b4]
or eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x394], eax
mov cl, byte [ebp - 0x394]
mov byte [ebp - 0x389], cl
movzx edx, byte [ebp - 0x246]
mov al, byte [ebp + edx - 0x35c]
mov byte [ebp - 0x3ad], al
movzx ecx, byte [ebp - 0x36f]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x255]
add eax, edx
mov byte [ebp - 0x255], al
mov cl, byte [ebp - 0x36f]
add cl, 1
mov byte [ebp - 0x36f], cl
movzx edx, byte [ebp - 0x255]
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x365]
movzx eax, byte [ebp - 0x255]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x36f]
movzx eax, byte [ebp - 0x365]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x36f]
mov al, byte [ebp - 0x3ad]
mov byte [ebp + edx - 0x35c], al
movzx ecx, byte [ebp - 0x3ad]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x35d]
add eax, edx
mov byte [ebp - 0x35d], al
movzx ecx, byte [ebp - 0x389]
movzx edx, byte [ebp - 0x255]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
xor ecx, eax
movzx edx, byte [ebp - 0x365]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
movzx edx, byte [ebp + eax - 0x35c]
xor ecx, edx
mov byte [ebp - 0x365], cl
mov al, byte [ebp - 0x389]
mov byte [ebp - 0x246], al
mov cl, byte [ebp - 0x365]
mov byte [ebp - 0x39d], cl
cmp dword [ebp - 0x39c], 0
jle 0x516ebb
mov edx, dword [ebp - 0x39c]
mov al, byte [ebp - 0x39d]
mov byte [ebp + edx - 0x229], al
jmp 0x516c53
mov ecx, dword [ebp - 0x398]
add ecx, 1
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x398]
add edx, 9
mov dword [ebp - 0x398], edx
mov eax, dword [ebp - 0x39c]
add eax, 1
mov dword [ebp - 0x3c4], eax
jmp 0x516efe
mov ecx, dword [ebp - 0x3c4]
add ecx, 1
mov dword [ebp - 0x3c4], ecx
mov edx, dword [ebp - 0x3c4]
cmp edx, dword [ebp - 0x398]
jge 0x5172f1
mov eax, dword [ebp - 0x39c]
add eax, 1
mov dword [ebp - 0x39c], eax
mov ecx, dword [ebp - 0x39c]
shl ecx, 1
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x250]
add edx, dword [ebp - 0x380]
movzx eax, byte [edx]
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x388], 0xa8
fld qword [0x9c6ae8]
fstp qword [ebp - 0x3d4]
fld qword [0x9c6ae0]
fstp qword [ebp - 0x3cc]
fld qword [0x9c6ad8]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3d4]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3d4]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3cc]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3cc]
fcomp qword [ebp - 0x3d4]
fnstsw ax
test ah, 5
jp 0x517004
fld qword [ebp - 0x3cc]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x3d4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x3d4]
fstp qword [ebp - 0x3dc]
mov ecx, dword [ebp - 0x39c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x390], edx
jmp 0x5170f1
fld qword [ebp - 0x3d4]
fadd qword [ebp - 0x3cc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3dc]
fmul qword [ebp - 0x3d4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3cc]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x3cc]
fld qword [ebp - 0x3d4]
fdiv qword [ebp - 0x3cc]
fstp qword [ebp - 0x3d4]
fld qword [ebp - 0x3dc]
fdiv qword [ebp - 0x3d4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x3d4]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3cc]
fcomp qword [ebp - 0x3dc]
fnstsw ax
test ah, 0x41
jne 0x5170bb
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x3cc]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fmul qword [ebp - 0x3cc]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3d4]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3d4]
jmp 0x5170f1
fld qword [ebp - 0x3dc]
fmul qword [ebp - 0x3cc]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x3cc]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x3cc]
fstp qword [ebp - 0x3dc]
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x390]
movzx ecx, byte [eax]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3a8], 0x82
mov edx, dword [ebp - 0x3ac]
sub edx, dword [ebp - 0x388]
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3bc]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x3b8]
shl ecx, 4
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3b4]
or eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x394], eax
mov cl, byte [ebp - 0x394]
mov byte [ebp - 0x389], cl
movzx edx, byte [ebp - 0x246]
mov al, byte [ebp + edx - 0x35c]
mov byte [ebp - 0x3ad], al
movzx ecx, byte [ebp - 0x36f]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x255]
add eax, edx
mov byte [ebp - 0x255], al
mov cl, byte [ebp - 0x36f]
add cl, 1
mov byte [ebp - 0x36f], cl
movzx edx, byte [ebp - 0x255]
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x365]
movzx eax, byte [ebp - 0x255]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x36f]
movzx eax, byte [ebp - 0x365]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x36f]
mov al, byte [ebp - 0x3ad]
mov byte [ebp + edx - 0x35c], al
movzx ecx, byte [ebp - 0x3ad]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x35d]
add eax, edx
mov byte [ebp - 0x35d], al
movzx ecx, byte [ebp - 0x389]
movzx edx, byte [ebp - 0x255]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
xor ecx, eax
movzx edx, byte [ebp - 0x365]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
movzx edx, byte [ebp + eax - 0x35c]
xor ecx, edx
mov byte [ebp - 0x365], cl
mov al, byte [ebp - 0x389]
mov byte [ebp - 0x246], al
mov cl, byte [ebp - 0x365]
mov byte [ebp - 0x39d], cl
cmp dword [ebp - 0x39c], 0
jle 0x5172ec
mov edx, dword [ebp - 0x39c]
mov al, byte [ebp - 0x39d]
mov byte [ebp + edx - 0x229], al
jmp 0x516eef
mov ecx, dword [ebp - 0x398]
add ecx, 1
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x39c]
add edx, 1
mov dword [ebp - 0x39c], edx
mov eax, dword [ebp - 0x398]
add eax, 1
mov dword [ebp - 0x398], eax
mov ecx, dword [ebp - 0x39c]
shl ecx, 1
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x250]
add edx, dword [ebp - 0x380]
movzx eax, byte [edx]
mov dword [ebp - 0x3ac], eax
mov dword [ebp - 0x388], 0xa8
mov ecx, dword [ebp - 0x39c]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x390], edx
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x390]
movzx ecx, byte [eax]
mov dword [ebp - 0x3bc], ecx
mov dword [ebp - 0x3a8], 0x82
mov edx, dword [ebp - 0x3ac]
sub edx, dword [ebp - 0x388]
mov dword [ebp - 0x3b8], edx
mov eax, dword [ebp - 0x3bc]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x384], eax
mov ecx, dword [ebp - 0x3b8]
shl ecx, 4
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x384]
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3b4]
or eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x394], eax
mov cl, byte [ebp - 0x394]
mov byte [ebp - 0x389], cl
movzx edx, byte [ebp - 0x246]
mov al, byte [ebp + edx - 0x35c]
mov byte [ebp - 0x3ad], al
movzx ecx, byte [ebp - 0x36f]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x255]
add eax, edx
mov byte [ebp - 0x255], al
mov cl, byte [ebp - 0x36f]
add cl, 1
mov byte [ebp - 0x36f], cl
movzx edx, byte [ebp - 0x255]
movzx eax, byte [ebp - 0x246]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x365]
movzx eax, byte [ebp - 0x255]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x36f]
movzx eax, byte [ebp - 0x365]
mov cl, byte [ebp + edx - 0x35c]
mov byte [ebp + eax - 0x35c], cl
movzx edx, byte [ebp - 0x36f]
mov al, byte [ebp - 0x3ad]
mov byte [ebp + edx - 0x35c], al
movzx ecx, byte [ebp - 0x3ad]
movzx edx, byte [ebp + ecx - 0x35c]
movzx eax, byte [ebp - 0x35d]
add eax, edx
mov byte [ebp - 0x35d], al
movzx ecx, byte [ebp - 0x389]
movzx edx, byte [ebp - 0x255]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
xor ecx, eax
movzx edx, byte [ebp - 0x365]
movzx eax, byte [ebp + edx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x35c]
movzx edx, byte [ebp + eax - 0x35c]
xor ecx, edx
mov byte [ebp - 0x365], cl
mov al, byte [ebp - 0x389]
mov byte [ebp - 0x246], al
mov cl, byte [ebp - 0x365]
mov byte [ebp - 0x39d], cl
cmp dword [ebp - 0x39c], 0
jle 0x517556
mov edx, dword [ebp - 0x39c]
mov al, byte [ebp - 0x39d]
mov byte [ebp + edx - 0x229], al
mov byte [ebp - 0x216], 0
jmp 0x517593
mov dword [ebp - 0x3e0], 0
jmp 0x51757a
mov ecx, dword [ebp - 0x3e0]
add ecx, 1
mov dword [ebp - 0x3e0], ecx
cmp dword [ebp - 0x3e0], 0x13
jge 0x517593
mov edx, dword [ebp - 0x3e0]
mov byte [ebp + edx - 0x228], 0
jmp 0x51756b
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [0x9fda1c]
call fcn.0044de30
mov dword [ebp - 0x234], eax
push 0x104
lea ecx, [ebp - 0x214]
push ecx
push 0
call dword [ebp - 0x234]
test eax, eax
je 0x51ed65
xor edx, edx
mov word [ebp - 0x654], dx
push 0x206
push 0
lea eax, [ebp - 0x652]
push eax
call fcn.0095ae70
add esp, 0xc
lea ecx, [ebp - 0x214]
mov dword [ebp - 0xee8], ecx
lea edx, [ebp - 0x654]
mov dword [ebp - 0xeec], edx
mov eax, dword [ebp - 0xeec]
mov dword [ebp - 0xef0], eax
mov ecx, dword [ebp - 0xee8]
mov dx, word [ecx]
mov word [ebp - 0xef2], dx
mov eax, dword [ebp - 0xeec]
mov cx, word [ebp - 0xef2]
mov word [eax], cx
mov edx, dword [ebp - 0xee8]
add edx, 2
mov dword [ebp - 0xee8], edx
mov eax, dword [ebp - 0xeec]
add eax, 2
mov dword [ebp - 0xeec], eax
cmp word [ebp - 0xef2], 0
jne 0x51760a
push 0x2e
lea ecx, [ebp - 0x654]
push ecx
call fcn.005019d0
add esp, 8
mov dword [ebp - 0x3f4], eax
mov edx, dword [ebp - 0x3f4]
movzx eax, word [edx + 4]
cmp eax, 0x78
jne 0x51768b
mov ecx, dword [ebp - 0x3f4]
movzx edx, word [ecx + 6]
cmp edx, 0x65
je 0x518a43
mov dword [ebp - 0x684], 0
mov dword [ebp - 0x688], 0
fldz
fstp qword [ebp - 0x6a4]
fldz
fstp qword [ebp - 0x69c]
fldz
fstp qword [ebp - 0x69c]
jmp 0x5176cb
fld qword [ebp - 0x69c]
fadd qword [0x9c5c28]
fstp qword [ebp - 0x69c]
fld qword [0x9ca6e8]
fcomp qword [ebp - 0x69c]
fnstsw ax
test ah, 0x41
jne 0x517754
fld qword [0x9ca6e0]
fmul qword [ebp - 0x69c]
fmul qword [ebp - 0x69c]
fld qword [ebp - 0x69c]
fmul qword [ebp - 0x69c]
fsubp st(1)
fld qword [0x9c8940]
fmul qword [ebp - 0x69c]
fmul qword [ebp - 0x69c]
fadd qword [0x9ca6d8]
fdivp st(1)
fadd qword [ebp - 0x6a4]
fstp qword [ebp - 0x6a4]
fld qword [0x9ca6d0]
fcomp qword [ebp - 0x6a4]
fnstsw ax
test ah, 5
jp 0x51774f
fld qword [0x9ca6c8]
fmul qword [ebp - 0x69c]
fsubr qword [ebp - 0x6a4]
fstp qword [ebp - 0x6a4]
jmp 0x5176b9
fldz
fcomp qword [ebp - 0x6a4]
fnstsw ax
test ah, 0x41
jne 0x517787
inc esp
and cl, byte [ebp + 0x67]
dec esp
pop ebp
insd dword es:[edi], dx
dec ebx
push eax
cmp eax, 0x5a353e29
xor dword [ebp + 0x69], edx
dec edi
inc ecx
inc ebx
pop es
in eax, dx
adc ah, bl
or bl, ch
adc al, 0xeb
or eax, 0x11e4e9ef
add byte [eax], al
mov dword [ebp - 0x684], 0x517778
mov dword [ebp - 0x688], 0x517763
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0x6b0], eax
mov ecx, dword [ebp - 0x688]
mov dword [ebp - 0x6ac], ecx
mov byte [ebp - 0x7cd], 0x19
mov dword [ebp - 0x7c4], 0
jmp 0x5177d5
mov edx, dword [ebp - 0x7c4]
add edx, 1
mov dword [ebp - 0x7c4], edx
cmp dword [ebp - 0x7c4], 0x100
jae 0x5177f6
mov eax, dword [ebp - 0x7c4]
mov cl, byte [ebp - 0x7c4]
mov byte [ebp + eax - 0x7bc], cl
jmp 0x5177c6
mov dword [ebp - 0x6b4], 0
mov byte [ebp - 0x7ce], 0
mov dword [ebp - 0x7c4], 0xff
jmp 0x517822
mov edx, dword [ebp - 0x7c4]
sub edx, 1
mov dword [ebp - 0x7c4], edx
cmp dword [ebp - 0x7c4], 0
jbe 0x517b3a
mov dword [ebp - 0x7d4], 0
mov dword [ebp - 0x7dc], 1
mov eax, dword [ebp - 0x7dc]
cmp eax, dword [ebp - 0x7c4]
jae 0x517863
mov ecx, dword [ebp - 0x7dc]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x7dc], edx
jmp 0x517843
mov eax, dword [ebp - 0x6b4]
mov dword [ebp - 0xef8], eax
cmp dword [ebp - 0xef8], 3
ja case.default.0x517882
mov ecx, dword [ebp - 0xef8]
jmp dword [ecx*4 + 0x51ed8c]
movzx edx, byte [ebp - 0x7ce]
movzx ecx, byte [ebp + edx - 0x7bc]
fld qword [ebp - 0x6a4]
fnstcw word [ebp - 0xefa]
movzx eax, word [ebp - 0xefa]
or eax, 0xc00
mov dword [ebp - 0xf00], eax
fldcw word [ebp - 0xf00]
fistp qword [ebp - 0xf08]
fldcw word [ebp - 0xefa]
mov edx, dword [ebp - 0xf08]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x7ce], cl
jmp 0x517a13
movzx eax, byte [ebp - 0x7ce]
movzx ecx, byte [ebp + eax - 0x7bc]
fld qword [ebp - 0x6a4]
fnstcw word [ebp - 0xf0a]
movzx eax, word [ebp - 0xf0a]
or eax, 0xc00
mov dword [ebp - 0xf10], eax
fldcw word [ebp - 0xf10]
fistp qword [ebp - 0xf18]
fldcw word [ebp - 0xf0a]
mov edx, dword [ebp - 0xf18]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x7ce], cl
jmp 0x517a13
movzx eax, byte [ebp - 0x7ce]
movzx ecx, byte [ebp + eax - 0x7bc]
fld qword [ebp - 0x6a4]
fnstcw word [ebp - 0xf1a]
movzx eax, word [ebp - 0xf1a]
or eax, 0xc00
mov dword [ebp - 0xf20], eax
fldcw word [ebp - 0xf20]
fistp qword [ebp - 0xf28]
fldcw word [ebp - 0xf1a]
mov edx, dword [ebp - 0xf28]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x7ce], cl
jmp 0x517a13
movzx eax, byte [ebp - 0x7ce]
movzx ecx, byte [ebp + eax - 0x7bc]
fld qword [ebp - 0x6a4]
fnstcw word [ebp - 0xf2a]
movzx eax, word [ebp - 0xf2a]
or eax, 0xc00
mov dword [ebp - 0xf30], eax
fldcw word [ebp - 0xf30]
fistp qword [ebp - 0xf38]
fldcw word [ebp - 0xf2a]
mov edx, dword [ebp - 0xf38]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x7ce], cl
jmp 0x517a13
movzx eax, byte [ebp - 0x7ce]
movzx ecx, byte [ebp + eax - 0x7bc]
mov edx, dword [ebp - 0x6ac]
add edx, dword [ebp - 0x6b4]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x7ce], cl
mov ecx, dword [ebp - 0x6b4]
add ecx, 1
mov dword [ebp - 0x6b4], ecx
movzx edx, byte [ebp - 0x7cd]
cmp dword [ebp - 0x6b4], edx
jb 0x517a51
mov dword [ebp - 0x6b4], 0
movzx eax, byte [ebp - 0x7cd]
movzx ecx, byte [ebp - 0x7ce]
add ecx, eax
mov byte [ebp - 0x7ce], cl
movzx edx, byte [ebp - 0x7ce]
and edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d4]
add eax, 1
mov dword [ebp - 0x7d4], eax
cmp dword [ebp - 0x7d4], 0xb
jbe 0x517a90
mov eax, dword [ebp - 0x7d8]
xor edx, edx
div dword [ebp - 0x7c4]
mov dword [ebp - 0x7d8], edx
mov ecx, dword [ebp - 0x7d8]
cmp ecx, dword [ebp - 0x7c4]
ja 0x517863
mov edx, dword [ebp - 0x7c4]
cmp edx, dword [ebp - 0x7d8]
je 0x517b35
mov eax, dword [ebp - 0x7d8]
movzx ecx, byte [ebp + eax - 0x7bc]
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [ebp + edx - 0x7bc]
xor eax, ecx
mov ecx, dword [ebp - 0x7c4]
mov byte [ebp + ecx - 0x7bc], al
mov edx, dword [ebp - 0x7c4]
movzx eax, byte [ebp + edx - 0x7bc]
mov ecx, dword [ebp - 0x7d8]
movzx edx, byte [ebp + ecx - 0x7bc]
xor edx, eax
mov eax, dword [ebp - 0x7d8]
mov byte [ebp + eax - 0x7bc], dl
mov ecx, dword [ebp - 0x7d8]
movzx edx, byte [ebp + ecx - 0x7bc]
mov eax, dword [ebp - 0x7c4]
movzx ecx, byte [ebp + eax - 0x7bc]
xor ecx, edx
mov edx, dword [ebp - 0x7c4]
mov byte [ebp + edx - 0x7bc], cl
jmp 0x517813
mov al, byte [ebp - 0x7bb]
mov byte [ebp - 0x7cf], al
mov cl, byte [ebp - 0x7b9]
mov byte [ebp - 0x6b5], cl
mov dl, byte [ebp - 0x7b7]
mov byte [ebp - 0x7bd], dl
mov al, byte [ebp - 0x7b5]
mov byte [ebp - 0x7c5], al
movzx ecx, byte [ebp - 0x7ce]
mov dl, byte [ebp + ecx - 0x7bc]
mov byte [ebp - 0x6a5], dl
mov dword [ebp - 0x7cc], 0xa
cmp dword [ebp - 0x7cc], 2
jle 0x518935
mov eax, dword [ebp - 0x7cc]
and eax, 1
jne 0x518935
mov dword [ebp - 0x808], 0
mov dword [ebp - 0x804], 0
mov ecx, dword [ebp - 0x804]
add ecx, 1
mov dword [ebp - 0x804], ecx
mov dword [ebp - 0x7e0], 0
mov edx, dword [ebp - 0x808]
shl edx, 1
mov dword [ebp - 0x7e0], edx
mov dword [ebp - 0x81c], 0
mov eax, dword [ebp - 0x6b0]
add eax, dword [ebp - 0x7e0]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x81c]
mov dword [ebp - 0x81c], ecx
mov dword [ebp - 0x7f0], 0
mov edx, dword [ebp - 0x7f0]
add edx, 5
mov dword [ebp - 0x7f0], edx
mov dword [ebp - 0x7f8], 0
mov eax, dword [ebp - 0x808]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7f8], ecx
mov dword [ebp - 0x82c], 0
mov edx, dword [ebp - 0x6b0]
add edx, dword [ebp - 0x7f8]
movzx eax, byte [edx]
add eax, dword [ebp - 0x82c]
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x818], 0
mov ecx, dword [ebp - 0x818]
add ecx, 0xe3
mov dword [ebp - 0x818], ecx
mov dword [ebp - 0x828], 0
mov edx, dword [ebp - 0x81c]
sub edx, dword [ebp - 0x7f0]
add edx, dword [ebp - 0x828]
mov dword [ebp - 0x828], edx
mov dword [ebp - 0x7e8], 0
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebp - 0x818]
add eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x7e8], eax
mov dword [ebp - 0x824], 0
mov ecx, dword [ebp - 0x828]
shl ecx, 4
mov dword [ebp - 0x824], ecx
mov dword [ebp - 0x814], 0
mov edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x814], edx
mov dword [ebp - 0x800], 0
mov eax, dword [ebp - 0x824]
or eax, dword [ebp - 0x814]
mov dword [ebp - 0x800], eax
mov byte [ebp - 0x7f1], 0
mov cl, byte [ebp - 0x800]
mov byte [ebp - 0x7f1], cl
mov byte [ebp - 0x81d], 0
movzx edx, byte [ebp - 0x6a5]
mov al, byte [ebp + edx - 0x7bc]
mov byte [ebp - 0x81d], al
movzx ecx, byte [ebp - 0x7cf]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx eax, byte [ebp - 0x6b5]
add eax, edx
mov byte [ebp - 0x6b5], al
mov cl, byte [ebp - 0x7cf]
add cl, 1
mov byte [ebp - 0x7cf], cl
movzx edx, byte [ebp - 0x6b5]
movzx eax, byte [ebp - 0x6a5]
mov cl, byte [ebp + edx - 0x7bc]
mov byte [ebp + eax - 0x7bc], cl
movzx edx, byte [ebp - 0x7c5]
movzx eax, byte [ebp - 0x6b5]
mov cl, byte [ebp + edx - 0x7bc]
mov byte [ebp + eax - 0x7bc], cl
movzx edx, byte [ebp - 0x7cf]
movzx eax, byte [ebp - 0x7c5]
mov cl, byte [ebp + edx - 0x7bc]
mov byte [ebp + eax - 0x7bc], cl
movzx edx, byte [ebp - 0x7cf]
mov al, byte [ebp - 0x81d]
mov byte [ebp + edx - 0x7bc], al
movzx ecx, byte [ebp - 0x81d]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx eax, byte [ebp - 0x7bd]
add eax, edx
mov byte [ebp - 0x7bd], al
movzx ecx, byte [ebp - 0x7f1]
movzx edx, byte [ebp - 0x6b5]
movzx eax, byte [ebp + edx - 0x7bc]
movzx edx, byte [ebp - 0x7cf]
movzx edx, byte [ebp + edx - 0x7bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7bc]
xor ecx, eax
movzx edx, byte [ebp - 0x7c5]
movzx eax, byte [ebp + edx - 0x7bc]
movzx edx, byte [ebp - 0x6a5]
movzx edx, byte [ebp + edx - 0x7bc]
add eax, edx
movzx edx, byte [ebp - 0x7bd]
movzx edx, byte [ebp + edx - 0x7bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7bc]
movzx edx, byte [ebp + eax - 0x7bc]
xor ecx, edx
mov byte [ebp - 0x7c5], cl
mov al, byte [ebp - 0x7f1]
mov byte [ebp - 0x6a5], al
mov cl, byte [ebp - 0x7c5]
mov byte [ebp - 0x80d], cl
cmp dword [ebp - 0x808], 0
jle 0x517ea3
movsx dx, byte [ebp - 0x80d]
mov eax, dword [ebp - 0x808]
mov word [ebp + eax*2 - 0x696], dx
mov ecx, dword [ebp - 0x808]
add ecx, 1
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x804]
add edx, 1
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x808]
shl eax, 1
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x6b0]
add ecx, dword [ebp - 0x7e0]
movzx edx, byte [ecx]
mov dword [ebp - 0x81c], edx
mov dword [ebp - 0x7f0], 5
mov eax, dword [ebp - 0x808]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x6b0]
add edx, dword [ebp - 0x7f8]
movzx eax, byte [edx]
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x818], 0xe3
mov ecx, dword [ebp - 0x81c]
sub ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x82c]
sub edx, dword [ebp - 0x818]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x828]
shl eax, 4
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x7e8]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x824]
or edx, dword [ebp - 0x814]
mov dword [ebp - 0x800], edx
mov al, byte [ebp - 0x800]
mov byte [ebp - 0x7f1], al
movzx ecx, byte [ebp - 0x6a5]
mov dl, byte [ebp + ecx - 0x7bc]
mov byte [ebp - 0x81d], dl
movzx eax, byte [ebp - 0x7cf]
movzx ecx, byte [ebp + eax - 0x7bc]
movzx edx, byte [ebp - 0x6b5]
add edx, ecx
mov byte [ebp - 0x6b5], dl
mov al, byte [ebp - 0x7cf]
add al, 1
mov byte [ebp - 0x7cf], al
movzx ecx, byte [ebp - 0x6b5]
movzx edx, byte [ebp - 0x6a5]
mov al, byte [ebp + ecx - 0x7bc]
mov byte [ebp + edx - 0x7bc], al
movzx ecx, byte [ebp - 0x7c5]
movzx edx, byte [ebp - 0x6b5]
mov al, byte [ebp + ecx - 0x7bc]
mov byte [ebp + edx - 0x7bc], al
movzx ecx, byte [ebp - 0x7cf]
movzx edx, byte [ebp - 0x7c5]
mov al, byte [ebp + ecx - 0x7bc]
mov byte [ebp + edx - 0x7bc], al
movzx ecx, byte [ebp - 0x7cf]
mov dl, byte [ebp - 0x81d]
mov byte [ebp + ecx - 0x7bc], dl
movzx eax, byte [ebp - 0x81d]
movzx ecx, byte [ebp + eax - 0x7bc]
movzx edx, byte [ebp - 0x7bd]
add edx, ecx
mov byte [ebp - 0x7bd], dl
movzx eax, byte [ebp - 0x7f1]
movzx ecx, byte [ebp - 0x6b5]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx ecx, byte [ebp - 0x7cf]
movzx ecx, byte [ebp + ecx - 0x7bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7bc]
xor eax, edx
movzx ecx, byte [ebp - 0x7c5]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx ecx, byte [ebp - 0x6a5]
movzx ecx, byte [ebp + ecx - 0x7bc]
add edx, ecx
movzx ecx, byte [ebp - 0x7bd]
movzx ecx, byte [ebp + ecx - 0x7bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7bc]
movzx ecx, byte [ebp + edx - 0x7bc]
xor eax, ecx
mov byte [ebp - 0x7c5], al
mov dl, byte [ebp - 0x7f1]
mov byte [ebp - 0x6a5], dl
mov al, byte [ebp - 0x7c5]
mov byte [ebp - 0x80d], al
cmp dword [ebp - 0x808], 0
jle 0x5180fd
movsx cx, byte [ebp - 0x80d]
mov edx, dword [ebp - 0x808]
mov word [ebp + edx*2 - 0x696], cx
mov eax, dword [ebp - 0x808]
add eax, 1
mov dword [ebp - 0x808], eax
mov ecx, dword [ebp - 0x804]
add ecx, 1
mov dword [ebp - 0x804], ecx
mov edx, dword [ebp - 0x808]
shl edx, 1
mov dword [ebp - 0x7e0], edx
mov eax, dword [ebp - 0x6b0]
add eax, dword [ebp - 0x7e0]
movzx ecx, byte [eax]
mov dword [ebp - 0x81c], ecx
mov dword [ebp - 0x7f0], 5
mov edx, dword [ebp - 0x808]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x6b0]
add ecx, dword [ebp - 0x7f8]
movzx edx, byte [ecx]
mov dword [ebp - 0x82c], edx
mov dword [ebp - 0x818], 0xe3
mov eax, dword [ebp - 0x81c]
sub eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x828], eax
mov ecx, dword [ebp - 0x82c]
sub ecx, dword [ebp - 0x818]
mov dword [ebp - 0x7e8], ecx
mov edx, dword [ebp - 0x828]
shl edx, 4
mov dword [ebp - 0x824], edx
mov eax, dword [ebp - 0x7e8]
mov dword [ebp - 0x814], eax
mov ecx, dword [ebp - 0x824]
or ecx, dword [ebp - 0x814]
mov dword [ebp - 0x800], ecx
mov dl, byte [ebp - 0x800]
mov byte [ebp - 0x7f1], dl
movzx eax, byte [ebp - 0x6a5]
mov cl, byte [ebp + eax - 0x7bc]
mov byte [ebp - 0x81d], cl
movzx edx, byte [ebp - 0x7cf]
movzx eax, byte [ebp + edx - 0x7bc]
movzx ecx, byte [ebp - 0x6b5]
add ecx, eax
mov byte [ebp - 0x6b5], cl
mov dl, byte [ebp - 0x7cf]
add dl, 1
mov byte [ebp - 0x7cf], dl
movzx eax, byte [ebp - 0x6b5]
movzx ecx, byte [ebp - 0x6a5]
mov dl, byte [ebp + eax - 0x7bc]
mov byte [ebp + ecx - 0x7bc], dl
movzx eax, byte [ebp - 0x7c5]
movzx ecx, byte [ebp - 0x6b5]
mov dl, byte [ebp + eax - 0x7bc]
mov byte [ebp + ecx - 0x7bc], dl
movzx eax, byte [ebp - 0x7cf]
movzx ecx, byte [ebp - 0x7c5]
mov dl, byte [ebp + eax - 0x7bc]
mov byte [ebp + ecx - 0x7bc], dl
movzx eax, byte [ebp - 0x7cf]
mov cl, byte [ebp - 0x81d]
mov byte [ebp + eax - 0x7bc], cl
movzx edx, byte [ebp - 0x81d]
movzx eax, byte [ebp + edx - 0x7bc]
movzx ecx, byte [ebp - 0x7bd]
add ecx, eax
mov byte [ebp - 0x7bd], cl
movzx edx, byte [ebp - 0x7f1]
movzx eax, byte [ebp - 0x6b5]
movzx ecx, byte [ebp + eax - 0x7bc]
movzx eax, byte [ebp - 0x7cf]
movzx eax, byte [ebp + eax - 0x7bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7bc]
xor edx, ecx
movzx eax, byte [ebp - 0x7c5]
movzx ecx, byte [ebp + eax - 0x7bc]
movzx eax, byte [ebp - 0x6a5]
movzx eax, byte [ebp + eax - 0x7bc]
add ecx, eax
movzx eax, byte [ebp - 0x7bd]
movzx eax, byte [ebp + eax - 0x7bc]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7bc]
movzx eax, byte [ebp + ecx - 0x7bc]
xor edx, eax
mov byte [ebp - 0x7c5], dl
mov cl, byte [ebp - 0x7f1]
mov byte [ebp - 0x6a5], cl
mov dl, byte [ebp - 0x7c5]
mov byte [ebp - 0x80d], dl
cmp dword [ebp - 0x808], 0
jle 0x518358
movsx ax, byte [ebp - 0x80d]
mov ecx, dword [ebp - 0x808]
mov word [ebp + ecx*2 - 0x696], ax
mov edx, dword [ebp - 0x808]
add edx, 1
mov dword [ebp - 0x808], edx
mov eax, dword [ebp - 0x804]
add eax, 1
mov dword [ebp - 0x804], eax
mov ecx, dword [ebp - 0x808]
shl ecx, 1
mov dword [ebp - 0x7e0], ecx
mov edx, dword [ebp - 0x6b0]
add edx, dword [ebp - 0x7e0]
movzx eax, byte [edx]
mov dword [ebp - 0x81c], eax
mov dword [ebp - 0x7f0], 5
mov ecx, dword [ebp - 0x808]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x7f8], edx
mov eax, dword [ebp - 0x6b0]
add eax, dword [ebp - 0x7f8]
movzx ecx, byte [eax]
mov dword [ebp - 0x82c], ecx
mov dword [ebp - 0x818], 0xe3
mov edx, dword [ebp - 0x81c]
sub edx, dword [ebp - 0x7f0]
mov dword [ebp - 0x828], edx
mov eax, dword [ebp - 0x82c]
sub eax, dword [ebp - 0x818]
mov dword [ebp - 0x7e8], eax
mov ecx, dword [ebp - 0x828]
shl ecx, 4
mov dword [ebp - 0x824], ecx
mov edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x824]
or eax, dword [ebp - 0x814]
mov dword [ebp - 0x800], eax
mov cl, byte [ebp - 0x800]
mov byte [ebp - 0x7f1], cl
movzx edx, byte [ebp - 0x6a5]
mov al, byte [ebp + edx - 0x7bc]
mov byte [ebp - 0x81d], al
movzx ecx, byte [ebp - 0x7cf]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx eax, byte [ebp - 0x6b5]
add eax, edx
mov byte [ebp - 0x6b5], al
mov cl, byte [ebp - 0x7cf]
add cl, 1
mov byte [ebp - 0x7cf], cl
movzx edx, byte [ebp - 0x6b5]
movzx eax, byte [ebp - 0x6a5]
mov cl, byte [ebp + edx - 0x7bc]
mov byte [ebp + eax - 0x7bc], cl
movzx edx, byte [ebp - 0x7c5]
movzx eax, byte [ebp - 0x6b5]
mov cl, byte [ebp + edx - 0x7bc]
mov byte [ebp + eax - 0x7bc], cl
movzx edx, byte [ebp - 0x7cf]
movzx eax, byte [ebp - 0x7c5]
mov cl, byte [ebp + edx - 0x7bc]
mov byte [ebp + eax - 0x7bc], cl
movzx edx, byte [ebp - 0x7cf]
mov al, byte [ebp - 0x81d]
mov byte [ebp + edx - 0x7bc], al
movzx ecx, byte [ebp - 0x81d]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx eax, byte [ebp - 0x7bd]
add eax, edx
mov byte [ebp - 0x7bd], al
movzx ecx, byte [ebp - 0x7f1]
movzx edx, byte [ebp - 0x6b5]
movzx eax, byte [ebp + edx - 0x7bc]
movzx edx, byte [ebp - 0x7cf]
movzx edx, byte [ebp + edx - 0x7bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7bc]
xor ecx, eax
movzx edx, byte [ebp - 0x7c5]
movzx eax, byte [ebp + edx - 0x7bc]
movzx edx, byte [ebp - 0x6a5]
movzx edx, byte [ebp + edx - 0x7bc]
add eax, edx
movzx edx, byte [ebp - 0x7bd]
movzx edx, byte [ebp + edx - 0x7bc]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x7bc]
movzx edx, byte [ebp + eax - 0x7bc]
xor ecx, edx
mov byte [ebp - 0x7c5], cl
mov al, byte [ebp - 0x7f1]
mov byte [ebp - 0x6a5], al
mov cl, byte [ebp - 0x7c5]
mov byte [ebp - 0x80d], cl
cmp dword [ebp - 0x808], 0
jle 0x5185b1
movsx dx, byte [ebp - 0x80d]
mov eax, dword [ebp - 0x808]
mov word [ebp + eax*2 - 0x696], dx
mov ecx, dword [ebp - 0x808]
add ecx, 1
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x804]
add edx, 1
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x808]
shl eax, 1
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x6b0]
add ecx, dword [ebp - 0x7e0]
movzx edx, byte [ecx]
mov dword [ebp - 0x81c], edx
mov dword [ebp - 0x7f0], 5
mov eax, dword [ebp - 0x808]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x6b0]
add edx, dword [ebp - 0x7f8]
movzx eax, byte [edx]
mov dword [ebp - 0x82c], eax
mov dword [ebp - 0x818], 0xe3
mov ecx, dword [ebp - 0x81c]
sub ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x82c]
sub edx, dword [ebp - 0x818]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x828]
shl eax, 4
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x7e8]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x824]
or edx, dword [ebp - 0x814]
mov dword [ebp - 0x800], edx
mov al, byte [ebp - 0x800]
mov byte [ebp - 0x7f1], al
movzx ecx, byte [ebp - 0x6a5]
mov dl, byte [ebp + ecx - 0x7bc]
mov byte [ebp - 0x81d], dl
movzx eax, byte [ebp - 0x7cf]
movzx ecx, byte [ebp + eax - 0x7bc]
movzx edx, byte [ebp - 0x6b5]
add edx, ecx
mov byte [ebp - 0x6b5], dl
mov al, byte [ebp - 0x7cf]
add al, 1
mov byte [ebp - 0x7cf], al
movzx ecx, byte [ebp - 0x6b5]
movzx edx, byte [ebp - 0x6a5]
mov al, byte [ebp + ecx - 0x7bc]
mov byte [ebp + edx - 0x7bc], al
fld dword [0x9ca6c0]
fstp dword [ebp - 0x7e4]
fld dword [0x9c7bb8]
fstp dword [ebp - 0x80c]
fld dword [0x9c7bb0]
fstp dword [ebp - 0x7fc]
fld dword [0x9c7ba8]
fstp dword [ebp - 0x7ec]
fld dword [ebp - 0x7fc]
fmul dword [ebp - 0x7ec]
fstp dword [ebp - 0x7fc]
fld dword [ebp - 0x7fc]
fsub dword [ebp - 0x7ec]
fstp dword [ebp - 0x7fc]
fld dword [ebp - 0x80c]
fsub dword [ebp - 0x7ec]
fstp dword [ebp - 0x80c]
fld dword [ebp - 0x7fc]
fadd dword [ebp - 0x7ec]
fstp dword [ebp - 0x7fc]
fld dword [ebp - 0x7ec]
fld dword [ebp - 0x7fc]
fcompp
fnstsw ax
test ah, 5
jp 0x5187bb
fld dword [ebp - 0x7fc]
fmul dword [ebp - 0x7ec]
fstp dword [ebp - 0x7fc]
fld dword [ebp - 0x7fc]
fdiv dword [ebp - 0x7ec]
fstp dword [ebp - 0x7fc]
fld dword [ebp - 0x80c]
fmul dword [ebp - 0x7fc]
fstp dword [ebp - 0x80c]
fld dword [ebp - 0x7fc]
fsub dword [ebp - 0x7ec]
fstp dword [ebp - 0x7fc]
jmp 0x51881f
fld dword [ebp - 0x7ec]
fadd dword [ebp - 0x7e4]
fstp dword [ebp - 0x7ec]
fld dword [ebp - 0x7fc]
fsub dword [ebp - 0x7ec]
fstp dword [ebp - 0x7fc]
fld dword [ebp - 0x7ec]
fsub dword [ebp - 0x7e4]
fstp dword [ebp - 0x7ec]
fld dword [ebp - 0x7e4]
fadd dword [ebp - 0x80c]
fstp dword [ebp - 0x7e4]
movzx ecx, byte [ebp - 0x7c5]
movzx edx, byte [ebp - 0x6b5]
mov al, byte [ebp + ecx - 0x7bc]
mov byte [ebp + edx - 0x7bc], al
movzx ecx, byte [ebp - 0x7cf]
movzx edx, byte [ebp - 0x7c5]
mov al, byte [ebp + ecx - 0x7bc]
mov byte [ebp + edx - 0x7bc], al
movzx ecx, byte [ebp - 0x7cf]
mov dl, byte [ebp - 0x81d]
mov byte [ebp + ecx - 0x7bc], dl
movzx eax, byte [ebp - 0x81d]
movzx ecx, byte [ebp + eax - 0x7bc]
movzx edx, byte [ebp - 0x7bd]
add edx, ecx
mov byte [ebp - 0x7bd], dl
movzx eax, byte [ebp - 0x7f1]
movzx ecx, byte [ebp - 0x6b5]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx ecx, byte [ebp - 0x7cf]
movzx ecx, byte [ebp + ecx - 0x7bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7bc]
xor eax, edx
movzx ecx, byte [ebp - 0x7c5]
movzx edx, byte [ebp + ecx - 0x7bc]
movzx ecx, byte [ebp - 0x6a5]
movzx ecx, byte [ebp + ecx - 0x7bc]
add edx, ecx
movzx ecx, byte [ebp - 0x7bd]
movzx ecx, byte [ebp + ecx - 0x7bc]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x7bc]
movzx ecx, byte [ebp + edx - 0x7bc]
xor eax, ecx
mov byte [ebp - 0x7c5], al
mov dl, byte [ebp - 0x7f1]
mov byte [ebp - 0x6a5], dl
mov al, byte [ebp - 0x7c5]
mov byte [ebp - 0x80d], al
cmp dword [ebp - 0x808], 0
jle 0x51892a
movsx cx, byte [ebp - 0x80d]
mov edx, dword [ebp - 0x808]
mov word [ebp + edx*2 - 0x696], cx
xor eax, eax
mov word [ebp - 0x68c], ax
jmp 0x51896b
mov dword [ebp - 0x830], 0
jmp 0x518950
mov ecx, dword [ebp - 0x830]
add ecx, 1
mov dword [ebp - 0x830], ecx
cmp dword [ebp - 0x830], 5
jge 0x51896b
xor edx, edx
mov eax, dword [ebp - 0x830]
mov word [ebp + eax*2 - 0x694], dx
jmp 0x518941
xor ecx, ecx
mov edx, dword [ebp - 0x3f4]
mov word [edx], cx
lea eax, [ebp - 0x694]
mov dword [ebp - 0xf3c], eax
mov ecx, dword [ebp - 0xf3c]
mov dword [ebp - 0xf40], ecx
mov edx, dword [ebp - 0xf3c]
mov ax, word [edx]
mov word [ebp - 0xf42], ax
add dword [ebp - 0xf3c], 2
cmp word [ebp - 0xf42], 0
jne 0x51898e
mov ecx, dword [ebp - 0xf3c]
sub ecx, dword [ebp - 0xf40]
mov edx, dword [ebp - 0xf40]
mov dword [ebp - 0xf48], edx
mov dword [ebp - 0xf4c], ecx
lea eax, [ebp - 0x654]
add eax, 0xfffffffe
mov dword [ebp - 0xf50], eax
mov ecx, dword [ebp - 0xf50]
mov dx, word [ecx + 2]
mov word [ebp - 0xf52], dx
add dword [ebp - 0xf50], 2
cmp word [ebp - 0xf52], 0
jne 0x5189dc
mov edi, dword [ebp - 0xf50]
mov esi, dword [ebp - 0xf48]
mov eax, dword [ebp - 0xf4c]
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 - 0x654]
push ecx
lea edx, [ebp - 0x214]
push edx
call fcn.0095ce92
add esp, 8
lea eax, [ebp - 0x654]
push eax
mov ecx, dword [ebp + 8]
call fcn.004a5340
lea ecx, [ebp - 0x3ec]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
push 0x50c4a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x3e8]
call fcn.0090c750
mov dword [ebp - 4], 0
mov dword [ebp - 0x3f0], 0
mov dword [ebp - 0x680], 0
fldz
fstp qword [ebp - 0x41c]
fldz
fstp qword [ebp - 0x44c]
fldz
fstp qword [ebp - 0x44c]
jmp 0x518ab1
fld qword [ebp - 0x44c]
fadd qword [0x9c5c28]
fstp qword [ebp - 0x44c]
fld qword [0x9c8e00]
fcomp qword [ebp - 0x44c]
fnstsw ax
test ah, 0x41
jne 0x518b3a
fld qword [0x9c8df8]
fmul qword [ebp - 0x44c]
fmul qword [ebp - 0x44c]
fld qword [ebp - 0x44c]
fmul qword [ebp - 0x44c]
fsubp st(1)
fld qword [0x9c8df0]
fmul qword [ebp - 0x44c]
fmul qword [ebp - 0x44c]
fadd qword [0x9c8de8]
fdivp st(1)
fadd qword [ebp - 0x41c]
fstp qword [ebp - 0x41c]
fld qword [0x9c8de0]
fcomp qword [ebp - 0x41c]
fnstsw ax
test ah, 5
jp 0x518b35
fld qword [0x9c8dd8]
fmul qword [ebp - 0x44c]
fsubr qword [ebp - 0x41c]
fstp qword [ebp - 0x41c]
jmp 0x518a9f
fldz
fcomp qword [ebp - 0x41c]
fnstsw ax
test ah, 0x41
jne 0x518b7b
invalid
mov dword [ebp - 0x3f0], 0x518b49
mov dword [ebp - 0x680], 0x518b61
mov eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x838], ecx
mov byte [ebp - 0x955], 0x19
mov dword [ebp - 0x94c], 0
jmp 0x518bc9
mov edx, dword [ebp - 0x94c]
add edx, 1
mov dword [ebp - 0x94c], edx
cmp dword [ebp - 0x94c], 0x100
jae 0x518bea
mov eax, dword [ebp - 0x94c]
mov cl, byte [ebp - 0x94c]
mov byte [ebp + eax - 0x944], cl
jmp 0x518bba
mov dword [ebp - 0x840], 0
mov byte [ebp - 0x956], 0
mov dword [ebp - 0x94c], 0xff
jmp 0x518c16
mov edx, dword [ebp - 0x94c]
sub edx, 1
mov dword [ebp - 0x94c], edx
cmp dword [ebp - 0x94c], 0
jbe 0x518f2e
mov dword [ebp - 0x95c], 0
mov dword [ebp - 0x964], 1
mov eax, dword [ebp - 0x964]
cmp eax, dword [ebp - 0x94c]
jae 0x518c57
mov ecx, dword [ebp - 0x964]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x964], edx
jmp 0x518c37
mov eax, dword [ebp - 0x840]
mov dword [ebp - 0xf58], eax
cmp dword [ebp - 0xf58], 3
ja case.default.0x518c76
mov ecx, dword [ebp - 0xf58]
jmp dword [ecx*4 + 0x51ed9c]
movzx edx, byte [ebp - 0x956]
movzx ecx, byte [ebp + edx - 0x944]
fld qword [ebp - 0x41c]
fnstcw word [ebp - 0xf5a]
movzx eax, word [ebp - 0xf5a]
or eax, 0xc00
mov dword [ebp - 0xf60], eax
fldcw word [ebp - 0xf60]
fistp qword [ebp - 0xf68]
fldcw word [ebp - 0xf5a]
mov edx, dword [ebp - 0xf68]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x956], cl
jmp 0x518e07
movzx eax, byte [ebp - 0x956]
movzx ecx, byte [ebp + eax - 0x944]
fld qword [ebp - 0x41c]
fnstcw word [ebp - 0xf6a]
movzx eax, word [ebp - 0xf6a]
or eax, 0xc00
mov dword [ebp - 0xf70], eax
fldcw word [ebp - 0xf70]
fistp qword [ebp - 0xf78]
fldcw word [ebp - 0xf6a]
mov edx, dword [ebp - 0xf78]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x956], cl
jmp 0x518e07
movzx eax, byte [ebp - 0x956]
movzx ecx, byte [ebp + eax - 0x944]
fld qword [ebp - 0x41c]
fnstcw word [ebp - 0xf7a]
movzx eax, word [ebp - 0xf7a]
or eax, 0xc00
mov dword [ebp - 0xf80], eax
fldcw word [ebp - 0xf80]
fistp qword [ebp - 0xf88]
fldcw word [ebp - 0xf7a]
mov edx, dword [ebp - 0xf88]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x956], cl
jmp 0x518e07
movzx eax, byte [ebp - 0x956]
movzx ecx, byte [ebp + eax - 0x944]
fld qword [ebp - 0x41c]
fnstcw word [ebp - 0xf8a]
movzx eax, word [ebp - 0xf8a]
or eax, 0xc00
mov dword [ebp - 0xf90], eax
fldcw word [ebp - 0xf90]
fistp qword [ebp - 0xf98]
fldcw word [ebp - 0xf8a]
mov edx, dword [ebp - 0xf98]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0x956], cl
jmp 0x518e07
movzx eax, byte [ebp - 0x956]
movzx ecx, byte [ebp + eax - 0x944]
mov edx, dword [ebp - 0x838]
add edx, dword [ebp - 0x840]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0x956], cl
mov ecx, dword [ebp - 0x840]
add ecx, 1
mov dword [ebp - 0x840], ecx
movzx edx, byte [ebp - 0x955]
cmp dword [ebp - 0x840], edx
jb 0x518e45
mov dword [ebp - 0x840], 0
movzx eax, byte [ebp - 0x955]
movzx ecx, byte [ebp - 0x956]
add ecx, eax
mov byte [ebp - 0x956], cl
movzx edx, byte [ebp - 0x956]
and edx, dword [ebp - 0x964]
mov dword [ebp - 0x960], edx
mov eax, dword [ebp - 0x95c]
add eax, 1
mov dword [ebp - 0x95c], eax
cmp dword [ebp - 0x95c], 0xb
jbe 0x518e84
mov eax, dword [ebp - 0x960]
xor edx, edx
div dword [ebp - 0x94c]
mov dword [ebp - 0x960], edx
mov ecx, dword [ebp - 0x960]
cmp ecx, dword [ebp - 0x94c]
ja 0x518c57
mov edx, dword [ebp - 0x94c]
cmp edx, dword [ebp - 0x960]
je 0x518f29
mov eax, dword [ebp - 0x960]
movzx ecx, byte [ebp + eax - 0x944]
mov edx, dword [ebp - 0x94c]
movzx eax, byte [ebp + edx - 0x944]
xor eax, ecx
mov ecx, dword [ebp - 0x94c]
mov byte [ebp + ecx - 0x944], al
mov edx, dword [ebp - 0x94c]
movzx eax, byte [ebp + edx - 0x944]
mov ecx, dword [ebp - 0x960]
movzx edx, byte [ebp + ecx - 0x944]
xor edx, eax
mov eax, dword [ebp - 0x960]
mov byte [ebp + eax - 0x944], dl
mov ecx, dword [ebp - 0x960]
movzx edx, byte [ebp + ecx - 0x944]
mov eax, dword [ebp - 0x94c]
movzx ecx, byte [ebp + eax - 0x944]
xor ecx, edx
mov edx, dword [ebp - 0x94c]
mov byte [ebp + edx - 0x944], cl
jmp 0x518c07
mov al, byte [ebp - 0x943]
mov byte [ebp - 0x957], al
mov cl, byte [ebp - 0x941]
mov byte [ebp - 0x841], cl
mov dl, byte [ebp - 0x93f]
mov byte [ebp - 0x945], dl
mov al, byte [ebp - 0x93d]
mov byte [ebp - 0x94d], al
movzx ecx, byte [ebp - 0x956]
mov dl, byte [ebp + ecx - 0x944]
mov byte [ebp - 0x831], dl
mov dword [ebp - 0x954], 0x18
cmp dword [ebp - 0x954], 2
jle 0x51abb1
mov eax, dword [ebp - 0x954]
and eax, 1
jne 0x51abb1
mov dword [ebp - 0x984], 0
mov dword [ebp - 0x980], 0
mov ecx, dword [ebp - 0x980]
add ecx, 1
mov dword [ebp - 0x980], ecx
mov dword [ebp - 0x968], 0
mov edx, dword [ebp - 0x984]
shl edx, 1
mov dword [ebp - 0x968], edx
mov dword [ebp - 0x994], 0
mov eax, dword [ebp - 0x83c]
add eax, dword [ebp - 0x968]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0x994]
mov dword [ebp - 0x994], ecx
mov dword [ebp - 0x970], 0
mov edx, dword [ebp - 0x970]
add edx, 0xbe
mov dword [ebp - 0x970], edx
mov dword [ebp - 0x978], 0
mov eax, dword [ebp - 0x984]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x978], ecx
mov dword [ebp - 0x9a4], 0
mov edx, dword [ebp - 0x83c]
add edx, dword [ebp - 0x978]
movzx eax, byte [edx]
add eax, dword [ebp - 0x9a4]
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x990], 0
mov ecx, dword [ebp - 0x990]
add ecx, 0x58
mov dword [ebp - 0x990], ecx
mov dword [ebp - 0x9a0], 0
mov edx, dword [ebp - 0x994]
sub edx, dword [ebp - 0x970]
add edx, dword [ebp - 0x9a0]
mov dword [ebp - 0x9a0], edx
mov dword [ebp - 0x96c], 0
mov eax, dword [ebp - 0x9a4]
sub eax, dword [ebp - 0x990]
add eax, dword [ebp - 0x96c]
mov dword [ebp - 0x96c], eax
mov dword [ebp - 0x99c], 0
mov ecx, dword [ebp - 0x9a0]
shl ecx, 4
mov dword [ebp - 0x99c], ecx
mov dword [ebp - 0x98c], 0
mov edx, dword [ebp - 0x96c]
mov dword [ebp - 0x98c], edx
mov dword [ebp - 0x97c], 0
mov eax, dword [ebp - 0x99c]
or eax, dword [ebp - 0x98c]
mov dword [ebp - 0x97c], eax
mov byte [ebp - 0x971], 0
mov cl, byte [ebp - 0x97c]
mov byte [ebp - 0x971], cl
mov byte [ebp - 0x995], 0
movzx edx, byte [ebp - 0x831]
mov al, byte [ebp + edx - 0x944]
mov byte [ebp - 0x995], al
movzx ecx, byte [ebp - 0x957]
movzx edx, byte [ebp + ecx - 0x944]
movzx eax, byte [ebp - 0x841]
add eax, edx
mov byte [ebp - 0x841], al
mov cl, byte [ebp - 0x957]
add cl, 1
mov byte [ebp - 0x957], cl
movzx edx, byte [ebp - 0x841]
movzx eax, byte [ebp - 0x831]
mov cl, byte [ebp + edx - 0x944]
mov byte [ebp + eax - 0x944], cl
movzx edx, byte [ebp - 0x94d]
movzx eax, byte [ebp - 0x841]
mov cl, byte [ebp + edx - 0x944]
mov byte [ebp + eax - 0x944], cl
movzx edx, byte [ebp - 0x957]
movzx eax, byte [ebp - 0x94d]
mov cl, byte [ebp + edx - 0x944]
mov byte [ebp + eax - 0x944], cl
movzx edx, byte [ebp - 0x957]
mov al, byte [ebp - 0x995]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x995]
movzx edx, byte [ebp + ecx - 0x944]
movzx eax, byte [ebp - 0x945]
add eax, edx
mov byte [ebp - 0x945], al
movzx ecx, byte [ebp - 0x971]
movzx edx, byte [ebp - 0x841]
movzx eax, byte [ebp + edx - 0x944]
movzx edx, byte [ebp - 0x957]
movzx edx, byte [ebp + edx - 0x944]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x944]
xor ecx, eax
movzx edx, byte [ebp - 0x94d]
movzx eax, byte [ebp + edx - 0x944]
movzx edx, byte [ebp - 0x831]
movzx edx, byte [ebp + edx - 0x944]
add eax, edx
movzx edx, byte [ebp - 0x945]
movzx edx, byte [ebp + edx - 0x944]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x944]
movzx edx, byte [ebp + eax - 0x944]
xor ecx, edx
mov byte [ebp - 0x94d], cl
mov al, byte [ebp - 0x971]
mov byte [ebp - 0x831], al
mov cl, byte [ebp - 0x94d]
mov byte [ebp - 0x985], cl
cmp dword [ebp - 0x984], 0
jle 0x519297
movsx dx, byte [ebp - 0x985]
mov eax, dword [ebp - 0x984]
mov word [ebp + eax*2 - 0x436], dx
mov ecx, dword [ebp - 0x980]
add ecx, 3
mov dword [ebp - 0x980], ecx
mov edx, dword [ebp - 0x984]
add edx, 1
mov dword [ebp - 0x9a8], edx
jmp 0x5192c6
mov eax, dword [ebp - 0x9a8]
add eax, 1
mov dword [ebp - 0x9a8], eax
mov ecx, dword [ebp - 0x9a8]
cmp ecx, dword [ebp - 0x980]
jge 0x5197ec
mov edx, dword [ebp - 0x984]
add edx, 1
mov dword [ebp - 0x984], edx
mov eax, dword [ebp - 0x984]
shl eax, 1
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x83c]
add ecx, dword [ebp - 0x968]
movzx edx, byte [ecx]
mov dword [ebp - 0x994], edx
mov dword [ebp - 0x970], 0xbe
mov eax, dword [ebp - 0x984]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x83c]
add edx, dword [ebp - 0x978]
movzx eax, byte [edx]
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x990], 0x58
mov ecx, dword [ebp - 0x994]
sub ecx, dword [ebp - 0x970]
mov dword [ebp - 0x9a0], ecx
mov edx, dword [ebp - 0x9a4]
sub edx, dword [ebp - 0x990]
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x9a0]
shl eax, 4
mov dword [ebp - 0x99c], eax
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x99c]
or edx, dword [ebp - 0x98c]
mov dword [ebp - 0x97c], edx
mov al, byte [ebp - 0x97c]
mov byte [ebp - 0x971], al
movzx ecx, byte [ebp - 0x831]
mov dl, byte [ebp + ecx - 0x944]
mov byte [ebp - 0x995], dl
movzx eax, byte [ebp - 0x957]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x841]
add edx, ecx
mov byte [ebp - 0x841], dl
mov al, byte [ebp - 0x957]
add al, 1
mov byte [ebp - 0x957], al
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp - 0x831]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
fld dword [0x9c8dd0]
fstp dword [ebp - 0x9d8]
fld dword [0x9c8dcc]
fstp dword [ebp - 0x9e8]
fld dword [0x9c8dc8]
fstp dword [ebp - 0x9ac]
fld dword [ebp - 0x9e8]
fsub dword [ebp - 0x9ac]
fstp dword [ebp - 0x9e8]
fld dword [ebp - 0x9d8]
fadd dword [ebp - 0x9ac]
fstp dword [ebp - 0x9d8]
fld dword [ebp - 0x9d8]
fadd dword [ebp - 0x9ac]
fstp dword [ebp - 0x9d8]
fld dword [ebp - 0x9d8]
fld dword [ebp - 0x9e8]
fcompp
fnstsw ax
test ah, 5
jp 0x5194bf
fld dword [ebp - 0x9ac]
fmul dword [ebp - 0x9d8]
fstp dword [ebp - 0x9ac]
fld dword [ebp - 0x9d8]
fsub dword [ebp - 0x9e8]
fstp dword [ebp - 0x9d8]
fld dword [ebp - 0x9ac]
fmul dword [ebp - 0x9d8]
fstp dword [ebp - 0x9ac]
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp - 0x841]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
jmp 0x5194f5
fld dword [ebp - 0x9ac]
fsub dword [ebp - 0x9e8]
fstp dword [ebp - 0x9ac]
fld dword [ebp - 0x9d8]
fadd dword [ebp - 0x9ac]
fstp dword [ebp - 0x9d8]
fld dword [ebp - 0x9e8]
fsub dword [ebp - 0x9d8]
fstp dword [ebp - 0x9e8]
movzx ecx, byte [ebp - 0x957]
movzx edx, byte [ebp - 0x94d]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x957]
mov dl, byte [ebp - 0x995]
mov byte [ebp + ecx - 0x944], dl
movzx eax, byte [ebp - 0x995]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x945]
add edx, ecx
mov byte [ebp - 0x945], dl
movzx eax, byte [ebp - 0x971]
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x957]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
xor eax, edx
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x831]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
movzx ecx, byte [ebp - 0x945]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
movzx ecx, byte [ebp + edx - 0x944]
xor eax, ecx
mov byte [ebp - 0x94d], al
mov dl, byte [ebp - 0x971]
mov byte [ebp - 0x831], dl
fld qword [0x9c8dc0]
fstp qword [ebp - 0x9c4]
fld qword [0x9c8db8]
fstp qword [ebp - 0x9d4]
fld qword [0x9c8db0]
fstp qword [ebp - 0x9bc]
fld qword [0x9c8da8]
fstp qword [ebp - 0x9cc]
fld qword [0x9c8da0]
fstp qword [ebp - 0x9e4]
fld qword [0x9c8d98]
fstp qword [ebp - 0x9f4]
fld qword [0x9c8d90]
fstp qword [ebp - 0x9b4]
fld qword [ebp - 0x9bc]
fmul qword [ebp - 0x9b4]
fstp qword [ebp - 0x9bc]
fld qword [ebp - 0x9d4]
fsub qword [ebp - 0x9b4]
fstp qword [ebp - 0x9d4]
fld qword [ebp - 0x9c4]
fadd qword [ebp - 0x9b4]
fstp qword [ebp - 0x9c4]
fld qword [ebp - 0x9c4]
fmul qword [ebp - 0x9b4]
fstp qword [ebp - 0x9c4]
fld qword [ebp - 0x9bc]
fsub qword [ebp - 0x9b4]
fstp qword [ebp - 0x9bc]
fld qword [ebp - 0x9cc]
fadd qword [ebp - 0x9b4]
fstp qword [ebp - 0x9cc]
fld qword [ebp - 0x9bc]
fadd qword [ebp - 0x9b4]
fstp qword [ebp - 0x9bc]
fld qword [ebp - 0x9c4]
fcomp qword [ebp - 0x9b4]
fnstsw ax
test ah, 0x41
jne 0x51974a
fld qword [ebp - 0x9e4]
fadd qword [ebp - 0x9f4]
fstp qword [ebp - 0x9e4]
fld qword [ebp - 0x9c4]
fadd qword [ebp - 0x9d4]
fstp qword [ebp - 0x9c4]
fld qword [ebp - 0x9cc]
fadd qword [ebp - 0x9e4]
fstp qword [ebp - 0x9cc]
fld qword [ebp - 0x9d4]
fadd qword [ebp - 0x9bc]
fstp qword [ebp - 0x9d4]
fld qword [ebp - 0x9e4]
fsub qword [ebp - 0x9f4]
fstp qword [ebp - 0x9e4]
fld qword [ebp - 0x9e4]
fadd qword [ebp - 0x9f4]
fstp qword [ebp - 0x9e4]
fld qword [ebp - 0x9b4]
fmul qword [ebp - 0x9c4]
fstp qword [ebp - 0x9b4]
mov al, byte [ebp - 0x94d]
mov byte [ebp - 0x985], al
jmp 0x5197c8
fld qword [ebp - 0x9e4]
fadd qword [ebp - 0x9b4]
fstp qword [ebp - 0x9e4]
fld qword [ebp - 0x9f4]
fmul qword [ebp - 0x9c4]
fstp qword [ebp - 0x9f4]
fld qword [ebp - 0x9cc]
fmul qword [ebp - 0x9f4]
fstp qword [ebp - 0x9cc]
fld qword [ebp - 0x9d4]
fdiv qword [ebp - 0x9cc]
fstp qword [ebp - 0x9d4]
fld qword [ebp - 0x9f4]
fdiv qword [ebp - 0x9c4]
fstp qword [ebp - 0x9f4]
fld qword [ebp - 0x9cc]
fdiv qword [ebp - 0x9f4]
fstp qword [ebp - 0x9cc]
fld qword [ebp - 0x9bc]
fadd qword [ebp - 0x9e4]
fstp qword [ebp - 0x9bc]
cmp dword [ebp - 0x984], 0
jle 0x5197e7
movsx cx, byte [ebp - 0x985]
mov edx, dword [ebp - 0x984]
mov word [ebp + edx*2 - 0x436], cx
jmp 0x5192b7
mov eax, dword [ebp - 0x980]
add eax, 1
mov dword [ebp - 0x980], eax
mov ecx, dword [ebp - 0x984]
add ecx, 1
mov dword [ebp - 0x984], ecx
mov edx, dword [ebp - 0x980]
add edx, 1
mov dword [ebp - 0x980], edx
mov eax, dword [ebp - 0x984]
shl eax, 1
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x83c]
add ecx, dword [ebp - 0x968]
movzx edx, byte [ecx]
mov dword [ebp - 0x994], edx
mov dword [ebp - 0x970], 0xbe
mov eax, dword [ebp - 0x984]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x83c]
add edx, dword [ebp - 0x978]
movzx eax, byte [edx]
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x990], 0x58
mov ecx, dword [ebp - 0x994]
sub ecx, dword [ebp - 0x970]
mov dword [ebp - 0x9a0], ecx
mov edx, dword [ebp - 0x9a4]
sub edx, dword [ebp - 0x990]
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x9a0]
shl eax, 4
mov dword [ebp - 0x99c], eax
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x99c]
or edx, dword [ebp - 0x98c]
mov dword [ebp - 0x97c], edx
mov al, byte [ebp - 0x97c]
mov byte [ebp - 0x971], al
movzx ecx, byte [ebp - 0x831]
mov dl, byte [ebp + ecx - 0x944]
mov byte [ebp - 0x995], dl
movzx eax, byte [ebp - 0x957]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x841]
add edx, ecx
mov byte [ebp - 0x841], dl
mov al, byte [ebp - 0x957]
add al, 1
mov byte [ebp - 0x957], al
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp - 0x831]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp - 0x841]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x957]
movzx edx, byte [ebp - 0x94d]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x957]
mov dl, byte [ebp - 0x995]
mov byte [ebp + ecx - 0x944], dl
movzx eax, byte [ebp - 0x995]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x945]
add edx, ecx
mov byte [ebp - 0x945], dl
movzx eax, byte [ebp - 0x971]
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x957]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
xor eax, edx
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x831]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
movzx ecx, byte [ebp - 0x945]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
movzx ecx, byte [ebp + edx - 0x944]
xor eax, ecx
mov byte [ebp - 0x94d], al
mov dl, byte [ebp - 0x971]
mov byte [ebp - 0x831], dl
mov al, byte [ebp - 0x94d]
mov byte [ebp - 0x985], al
cmp dword [ebp - 0x984], 0
jle 0x519a55
movsx cx, byte [ebp - 0x985]
mov edx, dword [ebp - 0x984]
mov word [ebp + edx*2 - 0x436], cx
mov eax, dword [ebp - 0x984]
add eax, 1
mov dword [ebp - 0x984], eax
mov ecx, dword [ebp - 0x980]
add ecx, 1
mov dword [ebp - 0x980], ecx
mov edx, dword [ebp - 0x984]
shl edx, 1
mov dword [ebp - 0x968], edx
mov eax, dword [ebp - 0x83c]
add eax, dword [ebp - 0x968]
movzx ecx, byte [eax]
mov dword [ebp - 0x994], ecx
mov dword [ebp - 0x970], 0xbe
mov edx, dword [ebp - 0x984]
lea eax, [edx + edx + 1]
mov dword [ebp - 0x978], eax
mov ecx, dword [ebp - 0x83c]
add ecx, dword [ebp - 0x978]
movzx edx, byte [ecx]
mov dword [ebp - 0x9a4], edx
mov dword [ebp - 0x990], 0x58
mov eax, dword [ebp - 0x994]
sub eax, dword [ebp - 0x970]
mov dword [ebp - 0x9a0], eax
mov ecx, dword [ebp - 0x9a4]
sub ecx, dword [ebp - 0x990]
mov dword [ebp - 0x96c], ecx
mov edx, dword [ebp - 0x9a0]
shl edx, 4
mov dword [ebp - 0x99c], edx
mov eax, dword [ebp - 0x96c]
mov dword [ebp - 0x98c], eax
mov ecx, dword [ebp - 0x99c]
or ecx, dword [ebp - 0x98c]
mov dword [ebp - 0x97c], ecx
mov dl, byte [ebp - 0x97c]
mov byte [ebp - 0x971], dl
movzx eax, byte [ebp - 0x831]
mov cl, byte [ebp + eax - 0x944]
mov byte [ebp - 0x995], cl
movzx edx, byte [ebp - 0x957]
movzx eax, byte [ebp + edx - 0x944]
movzx ecx, byte [ebp - 0x841]
add ecx, eax
mov byte [ebp - 0x841], cl
mov dl, byte [ebp - 0x957]
add dl, 1
mov byte [ebp - 0x957], dl
movzx eax, byte [ebp - 0x841]
movzx ecx, byte [ebp - 0x831]
mov dl, byte [ebp + eax - 0x944]
mov byte [ebp + ecx - 0x944], dl
movzx eax, byte [ebp - 0x94d]
movzx ecx, byte [ebp - 0x841]
mov dl, byte [ebp + eax - 0x944]
mov byte [ebp + ecx - 0x944], dl
movzx eax, byte [ebp - 0x957]
movzx ecx, byte [ebp - 0x94d]
mov dl, byte [ebp + eax - 0x944]
mov byte [ebp + ecx - 0x944], dl
movzx eax, byte [ebp - 0x957]
mov cl, byte [ebp - 0x995]
mov byte [ebp + eax - 0x944], cl
movzx edx, byte [ebp - 0x995]
movzx eax, byte [ebp + edx - 0x944]
movzx ecx, byte [ebp - 0x945]
add ecx, eax
mov byte [ebp - 0x945], cl
movzx edx, byte [ebp - 0x971]
movzx eax, byte [ebp - 0x841]
movzx ecx, byte [ebp + eax - 0x944]
movzx eax, byte [ebp - 0x957]
movzx eax, byte [ebp + eax - 0x944]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x944]
xor edx, ecx
movzx eax, byte [ebp - 0x94d]
movzx ecx, byte [ebp + eax - 0x944]
movzx eax, byte [ebp - 0x831]
movzx eax, byte [ebp + eax - 0x944]
add ecx, eax
movzx eax, byte [ebp - 0x945]
movzx eax, byte [ebp + eax - 0x944]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x944]
movzx eax, byte [ebp + ecx - 0x944]
xor edx, eax
mov byte [ebp - 0x94d], dl
mov cl, byte [ebp - 0x971]
mov byte [ebp - 0x831], cl
mov dl, byte [ebp - 0x94d]
mov byte [ebp - 0x985], dl
cmp dword [ebp - 0x984], 0
jle 0x519cb0
movsx ax, byte [ebp - 0x985]
mov ecx, dword [ebp - 0x984]
mov word [ebp + ecx*2 - 0x436], ax
mov edx, dword [ebp - 0x984]
add edx, 1
mov dword [ebp - 0x984], edx
mov eax, dword [ebp - 0x980]
add eax, 1
mov dword [ebp - 0x980], eax
mov ecx, dword [ebp - 0x984]
shl ecx, 1
mov dword [ebp - 0x968], ecx
mov edx, dword [ebp - 0x83c]
add edx, dword [ebp - 0x968]
movzx eax, byte [edx]
mov dword [ebp - 0x994], eax
mov dword [ebp - 0x970], 0xbe
mov ecx, dword [ebp - 0x984]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0x978], edx
mov eax, dword [ebp - 0x83c]
add eax, dword [ebp - 0x978]
movzx ecx, byte [eax]
mov dword [ebp - 0x9a4], ecx
mov dword [ebp - 0x990], 0x58
mov edx, dword [ebp - 0x994]
sub edx, dword [ebp - 0x970]
mov dword [ebp - 0x9a0], edx
mov eax, dword [ebp - 0x9a4]
sub eax, dword [ebp - 0x990]
mov dword [ebp - 0x96c], eax
mov ecx, dword [ebp - 0x9a0]
shl ecx, 4
mov dword [ebp - 0x99c], ecx
mov edx, dword [ebp - 0x96c]
mov dword [ebp - 0x98c], edx
mov eax, dword [ebp - 0x99c]
or eax, dword [ebp - 0x98c]
mov dword [ebp - 0x97c], eax
mov cl, byte [ebp - 0x97c]
mov byte [ebp - 0x971], cl
movzx edx, byte [ebp - 0x831]
mov al, byte [ebp + edx - 0x944]
mov byte [ebp - 0x995], al
movzx ecx, byte [ebp - 0x957]
movzx edx, byte [ebp + ecx - 0x944]
movzx eax, byte [ebp - 0x841]
add eax, edx
mov byte [ebp - 0x841], al
mov cl, byte [ebp - 0x957]
add cl, 1
mov byte [ebp - 0x957], cl
movzx edx, byte [ebp - 0x841]
movzx eax, byte [ebp - 0x831]
mov cl, byte [ebp + edx - 0x944]
mov byte [ebp + eax - 0x944], cl
movzx edx, byte [ebp - 0x94d]
movzx eax, byte [ebp - 0x841]
mov cl, byte [ebp + edx - 0x944]
mov byte [ebp + eax - 0x944], cl
movzx edx, byte [ebp - 0x957]
movzx eax, byte [ebp - 0x94d]
mov cl, byte [ebp + edx - 0x944]
mov byte [ebp + eax - 0x944], cl
movzx edx, byte [ebp - 0x957]
mov al, byte [ebp - 0x995]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x995]
movzx edx, byte [ebp + ecx - 0x944]
movzx eax, byte [ebp - 0x945]
add eax, edx
mov byte [ebp - 0x945], al
movzx ecx, byte [ebp - 0x971]
movzx edx, byte [ebp - 0x841]
movzx eax, byte [ebp + edx - 0x944]
movzx edx, byte [ebp - 0x957]
movzx edx, byte [ebp + edx - 0x944]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x944]
xor ecx, eax
movzx edx, byte [ebp - 0x94d]
movzx eax, byte [ebp + edx - 0x944]
movzx edx, byte [ebp - 0x831]
movzx edx, byte [ebp + edx - 0x944]
add eax, edx
movzx edx, byte [ebp - 0x945]
movzx edx, byte [ebp + edx - 0x944]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0x944]
movzx edx, byte [ebp + eax - 0x944]
xor ecx, edx
mov byte [ebp - 0x94d], cl
mov al, byte [ebp - 0x971]
mov byte [ebp - 0x831], al
mov cl, byte [ebp - 0x94d]
mov byte [ebp - 0x985], cl
cmp dword [ebp - 0x984], 0
jle 0x519f09
movsx dx, byte [ebp - 0x985]
mov eax, dword [ebp - 0x984]
mov word [ebp + eax*2 - 0x436], dx
mov ecx, dword [ebp - 0x980]
add ecx, 4
mov dword [ebp - 0x980], ecx
mov edx, dword [ebp - 0x984]
add edx, 1
mov dword [ebp - 0x9f8], edx
jmp 0x519f38
mov eax, dword [ebp - 0x9f8]
add eax, 1
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9f8]
cmp ecx, dword [ebp - 0x980]
jge 0x51a93d
mov edx, dword [ebp - 0x984]
add edx, 1
mov dword [ebp - 0x984], edx
mov eax, dword [ebp - 0x984]
shl eax, 1
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x83c]
add ecx, dword [ebp - 0x968]
movzx edx, byte [ecx]
mov dword [ebp - 0x994], edx
mov dword [ebp - 0x970], 0xbe
mov eax, dword [ebp - 0x984]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x83c]
add edx, dword [ebp - 0x978]
movzx eax, byte [edx]
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x990], 0x58
fld dword [0x9c8d8c]
fstp dword [ebp - 0xa2c]
fld dword [0x9c8d88]
fstp dword [ebp - 0xa40]
fld dword [0x9c8d84]
fstp dword [ebp - 0xa58]
fld dword [0x9c8d80]
fstp dword [ebp - 0xa10]
fld dword [0x9c8d7c]
fstp dword [ebp - 0xa28]
fld dword [0x9c8d78]
fstp dword [ebp - 0xa0c]
fld dword [ebp - 0xa28]
fsub dword [ebp - 0xa0c]
fstp dword [ebp - 0xa28]
fld dword [ebp - 0xa40]
fadd dword [ebp - 0xa0c]
fstp dword [ebp - 0xa40]
fld dword [ebp - 0xa10]
fmul dword [ebp - 0xa0c]
fstp dword [ebp - 0xa10]
fld dword [ebp - 0xa40]
fadd dword [ebp - 0xa0c]
fstp dword [ebp - 0xa40]
fld dword [ebp - 0xa28]
fadd dword [ebp - 0xa0c]
fstp dword [ebp - 0xa28]
fld dword [ebp - 0xa10]
fsub dword [ebp - 0xa0c]
fstp dword [ebp - 0xa10]
fld dword [ebp - 0xa0c]
fld dword [ebp - 0xa10]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51a105
fld dword [ebp - 0xa40]
fsub dword [ebp - 0xa10]
fstp dword [ebp - 0xa40]
fld dword [ebp - 0xa40]
fadd dword [ebp - 0xa10]
fstp dword [ebp - 0xa40]
fld dword [ebp - 0xa40]
fmul dword [ebp - 0xa10]
fstp dword [ebp - 0xa40]
fld dword [ebp - 0xa2c]
fsub dword [ebp - 0xa58]
fstp dword [ebp - 0xa2c]
fld dword [ebp - 0xa10]
fsub dword [ebp - 0xa0c]
fstp dword [ebp - 0xa10]
fld dword [ebp - 0xa28]
fsub dword [ebp - 0xa2c]
fstp dword [ebp - 0xa28]
mov ecx, dword [ebp - 0x994]
sub ecx, dword [ebp - 0x970]
mov dword [ebp - 0x9a0], ecx
jmp 0x51a2cc
fld dword [ebp - 0xa0c]
fsub dword [ebp - 0xa40]
fstp dword [ebp - 0xa0c]
fld dword [ebp - 0xa2c]
fadd dword [ebp - 0xa58]
fstp dword [ebp - 0xa2c]
fld dword [ebp - 0xa2c]
fsub dword [ebp - 0xa58]
fstp dword [ebp - 0xa2c]
fld dword [ebp - 0xa58]
fmul dword [ebp - 0xa28]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa40]
fsub dword [ebp - 0xa10]
fstp dword [ebp - 0xa40]
fld dword [ebp - 0xa58]
fmul dword [ebp - 0xa28]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa28]
fadd dword [ebp - 0xa0c]
fstp dword [ebp - 0xa28]
fld dword [ebp - 0xa0c]
fmul dword [ebp - 0xa2c]
fstp dword [ebp - 0xa0c]
fld dword [ebp - 0xa28]
fsub dword [ebp - 0xa0c]
fstp dword [ebp - 0xa28]
fld dword [ebp - 0xa2c]
fdiv dword [ebp - 0xa40]
fstp dword [ebp - 0xa2c]
fld dword [ebp - 0xa10]
fsub dword [ebp - 0xa28]
fstp dword [ebp - 0xa10]
fld dword [ebp - 0xa10]
fadd dword [ebp - 0xa28]
fstp dword [ebp - 0xa10]
fld dword [ebp - 0xa2c]
fld dword [ebp - 0xa58]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51a260
fld dword [ebp - 0xa58]
fmul dword [ebp - 0xa10]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa28]
fdiv dword [ebp - 0xa0c]
fstp dword [ebp - 0xa28]
fld dword [ebp - 0xa10]
fadd dword [ebp - 0xa28]
fstp dword [ebp - 0xa10]
fld dword [ebp - 0xa2c]
fdiv dword [ebp - 0xa40]
fstp dword [ebp - 0xa2c]
fld dword [ebp - 0xa0c]
fsub dword [ebp - 0xa2c]
fstp dword [ebp - 0xa0c]
fld dword [ebp - 0xa28]
fmul dword [ebp - 0xa0c]
fstp dword [ebp - 0xa28]
jmp 0x51a2cc
fld dword [ebp - 0xa58]
fadd dword [ebp - 0xa10]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa40]
fadd dword [ebp - 0xa58]
fstp dword [ebp - 0xa40]
fld dword [ebp - 0xa10]
fmul dword [ebp - 0xa28]
fstp dword [ebp - 0xa10]
fld dword [ebp - 0xa58]
fmul dword [ebp - 0xa10]
fstp dword [ebp - 0xa58]
fld dword [ebp - 0xa28]
fdiv dword [ebp - 0xa0c]
fstp dword [ebp - 0xa28]
fld dword [ebp - 0xa40]
fsub dword [ebp - 0xa58]
fstp dword [ebp - 0xa40]
mov edx, dword [ebp - 0x9a4]
sub edx, dword [ebp - 0x990]
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x9a0]
shl eax, 4
mov dword [ebp - 0x99c], eax
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x99c]
or edx, dword [ebp - 0x98c]
mov dword [ebp - 0x97c], edx
fld dword [0x9c8d74]
fstp dword [ebp - 0xa24]
fld dword [0x9c8d70]
fstp dword [ebp - 0xa3c]
fld dword [0x9c8d6c]
fstp dword [ebp - 0xa54]
fld dword [0x9c8d68]
fstp dword [ebp - 0xa08]
fld dword [0x9c8d64]
fstp dword [ebp - 0xa20]
fld dword [0x9c8d60]
fstp dword [ebp - 0xa38]
fld dword [0x9c7698]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa38]
fmul dword [ebp - 0xa50]
fstp dword [ebp - 0xa38]
fld dword [ebp - 0xa20]
fmul dword [ebp - 0xa50]
fstp dword [ebp - 0xa20]
fld dword [ebp - 0xa08]
fsub dword [ebp - 0xa50]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa08]
fmul dword [ebp - 0xa50]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa3c]
fsub dword [ebp - 0xa50]
fstp dword [ebp - 0xa3c]
fld dword [ebp - 0xa3c]
fadd dword [ebp - 0xa50]
fstp dword [ebp - 0xa3c]
fld dword [ebp - 0xa54]
fsub dword [ebp - 0xa50]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa50]
fld dword [ebp - 0xa08]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51a485
fld dword [ebp - 0xa24]
fmul dword [ebp - 0xa3c]
fstp dword [ebp - 0xa24]
fld dword [ebp - 0xa54]
fsub dword [ebp - 0xa08]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa08]
fmul dword [ebp - 0xa20]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa54]
fmul dword [ebp - 0xa08]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa3c]
fmul dword [ebp - 0xa54]
fstp dword [ebp - 0xa3c]
fld dword [ebp - 0xa08]
fsub dword [ebp - 0xa20]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa54]
fmul dword [ebp - 0xa08]
fstp dword [ebp - 0xa54]
mov al, byte [ebp - 0x97c]
mov byte [ebp - 0x971], al
jmp 0x51a698
fld dword [ebp - 0xa54]
fsub dword [ebp - 0xa20]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa38]
fadd dword [ebp - 0xa24]
fstp dword [ebp - 0xa38]
fld dword [ebp - 0xa20]
fdiv dword [ebp - 0xa50]
fstp dword [ebp - 0xa20]
fld dword [ebp - 0xa50]
fmul dword [ebp - 0xa3c]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa54]
fmul dword [ebp - 0xa20]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa24]
fsub dword [ebp - 0xa54]
fstp dword [ebp - 0xa24]
fld dword [ebp - 0xa54]
fsub dword [ebp - 0xa20]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa08]
fdiv dword [ebp - 0xa20]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa3c]
fdiv dword [ebp - 0xa54]
fstp dword [ebp - 0xa3c]
fld dword [ebp - 0xa38]
fdiv dword [ebp - 0xa50]
fstp dword [ebp - 0xa38]
fld dword [ebp - 0xa08]
fsub dword [ebp - 0xa20]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa3c]
fdiv dword [ebp - 0xa54]
fstp dword [ebp - 0xa3c]
fld dword [ebp - 0xa3c]
fdiv dword [ebp - 0xa54]
fstp dword [ebp - 0xa3c]
fld dword [ebp - 0xa20]
fadd dword [ebp - 0xa38]
fstp dword [ebp - 0xa20]
fld dword [ebp - 0xa08]
fld dword [ebp - 0xa38]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51a61a
fld dword [ebp - 0xa38]
fsub dword [ebp - 0xa50]
fstp dword [ebp - 0xa38]
fld dword [ebp - 0xa54]
fadd dword [ebp - 0xa08]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa54]
fadd dword [ebp - 0xa08]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa50]
fmul dword [ebp - 0xa24]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa38]
fadd dword [ebp - 0xa50]
fstp dword [ebp - 0xa38]
fld dword [ebp - 0xa20]
fadd dword [ebp - 0xa38]
fstp dword [ebp - 0xa20]
fld dword [ebp - 0xa54]
fadd dword [ebp - 0xa08]
fstp dword [ebp - 0xa54]
jmp 0x51a698
fld dword [ebp - 0xa50]
fadd dword [ebp - 0xa24]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa08]
fadd dword [ebp - 0xa20]
fstp dword [ebp - 0xa08]
fld dword [ebp - 0xa3c]
fsub dword [ebp - 0xa54]
fstp dword [ebp - 0xa3c]
fld dword [ebp - 0xa50]
fadd dword [ebp - 0xa24]
fstp dword [ebp - 0xa50]
fld dword [ebp - 0xa20]
fmul dword [ebp - 0xa38]
fstp dword [ebp - 0xa20]
fld dword [ebp - 0xa54]
fmul dword [ebp - 0xa08]
fstp dword [ebp - 0xa54]
fld dword [ebp - 0xa38]
fmul dword [ebp - 0xa50]
fstp dword [ebp - 0xa38]
movzx ecx, byte [ebp - 0x831]
mov dl, byte [ebp + ecx - 0x944]
mov byte [ebp - 0x995], dl
movzx eax, byte [ebp - 0x957]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x841]
add edx, ecx
mov byte [ebp - 0x841], dl
mov al, byte [ebp - 0x957]
add al, 1
mov byte [ebp - 0x957], al
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp - 0x831]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp - 0x841]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x957]
movzx edx, byte [ebp - 0x94d]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x957]
mov dl, byte [ebp - 0x995]
mov byte [ebp + ecx - 0x944], dl
fld qword [0x9c8d58]
fstp qword [ebp - 0xa04]
fld qword [0x9c8d50]
fstp qword [ebp - 0xa1c]
fld qword [0x9c8d48]
fstp qword [ebp - 0xa34]
fld qword [0x9c8d40]
fstp qword [ebp - 0xa4c]
fld qword [ebp - 0xa34]
fmul qword [ebp - 0xa4c]
fstp qword [ebp - 0xa34]
fld qword [ebp - 0xa34]
fsub qword [ebp - 0xa4c]
fstp qword [ebp - 0xa34]
fld qword [ebp - 0xa1c]
fmul qword [ebp - 0xa4c]
fstp qword [ebp - 0xa1c]
fld qword [ebp - 0xa04]
fadd qword [ebp - 0xa4c]
fstp qword [ebp - 0xa04]
fld qword [ebp - 0xa4c]
fcomp qword [ebp - 0xa1c]
fnstsw ax
test ah, 5
jp 0x51a833
fld qword [ebp - 0xa04]
fmul qword [ebp - 0xa1c]
fstp qword [ebp - 0xa04]
fld qword [ebp - 0xa04]
fsub qword [ebp - 0xa1c]
fstp qword [ebp - 0xa04]
fld qword [ebp - 0xa34]
fmul qword [ebp - 0xa4c]
fstp qword [ebp - 0xa34]
fld qword [ebp - 0xa1c]
fmul qword [ebp - 0xa34]
fstp qword [ebp - 0xa1c]
movzx eax, byte [ebp - 0x995]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x945]
add edx, ecx
mov byte [ebp - 0x945], dl
jmp 0x51a87b
fld qword [ebp - 0xa1c]
fsub qword [ebp - 0xa4c]
fstp qword [ebp - 0xa1c]
fld qword [ebp - 0xa4c]
fadd qword [ebp - 0xa1c]
fstp qword [ebp - 0xa4c]
fld qword [ebp - 0xa04]
fsub qword [ebp - 0xa34]
fstp qword [ebp - 0xa04]
fld qword [ebp - 0xa04]
fadd qword [ebp - 0xa34]
fstp qword [ebp - 0xa04]
movzx eax, byte [ebp - 0x971]
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x957]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
xor eax, edx
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x831]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
movzx ecx, byte [ebp - 0x945]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
movzx ecx, byte [ebp + edx - 0x944]
xor eax, ecx
mov byte [ebp - 0x94d], al
mov dl, byte [ebp - 0x971]
mov byte [ebp - 0x831], dl
mov al, byte [ebp - 0x94d]
mov byte [ebp - 0x985], al
cmp dword [ebp - 0x984], 0
jle 0x51a938
movsx cx, byte [ebp - 0x985]
mov edx, dword [ebp - 0x984]
mov word [ebp + edx*2 - 0x436], cx
jmp 0x519f29
mov eax, dword [ebp - 0x980]
add eax, 1
mov dword [ebp - 0x980], eax
mov ecx, dword [ebp - 0x984]
add ecx, 1
mov dword [ebp - 0x984], ecx
mov edx, dword [ebp - 0x980]
add edx, 1
mov dword [ebp - 0x980], edx
mov eax, dword [ebp - 0x984]
shl eax, 1
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x83c]
add ecx, dword [ebp - 0x968]
movzx edx, byte [ecx]
mov dword [ebp - 0x994], edx
mov dword [ebp - 0x970], 0xbe
mov eax, dword [ebp - 0x984]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x83c]
add edx, dword [ebp - 0x978]
movzx eax, byte [edx]
mov dword [ebp - 0x9a4], eax
mov dword [ebp - 0x990], 0x58
mov ecx, dword [ebp - 0x994]
sub ecx, dword [ebp - 0x970]
mov dword [ebp - 0x9a0], ecx
mov edx, dword [ebp - 0x9a4]
sub edx, dword [ebp - 0x990]
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x9a0]
shl eax, 4
mov dword [ebp - 0x99c], eax
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x99c]
or edx, dword [ebp - 0x98c]
mov dword [ebp - 0x97c], edx
mov al, byte [ebp - 0x97c]
mov byte [ebp - 0x971], al
movzx ecx, byte [ebp - 0x831]
mov dl, byte [ebp + ecx - 0x944]
mov byte [ebp - 0x995], dl
movzx eax, byte [ebp - 0x957]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x841]
add edx, ecx
mov byte [ebp - 0x841], dl
mov al, byte [ebp - 0x957]
add al, 1
mov byte [ebp - 0x957], al
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp - 0x831]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp - 0x841]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x957]
movzx edx, byte [ebp - 0x94d]
mov al, byte [ebp + ecx - 0x944]
mov byte [ebp + edx - 0x944], al
movzx ecx, byte [ebp - 0x957]
mov dl, byte [ebp - 0x995]
mov byte [ebp + ecx - 0x944], dl
movzx eax, byte [ebp - 0x995]
movzx ecx, byte [ebp + eax - 0x944]
movzx edx, byte [ebp - 0x945]
add edx, ecx
mov byte [ebp - 0x945], dl
movzx eax, byte [ebp - 0x971]
movzx ecx, byte [ebp - 0x841]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x957]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
xor eax, edx
movzx ecx, byte [ebp - 0x94d]
movzx edx, byte [ebp + ecx - 0x944]
movzx ecx, byte [ebp - 0x831]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
movzx ecx, byte [ebp - 0x945]
movzx ecx, byte [ebp + ecx - 0x944]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0x944]
movzx ecx, byte [ebp + edx - 0x944]
xor eax, ecx
mov byte [ebp - 0x94d], al
mov dl, byte [ebp - 0x971]
mov byte [ebp - 0x831], dl
mov al, byte [ebp - 0x94d]
mov byte [ebp - 0x985], al
cmp dword [ebp - 0x984], 0
jle 0x51aba6
movsx cx, byte [ebp - 0x985]
mov edx, dword [ebp - 0x984]
mov word [ebp + edx*2 - 0x436], cx
xor eax, eax
mov word [ebp - 0x41e], ax
jmp 0x51abe7
mov dword [ebp - 0xa5c], 0
jmp 0x51abcc
mov ecx, dword [ebp - 0xa5c]
add ecx, 1
mov dword [ebp - 0xa5c], ecx
cmp dword [ebp - 0xa5c], 0xc
jge 0x51abe7
xor edx, edx
mov eax, dword [ebp - 0xa5c]
mov word [ebp + eax*2 - 0x434], dx
jmp 0x51abbd
push 4
call fcn.0095b26f
add esp, 4
mov dword [ebp - 0xe98], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xe98], 0
je 0x51ac1e
lea ecx, [ebp - 0x434]
push ecx
mov ecx, dword [ebp - 0xe98]
call fcn.0044ddf0
mov dword [ebp - 0xf9c], eax
jmp 0x51ac28
mov dword [ebp - 0xf9c], 0
mov edx, dword [ebp - 0xf9c]
mov dword [ebp - 0xe94], edx
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xe94]
mov dword [ebp - 0x404], eax
mov dword [ebp - 0x65c], 0
mov dword [ebp - 0x658], 0
fldz
fstp qword [ebp - 0x444]
fldz
fstp qword [ebp - 0x66c]
fldz
fstp qword [ebp - 0x66c]
jmp 0x51ac84
fld qword [ebp - 0x66c]
fadd qword [0x9c6a70]
fstp qword [ebp - 0x66c]
fld qword [0x9ca6b8]
fcomp qword [ebp - 0x66c]
fnstsw ax
test ah, 0x41
jne 0x51ad0d
fld qword [0x9ca6b0]
fmul qword [ebp - 0x66c]
fmul qword [ebp - 0x66c]
fld qword [ebp - 0x66c]
fmul qword [ebp - 0x66c]
fsubp st(1)
fld qword [0x9ca6a8]
fmul qword [ebp - 0x66c]
fmul qword [ebp - 0x66c]
fadd qword [0x9ca6a0]
fdivp st(1)
fadd qword [ebp - 0x444]
fstp qword [ebp - 0x444]
fld qword [0x9ca698]
fcomp qword [ebp - 0x444]
fnstsw ax
test ah, 5
jp 0x51ad08
fld qword [0x9ca690]
fmul qword [ebp - 0x66c]
fsubr qword [ebp - 0x444]
fstp qword [ebp - 0x444]
jmp 0x51ac72
fldz
fcomp qword [ebp - 0x444]
fnstsw ax
test ah, 0x41
jne 0x51ad5d
cmp al, 0xd1
cmp dh, bl
xor al, 0xd9
inc edx
fidiv dword [0x39db41dd]
salc
aas
salc
fidivr word ds:[edx]
fbstp tbyte [ebx]
sal dword [0x41d434df], cl
fidiv dword [eax + 0x29]
jp 0x51ad80
and al, 0x3f
inc eax
xor byte [edi + edi + 0x2d], cl
pushal
cmp byte gs:[edx], ah
sub eax, 0x38653660
and al, 0x62
pop ecx
cmp eax, 0x705b7065
popal
jp 0x51adcd
pushal
inc ebp
xor al, 0x2c
jno 0x51ad42
lds esp, [ebx]
add byte [eax], al
mov dword [ebp - 0x65c], 0x51ad1c
mov dword [ebp - 0x658], 0x51ad38
mov ecx, dword [ebp - 0x65c]
mov dword [ebp - 0xa68], ecx
mov edx, dword [ebp - 0x658]
mov dword [ebp - 0xa64], edx
mov byte [ebp - 0xb85], 0x24
mov dword [ebp - 0xb7c], 0
jmp 0x51adab
stc
invalid
mov eax, dword [ebp - 0xb7c]
add eax, 1
mov dword [ebp - 0xb7c], eax
cmp dword [ebp - 0xb7c], 0x100
jae 0x51adcc
mov ecx, dword [ebp - 0xb7c]
mov dl, byte [ebp - 0xb7c]
mov byte [ebp + ecx - 0xb74], dl
jmp 0x51ad9c
mov dword [ebp - 0xa6c], 0
test dword [ebp + esi*8 + 0xffff], edx
add byte [eax], al
mov byte [ebp - 0xb86], 0
mov dword [ebp - 0xb7c], 0xff
jmp 0x51adf8
mov eax, dword [ebp - 0xb7c]
sub eax, 1
mov dword [ebp - 0xb7c], eax
cmp dword [ebp - 0xb7c], 0
jbe 0x51b110
mov dword [ebp - 0xb8c], 0
mov dword [ebp - 0xb94], 1
mov ecx, dword [ebp - 0xb94]
cmp ecx, dword [ebp - 0xb7c]
jae 0x51ae39
mov edx, dword [ebp - 0xb94]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xb94], eax
jmp 0x51ae19
mov ecx, dword [ebp - 0xa6c]
mov dword [ebp - 0xfa0], ecx
cmp dword [ebp - 0xfa0], 3
ja case.default.0x51ae58
mov edx, dword [ebp - 0xfa0]
jmp dword [edx*4 + 0x51edac]
movzx eax, byte [ebp - 0xb86]
movzx ecx, byte [ebp + eax - 0xb74]
fld qword [ebp - 0x444]
fnstcw word [ebp - 0xfa2]
movzx eax, word [ebp - 0xfa2]
or eax, 0xc00
mov dword [ebp - 0xfa8], eax
fldcw word [ebp - 0xfa8]
fistp qword [ebp - 0xfb0]
fldcw word [ebp - 0xfa2]
mov edx, dword [ebp - 0xfb0]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xb86], cl
jmp 0x51afe9
movzx eax, byte [ebp - 0xb86]
movzx ecx, byte [ebp + eax - 0xb74]
fld qword [ebp - 0x444]
fnstcw word [ebp - 0xfb2]
movzx eax, word [ebp - 0xfb2]
or eax, 0xc00
mov dword [ebp - 0xfb8], eax
fldcw word [ebp - 0xfb8]
fistp qword [ebp - 0xfc0]
fldcw word [ebp - 0xfb2]
mov edx, dword [ebp - 0xfc0]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xb86], cl
jmp 0x51afe9
movzx eax, byte [ebp - 0xb86]
movzx ecx, byte [ebp + eax - 0xb74]
fld qword [ebp - 0x444]
fnstcw word [ebp - 0xfc2]
movzx eax, word [ebp - 0xfc2]
or eax, 0xc00
mov dword [ebp - 0xfc8], eax
fldcw word [ebp - 0xfc8]
fistp qword [ebp - 0xfd0]
fldcw word [ebp - 0xfc2]
mov edx, dword [ebp - 0xfd0]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xb86], cl
jmp 0x51afe9
movzx eax, byte [ebp - 0xb86]
movzx ecx, byte [ebp + eax - 0xb74]
fld qword [ebp - 0x444]
fnstcw word [ebp - 0xfd2]
movzx eax, word [ebp - 0xfd2]
or eax, 0xc00
mov dword [ebp - 0xfd8], eax
fldcw word [ebp - 0xfd8]
fistp qword [ebp - 0xfe0]
fldcw word [ebp - 0xfd2]
mov edx, dword [ebp - 0xfe0]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xb86], cl
jmp 0x51afe9
movzx eax, byte [ebp - 0xb86]
movzx ecx, byte [ebp + eax - 0xb74]
mov edx, dword [ebp - 0xa64]
add edx, dword [ebp - 0xa6c]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xb86], cl
mov ecx, dword [ebp - 0xa6c]
add ecx, 1
mov dword [ebp - 0xa6c], ecx
movzx edx, byte [ebp - 0xb85]
cmp dword [ebp - 0xa6c], edx
jb 0x51b027
mov dword [ebp - 0xa6c], 0
movzx eax, byte [ebp - 0xb85]
movzx ecx, byte [ebp - 0xb86]
add ecx, eax
mov byte [ebp - 0xb86], cl
movzx edx, byte [ebp - 0xb86]
and edx, dword [ebp - 0xb94]
mov dword [ebp - 0xb90], edx
mov eax, dword [ebp - 0xb8c]
add eax, 1
mov dword [ebp - 0xb8c], eax
cmp dword [ebp - 0xb8c], 0xb
jbe 0x51b066
mov eax, dword [ebp - 0xb90]
xor edx, edx
div dword [ebp - 0xb7c]
mov dword [ebp - 0xb90], edx
mov ecx, dword [ebp - 0xb90]
cmp ecx, dword [ebp - 0xb7c]
ja 0x51ae39
mov edx, dword [ebp - 0xb7c]
cmp edx, dword [ebp - 0xb90]
je 0x51b10b
mov eax, dword [ebp - 0xb90]
movzx ecx, byte [ebp + eax - 0xb74]
mov edx, dword [ebp - 0xb7c]
movzx eax, byte [ebp + edx - 0xb74]
xor eax, ecx
mov ecx, dword [ebp - 0xb7c]
mov byte [ebp + ecx - 0xb74], al
mov edx, dword [ebp - 0xb7c]
movzx eax, byte [ebp + edx - 0xb74]
mov ecx, dword [ebp - 0xb90]
movzx edx, byte [ebp + ecx - 0xb74]
xor edx, eax
mov eax, dword [ebp - 0xb90]
mov byte [ebp + eax - 0xb74], dl
mov ecx, dword [ebp - 0xb90]
movzx edx, byte [ebp + ecx - 0xb74]
mov eax, dword [ebp - 0xb7c]
movzx ecx, byte [ebp + eax - 0xb74]
xor ecx, edx
mov edx, dword [ebp - 0xb7c]
mov byte [ebp + edx - 0xb74], cl
jmp 0x51ade9
mov al, byte [ebp - 0xb73]
mov byte [ebp - 0xb87], al
mov cl, byte [ebp - 0xb71]
mov byte [ebp - 0xa6d], cl
mov dl, byte [ebp - 0xb6f]
mov byte [ebp - 0xb75], dl
mov al, byte [ebp - 0xb6d]
mov byte [ebp - 0xb7d], al
movzx ecx, byte [ebp - 0xb86]
mov dl, byte [ebp + ecx - 0xb74]
mov byte [ebp - 0xa5d], dl
mov dword [ebp - 0xb84], 0x1c
cmp dword [ebp - 0xb84], 2
jle 0x51d0ee
mov eax, dword [ebp - 0xb84]
and eax, 1
jne 0x51d0ee
mov dword [ebp - 0xc18], 0
mov dword [ebp - 0xc14], 0
mov ecx, dword [ebp - 0xc14]
add ecx, 1
mov dword [ebp - 0xc14], ecx
mov dword [ebp - 0xba8], 0
mov edx, dword [ebp - 0xc18]
shl edx, 1
mov dword [ebp - 0xba8], edx
mov dword [ebp - 0xc4c], 0
mov eax, dword [ebp - 0xa68]
add eax, dword [ebp - 0xba8]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0xc4c], ecx
mov dword [ebp - 0xbe0], 0
mov edx, dword [ebp - 0xbe0]
add edx, 0x33
mov dword [ebp - 0xbe0], edx
mov dword [ebp - 0xc00], 0
mov eax, dword [ebp - 0xc18]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xc00], ecx
mov dword [ebp - 0xc60], 0
mov edx, dword [ebp - 0xa68]
add edx, dword [ebp - 0xc00]
movzx eax, byte [edx]
add eax, dword [ebp - 0xc60]
mov dword [ebp - 0xc60], eax
mov dword [ebp - 0xc48], 0
mov ecx, dword [ebp - 0xc48]
add ecx, 0xd1
mov dword [ebp - 0xc48], ecx
mov dword [ebp - 0xc5c], 0
mov edx, dword [ebp - 0xc4c]
sub edx, dword [ebp - 0xbe0]
add edx, dword [ebp - 0xc5c]
mov dword [ebp - 0xc5c], edx
mov dword [ebp - 0xbc0], 0
mov eax, dword [ebp - 0xc60]
sub eax, dword [ebp - 0xc48]
add eax, dword [ebp - 0xbc0]
mov dword [ebp - 0xbc0], eax
mov dword [ebp - 0xc58], 0
mov ecx, dword [ebp - 0xc5c]
shl ecx, 4
mov dword [ebp - 0xc58], ecx
mov dword [ebp - 0xc44], 0
mov edx, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], edx
mov dword [ebp - 0xc10], 0
mov eax, dword [ebp - 0xc58]
or eax, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], eax
mov byte [ebp - 0xbe1], 0
mov cl, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], cl
mov byte [ebp - 0xc51], 0
movzx edx, byte [ebp - 0xa5d]
mov al, byte [ebp + edx - 0xb74]
mov byte [ebp - 0xc51], al
movzx ecx, byte [ebp - 0xb87]
movzx edx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp - 0xa6d]
add eax, edx
mov byte [ebp - 0xa6d], al
mov cl, byte [ebp - 0xb87]
add cl, 1
mov byte [ebp - 0xb87], cl
movzx edx, byte [ebp - 0xa6d]
movzx eax, byte [ebp - 0xa5d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xb7d]
movzx eax, byte [ebp - 0xa6d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
fld qword [0x9ca688]
fstp qword [ebp - 0xba4]
fld qword [0x9ca680]
fstp qword [ebp - 0xbd4]
fld qword [0x9ca678]
fstp qword [ebp - 0xbfc]
fld qword [ebp - 0xba4]
fadd qword [ebp - 0xbfc]
fstp qword [ebp - 0xba4]
fld qword [ebp - 0xbd4]
fadd qword [ebp - 0xbfc]
fstp qword [ebp - 0xbd4]
fld qword [ebp - 0xba4]
fmul qword [ebp - 0xbfc]
fstp qword [ebp - 0xba4]
fld qword [ebp - 0xbfc]
fcomp qword [ebp - 0xba4]
fnstsw ax
test ah, 5
jp 0x51b434
fld qword [ebp - 0xbfc]
fmul qword [ebp - 0xba4]
fstp qword [ebp - 0xbfc]
fld qword [ebp - 0xbd4]
fmul qword [ebp - 0xbfc]
fstp qword [ebp - 0xbd4]
fld qword [ebp - 0xbfc]
fsub qword [ebp - 0xba4]
fstp qword [ebp - 0xbfc]
movzx edx, byte [ebp - 0xb87]
movzx eax, byte [ebp - 0xb7d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
jmp 0x51b521
fld qword [ebp - 0xbfc]
fmul qword [ebp - 0xbd4]
fstp qword [ebp - 0xbfc]
fld qword [ebp - 0xba4]
fsub qword [ebp - 0xbfc]
fstp qword [ebp - 0xba4]
fld qword [ebp - 0xbd4]
fadd qword [ebp - 0xba4]
fstp qword [ebp - 0xbd4]
fld qword [ebp - 0xbd4]
fmul qword [ebp - 0xba4]
fstp qword [ebp - 0xbd4]
fld qword [ebp - 0xbd4]
fdiv qword [ebp - 0xba4]
fstp qword [ebp - 0xbd4]
fld qword [ebp - 0xbd4]
fdiv qword [ebp - 0xba4]
fstp qword [ebp - 0xbd4]
fld qword [ebp - 0xbd4]
fcomp qword [ebp - 0xbfc]
fnstsw ax
test ah, 0x41
jne 0x51b4eb
fld qword [ebp - 0xba4]
fsub qword [ebp - 0xbd4]
fstp qword [ebp - 0xba4]
fld qword [ebp - 0xba4]
fadd qword [ebp - 0xbd4]
fstp qword [ebp - 0xba4]
fld qword [ebp - 0xbd4]
fdiv qword [ebp - 0xbfc]
fstp qword [ebp - 0xbd4]
jmp 0x51b521
fld qword [ebp - 0xbfc]
fdiv qword [ebp - 0xbd4]
fstp qword [ebp - 0xbfc]
fld qword [ebp - 0xba4]
fdiv qword [ebp - 0xbfc]
fstp qword [ebp - 0xba4]
fld qword [ebp - 0xbd4]
fdiv qword [ebp - 0xba4]
fstp qword [ebp - 0xbd4]
movzx edx, byte [ebp - 0xb87]
mov al, byte [ebp - 0xc51]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xc51]
movzx edx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp - 0xb75]
add eax, edx
mov byte [ebp - 0xb75], al
movzx ecx, byte [ebp - 0xbe1]
movzx edx, byte [ebp - 0xa6d]
movzx eax, byte [ebp + edx - 0xb74]
movzx edx, byte [ebp - 0xb87]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xb74]
xor ecx, eax
movzx edx, byte [ebp - 0xb7d]
movzx eax, byte [ebp + edx - 0xb74]
movzx edx, byte [ebp - 0xa5d]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
movzx edx, byte [ebp - 0xb75]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp + eax - 0xb74]
xor ecx, edx
mov byte [ebp - 0xb7d], cl
mov al, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], al
mov cl, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], cl
cmp dword [ebp - 0xc18], 0
jle 0x51b60b
mov edx, dword [ebp - 0xc18]
mov al, byte [ebp - 0xc3d]
mov byte [ebp + edx - 0x67d], al
mov ecx, dword [ebp - 0xc18]
add ecx, 1
mov dword [ebp - 0xc18], ecx
mov edx, dword [ebp - 0xc14]
add edx, 1
mov dword [ebp - 0xc14], edx
mov eax, dword [ebp - 0xc18]
shl eax, 1
mov dword [ebp - 0xba8], eax
mov ecx, dword [ebp - 0xa68]
add ecx, dword [ebp - 0xba8]
movzx edx, byte [ecx]
mov dword [ebp - 0xc4c], edx
mov dword [ebp - 0xbe0], 0x33
mov eax, dword [ebp - 0xc18]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xc00], ecx
mov edx, dword [ebp - 0xa68]
add edx, dword [ebp - 0xc00]
movzx eax, byte [edx]
mov dword [ebp - 0xc60], eax
mov dword [ebp - 0xc48], 0xd1
mov ecx, dword [ebp - 0xc4c]
sub ecx, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], ecx
mov edx, dword [ebp - 0xc60]
sub edx, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], edx
mov eax, dword [ebp - 0xc5c]
shl eax, 4
mov dword [ebp - 0xc58], eax
mov ecx, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], ecx
mov edx, dword [ebp - 0xc58]
or edx, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], edx
mov al, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], al
movzx ecx, byte [ebp - 0xa5d]
mov dl, byte [ebp + ecx - 0xb74]
mov byte [ebp - 0xc51], dl
movzx eax, byte [ebp - 0xb87]
movzx ecx, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp - 0xa6d]
add edx, ecx
mov byte [ebp - 0xa6d], dl
mov al, byte [ebp - 0xb87]
add al, 1
mov byte [ebp - 0xb87], al
movzx ecx, byte [ebp - 0xa6d]
movzx edx, byte [ebp - 0xa5d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb7d]
movzx edx, byte [ebp - 0xa6d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb87]
movzx edx, byte [ebp - 0xb7d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb87]
mov dl, byte [ebp - 0xc51]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xc51]
movzx ecx, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp - 0xb75]
add edx, ecx
mov byte [ebp - 0xb75], dl
movzx eax, byte [ebp - 0xbe1]
movzx ecx, byte [ebp - 0xa6d]
movzx edx, byte [ebp + ecx - 0xb74]
movzx ecx, byte [ebp - 0xb87]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xb74]
xor eax, edx
movzx ecx, byte [ebp - 0xb7d]
movzx edx, byte [ebp + ecx - 0xb74]
movzx ecx, byte [ebp - 0xa5d]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
movzx ecx, byte [ebp - 0xb75]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp + edx - 0xb74]
xor eax, ecx
mov byte [ebp - 0xb7d], al
mov dl, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], dl
mov al, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], al
cmp dword [ebp - 0xc18], 0
jle 0x51b862
mov ecx, dword [ebp - 0xc18]
mov dl, byte [ebp - 0xc3d]
mov byte [ebp + ecx - 0x67d], dl
mov eax, dword [ebp - 0xc14]
add eax, 3
mov dword [ebp - 0xc14], eax
mov ecx, dword [ebp - 0xc18]
add ecx, 1
mov dword [ebp - 0xc64], ecx
jmp 0x51b891
mov edx, dword [ebp - 0xc64]
add edx, 1
mov dword [ebp - 0xc64], edx
mov eax, dword [ebp - 0xc64]
cmp eax, dword [ebp - 0xc14]
jge 0x51baf1
mov ecx, dword [ebp - 0xc18]
add ecx, 1
mov dword [ebp - 0xc18], ecx
mov edx, dword [ebp - 0xc18]
shl edx, 1
mov dword [ebp - 0xba8], edx
mov eax, dword [ebp - 0xa68]
add eax, dword [ebp - 0xba8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc4c], ecx
mov dword [ebp - 0xbe0], 0x33
mov edx, dword [ebp - 0xc18]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xc00], eax
mov ecx, dword [ebp - 0xa68]
add ecx, dword [ebp - 0xc00]
movzx edx, byte [ecx]
mov dword [ebp - 0xc60], edx
mov dword [ebp - 0xc48], 0xd1
mov eax, dword [ebp - 0xc4c]
sub eax, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], eax
mov ecx, dword [ebp - 0xc60]
sub ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], ecx
mov edx, dword [ebp - 0xc5c]
shl edx, 4
mov dword [ebp - 0xc58], edx
mov eax, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0xc58]
or ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], ecx
mov dl, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], dl
movzx eax, byte [ebp - 0xa5d]
mov cl, byte [ebp + eax - 0xb74]
mov byte [ebp - 0xc51], cl
movzx edx, byte [ebp - 0xb87]
movzx eax, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp - 0xa6d]
add ecx, eax
mov byte [ebp - 0xa6d], cl
mov dl, byte [ebp - 0xb87]
add dl, 1
mov byte [ebp - 0xb87], dl
movzx eax, byte [ebp - 0xa6d]
movzx ecx, byte [ebp - 0xa5d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb7d]
movzx ecx, byte [ebp - 0xa6d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb87]
movzx ecx, byte [ebp - 0xb7d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb87]
mov cl, byte [ebp - 0xc51]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xc51]
movzx eax, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp - 0xb75]
add ecx, eax
mov byte [ebp - 0xb75], cl
movzx edx, byte [ebp - 0xbe1]
movzx eax, byte [ebp - 0xa6d]
movzx ecx, byte [ebp + eax - 0xb74]
movzx eax, byte [ebp - 0xb87]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb74]
xor edx, ecx
movzx eax, byte [ebp - 0xb7d]
movzx ecx, byte [ebp + eax - 0xb74]
movzx eax, byte [ebp - 0xa5d]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
movzx eax, byte [ebp - 0xb75]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp + ecx - 0xb74]
xor edx, eax
mov byte [ebp - 0xb7d], dl
mov cl, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], cl
mov dl, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], dl
cmp dword [ebp - 0xc18], 0
jle 0x51baec
mov eax, dword [ebp - 0xc18]
mov cl, byte [ebp - 0xc3d]
mov byte [ebp + eax - 0x67d], cl
jmp 0x51b882
mov edx, dword [ebp - 0xc14]
add edx, 1
mov dword [ebp - 0xc14], edx
mov eax, dword [ebp - 0xc18]
add eax, 1
mov dword [ebp - 0xc18], eax
mov ecx, dword [ebp - 0xc14]
add ecx, 1
mov dword [ebp - 0xc14], ecx
mov edx, dword [ebp - 0xc18]
shl edx, 1
mov dword [ebp - 0xba8], edx
mov eax, dword [ebp - 0xa68]
add eax, dword [ebp - 0xba8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc4c], ecx
mov dword [ebp - 0xbe0], 0x33
mov edx, dword [ebp - 0xc18]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xc00], eax
mov ecx, dword [ebp - 0xa68]
add ecx, dword [ebp - 0xc00]
movzx edx, byte [ecx]
mov dword [ebp - 0xc60], edx
mov dword [ebp - 0xc48], 0xd1
mov eax, dword [ebp - 0xc4c]
sub eax, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], eax
mov ecx, dword [ebp - 0xc60]
sub ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], ecx
mov edx, dword [ebp - 0xc5c]
shl edx, 4
mov dword [ebp - 0xc58], edx
mov eax, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0xc58]
or ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], ecx
mov dl, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], dl
movzx eax, byte [ebp - 0xa5d]
mov cl, byte [ebp + eax - 0xb74]
mov byte [ebp - 0xc51], cl
movzx edx, byte [ebp - 0xb87]
movzx eax, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp - 0xa6d]
add ecx, eax
mov byte [ebp - 0xa6d], cl
mov dl, byte [ebp - 0xb87]
add dl, 1
mov byte [ebp - 0xb87], dl
movzx eax, byte [ebp - 0xa6d]
movzx ecx, byte [ebp - 0xa5d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb7d]
movzx ecx, byte [ebp - 0xa6d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb87]
movzx ecx, byte [ebp - 0xb7d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb87]
mov cl, byte [ebp - 0xc51]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xc51]
movzx eax, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp - 0xb75]
add ecx, eax
mov byte [ebp - 0xb75], cl
movzx edx, byte [ebp - 0xbe1]
movzx eax, byte [ebp - 0xa6d]
movzx ecx, byte [ebp + eax - 0xb74]
movzx eax, byte [ebp - 0xb87]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb74]
xor edx, ecx
movzx eax, byte [ebp - 0xb7d]
movzx ecx, byte [ebp + eax - 0xb74]
movzx eax, byte [ebp - 0xa5d]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
movzx eax, byte [ebp - 0xb75]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp + ecx - 0xb74]
xor edx, eax
mov byte [ebp - 0xb7d], dl
mov cl, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], cl
mov dl, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], dl
cmp dword [ebp - 0xc18], 0
jle 0x51bd58
mov eax, dword [ebp - 0xc18]
mov cl, byte [ebp - 0xc3d]
mov byte [ebp + eax - 0x67d], cl
mov edx, dword [ebp - 0xc18]
add edx, 1
mov dword [ebp - 0xc18], edx
mov eax, dword [ebp - 0xc14]
add eax, 1
mov dword [ebp - 0xc14], eax
mov ecx, dword [ebp - 0xc18]
shl ecx, 1
mov dword [ebp - 0xba8], ecx
mov edx, dword [ebp - 0xa68]
add edx, dword [ebp - 0xba8]
movzx eax, byte [edx]
mov dword [ebp - 0xc4c], eax
mov dword [ebp - 0xbe0], 0x33
mov ecx, dword [ebp - 0xc18]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xc00], edx
mov eax, dword [ebp - 0xa68]
add eax, dword [ebp - 0xc00]
movzx ecx, byte [eax]
mov dword [ebp - 0xc60], ecx
mov dword [ebp - 0xc48], 0xd1
mov edx, dword [ebp - 0xc4c]
sub edx, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], edx
fld qword [0x9ca670]
fstp qword [ebp - 0xc2c]
fld qword [0x9ca668]
fstp qword [ebp - 0xb9c]
fld qword [0x9ca660]
fstp qword [ebp - 0xbcc]
fld qword [0x9ca658]
fstp qword [ebp - 0xbf4]
fld qword [ebp - 0xbcc]
fmul qword [ebp - 0xbf4]
fstp qword [ebp - 0xbcc]
fld qword [ebp - 0xbcc]
fsub qword [ebp - 0xbf4]
fstp qword [ebp - 0xbcc]
fld qword [ebp - 0xb9c]
fsub qword [ebp - 0xbf4]
fstp qword [ebp - 0xb9c]
fld qword [ebp - 0xc2c]
fmul qword [ebp - 0xbf4]
fstp qword [ebp - 0xc2c]
fld qword [ebp - 0xbf4]
fcomp qword [ebp - 0xc2c]
fnstsw ax
test ah, 0x41
jne 0x51beb9
fld qword [ebp - 0xbf4]
fdiv qword [ebp - 0xb9c]
fstp qword [ebp - 0xbf4]
fld qword [ebp - 0xc2c]
fsub qword [ebp - 0xbcc]
fstp qword [ebp - 0xc2c]
fld qword [ebp - 0xc2c]
fsub qword [ebp - 0xbcc]
fstp qword [ebp - 0xc2c]
fld qword [ebp - 0xc2c]
fmul qword [ebp - 0xbcc]
fstp qword [ebp - 0xc2c]
jmp 0x51bf13
fld qword [ebp - 0xbf4]
fsub qword [ebp - 0xb9c]
fstp qword [ebp - 0xbf4]
fld qword [ebp - 0xb9c]
fadd qword [ebp - 0xbf4]
fstp qword [ebp - 0xb9c]
fld qword [ebp - 0xbcc]
fsub qword [ebp - 0xc2c]
fstp qword [ebp - 0xbcc]
fld qword [ebp - 0xc2c]
fsub qword [ebp - 0xbcc]
fstp qword [ebp - 0xc2c]
mov eax, dword [ebp - 0xc60]
sub eax, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], eax
mov ecx, dword [ebp - 0xc5c]
shl ecx, 4
mov dword [ebp - 0xc58], ecx
mov edx, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], edx
mov eax, dword [ebp - 0xc58]
or eax, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], eax
mov cl, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], cl
movzx edx, byte [ebp - 0xa5d]
mov al, byte [ebp + edx - 0xb74]
mov byte [ebp - 0xc51], al
movzx ecx, byte [ebp - 0xb87]
movzx edx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp - 0xa6d]
add eax, edx
mov byte [ebp - 0xa6d], al
mov cl, byte [ebp - 0xb87]
add cl, 1
mov byte [ebp - 0xb87], cl
movzx edx, byte [ebp - 0xa6d]
movzx eax, byte [ebp - 0xa5d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xb7d]
movzx eax, byte [ebp - 0xa6d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xb87]
movzx eax, byte [ebp - 0xb7d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xb87]
mov al, byte [ebp - 0xc51]
mov byte [ebp + edx - 0xb74], al
fld qword [0x9ca650]
fstp qword [ebp - 0xc24]
fld qword [0x9ca648]
fstp qword [ebp - 0xbbc]
fld qword [0x9ca640]
fstp qword [ebp - 0xc3c]
fld qword [0x9ca638]
fstp qword [ebp - 0xc0c]
fld qword [0x9ca630]
fstp qword [ebp - 0xbdc]
fld qword [0x9ca628]
fstp qword [ebp - 0xbb4]
fld qword [0x9ca620]
fstp qword [ebp - 0xc34]
fld qword [ebp - 0xc24]
fadd qword [ebp - 0xc34]
fstp qword [ebp - 0xc24]
fld qword [ebp - 0xc0c]
fadd qword [ebp - 0xc34]
fstp qword [ebp - 0xc0c]
fld qword [ebp - 0xbdc]
fmul qword [ebp - 0xc34]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xbbc]
fadd qword [ebp - 0xc34]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xbdc]
fmul qword [ebp - 0xc34]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xc24]
fsub qword [ebp - 0xc34]
fstp qword [ebp - 0xc24]
fld qword [ebp - 0xbb4]
fsub qword [ebp - 0xc34]
fstp qword [ebp - 0xbb4]
fld qword [ebp - 0xbb4]
fcomp qword [ebp - 0xbdc]
fnstsw ax
test ah, 5
jp 0x51c17f
fld qword [ebp - 0xc0c]
fmul qword [ebp - 0xbdc]
fstp qword [ebp - 0xc0c]
fld qword [ebp - 0xbb4]
fsub qword [ebp - 0xc34]
fstp qword [ebp - 0xbb4]
fld qword [ebp - 0xbbc]
fadd qword [ebp - 0xc3c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xc24]
fmul qword [ebp - 0xbbc]
fstp qword [ebp - 0xc24]
fld qword [ebp - 0xbdc]
fadd qword [ebp - 0xbb4]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xc34]
fadd qword [ebp - 0xc24]
fstp qword [ebp - 0xc34]
fld qword [ebp - 0xc34]
fmul qword [ebp - 0xc24]
fstp qword [ebp - 0xc34]
movzx ecx, byte [ebp - 0xc51]
movzx edx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp - 0xb75]
add eax, edx
mov byte [ebp - 0xb75], al
jmp 0x51c390
fld qword [ebp - 0xc3c]
fdiv qword [ebp - 0xbdc]
fstp qword [ebp - 0xc3c]
fld qword [ebp - 0xc0c]
fdiv qword [ebp - 0xbb4]
fstp qword [ebp - 0xc0c]
fld qword [ebp - 0xbdc]
fsub qword [ebp - 0xc34]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xbbc]
fsub qword [ebp - 0xc0c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xbbc]
fdiv qword [ebp - 0xc0c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xc34]
fmul qword [ebp - 0xbbc]
fstp qword [ebp - 0xc34]
fld qword [ebp - 0xc0c]
fdiv qword [ebp - 0xbb4]
fstp qword [ebp - 0xc0c]
fld qword [ebp - 0xbdc]
fadd qword [ebp - 0xc34]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xbbc]
fadd qword [ebp - 0xc0c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xc0c]
fsub qword [ebp - 0xbb4]
fstp qword [ebp - 0xc0c]
fld qword [ebp - 0xbbc]
fadd qword [ebp - 0xc0c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xc3c]
fadd qword [ebp - 0xbdc]
fstp qword [ebp - 0xc3c]
fld qword [ebp - 0xbb4]
fmul qword [ebp - 0xc24]
fstp qword [ebp - 0xbb4]
fld qword [ebp - 0xc0c]
fadd qword [ebp - 0xbb4]
fstp qword [ebp - 0xc0c]
fld qword [ebp - 0xbb4]
fcomp qword [ebp - 0xc0c]
fnstsw ax
test ah, 0x41
jne 0x51c312
fld qword [ebp - 0xc3c]
fdiv qword [ebp - 0xc0c]
fstp qword [ebp - 0xc3c]
fld qword [ebp - 0xbdc]
fsub qword [ebp - 0xbb4]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xc0c]
fdiv qword [ebp - 0xbdc]
fstp qword [ebp - 0xc0c]
fld qword [ebp - 0xbbc]
fadd qword [ebp - 0xc3c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xbdc]
fdiv qword [ebp - 0xbb4]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xc3c]
fsub qword [ebp - 0xc0c]
fstp qword [ebp - 0xc3c]
fld qword [ebp - 0xc34]
fdiv qword [ebp - 0xc24]
fstp qword [ebp - 0xc34]
jmp 0x51c390
fld qword [ebp - 0xc34]
fsub qword [ebp - 0xc24]
fstp qword [ebp - 0xc34]
fld qword [ebp - 0xbdc]
fmul qword [ebp - 0xbb4]
fstp qword [ebp - 0xbdc]
fld qword [ebp - 0xbb4]
fadd qword [ebp - 0xc34]
fstp qword [ebp - 0xbb4]
fld qword [ebp - 0xc24]
fdiv qword [ebp - 0xbbc]
fstp qword [ebp - 0xc24]
fld qword [ebp - 0xbbc]
fmul qword [ebp - 0xc3c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xbbc]
fmul qword [ebp - 0xc3c]
fstp qword [ebp - 0xbbc]
fld qword [ebp - 0xbdc]
fsub qword [ebp - 0xbb4]
fstp qword [ebp - 0xbdc]
movzx ecx, byte [ebp - 0xbe1]
movzx edx, byte [ebp - 0xa6d]
movzx eax, byte [ebp + edx - 0xb74]
movzx edx, byte [ebp - 0xb87]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xb74]
xor ecx, eax
movzx edx, byte [ebp - 0xb7d]
movzx eax, byte [ebp + edx - 0xb74]
movzx edx, byte [ebp - 0xa5d]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
movzx edx, byte [ebp - 0xb75]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp + eax - 0xb74]
xor ecx, edx
mov byte [ebp - 0xb7d], cl
mov al, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], al
mov cl, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], cl
cmp dword [ebp - 0xc18], 0
jle 0x51c448
mov edx, dword [ebp - 0xc18]
mov al, byte [ebp - 0xc3d]
mov byte [ebp + edx - 0x67d], al
mov ecx, dword [ebp - 0xc14]
add ecx, 4
mov dword [ebp - 0xc14], ecx
mov edx, dword [ebp - 0xc18]
add edx, 1
mov dword [ebp - 0xc68], edx
jmp 0x51c477
mov eax, dword [ebp - 0xc68]
add eax, 1
mov dword [ebp - 0xc68], eax
mov ecx, dword [ebp - 0xc68]
cmp ecx, dword [ebp - 0xc14]
jge 0x51c837
mov edx, dword [ebp - 0xc18]
add edx, 1
mov dword [ebp - 0xc18], edx
mov eax, dword [ebp - 0xc18]
shl eax, 1
mov dword [ebp - 0xba8], eax
mov ecx, dword [ebp - 0xa68]
add ecx, dword [ebp - 0xba8]
movzx edx, byte [ecx]
mov dword [ebp - 0xc4c], edx
mov dword [ebp - 0xbe0], 0x33
mov eax, dword [ebp - 0xc18]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xc00], ecx
mov edx, dword [ebp - 0xa68]
add edx, dword [ebp - 0xc00]
movzx eax, byte [edx]
mov dword [ebp - 0xc60], eax
mov dword [ebp - 0xc48], 0xd1
mov ecx, dword [ebp - 0xc4c]
sub ecx, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], ecx
mov edx, dword [ebp - 0xc60]
sub edx, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], edx
mov eax, dword [ebp - 0xc5c]
shl eax, 4
mov dword [ebp - 0xc58], eax
mov ecx, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], ecx
mov edx, dword [ebp - 0xc58]
or edx, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], edx
fld dword [0x9ca61c]
fstp dword [ebp - 0xc74]
fld dword [0x9ca618]
fstp dword [ebp - 0xc70]
fld dword [0x9ca614]
fstp dword [ebp - 0xc6c]
fld dword [0x9ca610]
fstp dword [ebp - 0xc7c]
fld dword [0x9ca60c]
fstp dword [ebp - 0xc78]
fld dword [ebp - 0xc74]
fmul dword [ebp - 0xc78]
fstp dword [ebp - 0xc74]
fld dword [ebp - 0xc7c]
fsub dword [ebp - 0xc78]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc7c]
fadd dword [ebp - 0xc78]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc7c]
fmul dword [ebp - 0xc78]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc70]
fmul dword [ebp - 0xc78]
fstp dword [ebp - 0xc70]
fld dword [ebp - 0xc74]
fld dword [ebp - 0xc78]
fcompp
fnstsw ax
test ah, 5
jp 0x51c658
fld dword [ebp - 0xc74]
fadd dword [ebp - 0xc6c]
fstp dword [ebp - 0xc74]
fld dword [ebp - 0xc7c]
fsub dword [ebp - 0xc74]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc74]
fsub dword [ebp - 0xc6c]
fstp dword [ebp - 0xc74]
fld dword [ebp - 0xc6c]
fadd dword [ebp - 0xc78]
fstp dword [ebp - 0xc6c]
fld dword [ebp - 0xc70]
fadd dword [ebp - 0xc7c]
fstp dword [ebp - 0xc70]
mov al, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], al
jmp 0x51c6b2
fld dword [ebp - 0xc78]
fadd dword [ebp - 0xc70]
fstp dword [ebp - 0xc78]
fld dword [ebp - 0xc74]
fmul dword [ebp - 0xc6c]
fstp dword [ebp - 0xc74]
fld dword [ebp - 0xc78]
fmul dword [ebp - 0xc70]
fstp dword [ebp - 0xc78]
fld dword [ebp - 0xc78]
fdiv dword [ebp - 0xc70]
fstp dword [ebp - 0xc78]
fld dword [ebp - 0xc78]
fadd dword [ebp - 0xc70]
fstp dword [ebp - 0xc78]
movzx ecx, byte [ebp - 0xa5d]
mov dl, byte [ebp + ecx - 0xb74]
mov byte [ebp - 0xc51], dl
movzx eax, byte [ebp - 0xb87]
movzx ecx, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp - 0xa6d]
add edx, ecx
mov byte [ebp - 0xa6d], dl
mov al, byte [ebp - 0xb87]
add al, 1
mov byte [ebp - 0xb87], al
movzx ecx, byte [ebp - 0xa6d]
movzx edx, byte [ebp - 0xa5d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb7d]
movzx edx, byte [ebp - 0xa6d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb87]
movzx edx, byte [ebp - 0xb7d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb87]
mov dl, byte [ebp - 0xc51]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xc51]
movzx ecx, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp - 0xb75]
add edx, ecx
mov byte [ebp - 0xb75], dl
movzx eax, byte [ebp - 0xbe1]
movzx ecx, byte [ebp - 0xa6d]
movzx edx, byte [ebp + ecx - 0xb74]
movzx ecx, byte [ebp - 0xb87]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xb74]
xor eax, edx
movzx ecx, byte [ebp - 0xb7d]
movzx edx, byte [ebp + ecx - 0xb74]
movzx ecx, byte [ebp - 0xa5d]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
movzx ecx, byte [ebp - 0xb75]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp + edx - 0xb74]
xor eax, ecx
mov byte [ebp - 0xb7d], al
mov dl, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], dl
mov al, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], al
cmp dword [ebp - 0xc18], 0
jle 0x51c832
mov ecx, dword [ebp - 0xc18]
mov dl, byte [ebp - 0xc3d]
mov byte [ebp + ecx - 0x67d], dl
jmp 0x51c468
mov eax, dword [ebp - 0xc14]
add eax, 1
mov dword [ebp - 0xc14], eax
mov ecx, dword [ebp - 0xc18]
add ecx, 1
mov dword [ebp - 0xc18], ecx
mov edx, dword [ebp - 0xc14]
add edx, 1
mov dword [ebp - 0xc14], edx
mov eax, dword [ebp - 0xc18]
shl eax, 1
mov dword [ebp - 0xba8], eax
mov ecx, dword [ebp - 0xa68]
add ecx, dword [ebp - 0xba8]
movzx edx, byte [ecx]
mov dword [ebp - 0xc4c], edx
mov dword [ebp - 0xbe0], 0x33
mov eax, dword [ebp - 0xc18]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xc00], ecx
mov edx, dword [ebp - 0xa68]
add edx, dword [ebp - 0xc00]
movzx eax, byte [edx]
mov dword [ebp - 0xc60], eax
mov dword [ebp - 0xc48], 0xd1
mov ecx, dword [ebp - 0xc4c]
sub ecx, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], ecx
mov edx, dword [ebp - 0xc60]
sub edx, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], edx
mov eax, dword [ebp - 0xc5c]
shl eax, 4
mov dword [ebp - 0xc58], eax
mov ecx, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], ecx
mov edx, dword [ebp - 0xc58]
or edx, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], edx
mov al, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], al
movzx ecx, byte [ebp - 0xa5d]
mov dl, byte [ebp + ecx - 0xb74]
mov byte [ebp - 0xc51], dl
movzx eax, byte [ebp - 0xb87]
movzx ecx, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp - 0xa6d]
add edx, ecx
mov byte [ebp - 0xa6d], dl
mov al, byte [ebp - 0xb87]
add al, 1
mov byte [ebp - 0xb87], al
movzx ecx, byte [ebp - 0xa6d]
movzx edx, byte [ebp - 0xa5d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb7d]
movzx edx, byte [ebp - 0xa6d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb87]
movzx edx, byte [ebp - 0xb7d]
mov al, byte [ebp + ecx - 0xb74]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xb87]
mov dl, byte [ebp - 0xc51]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xc51]
movzx ecx, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp - 0xb75]
add edx, ecx
mov byte [ebp - 0xb75], dl
movzx eax, byte [ebp - 0xbe1]
movzx ecx, byte [ebp - 0xa6d]
movzx edx, byte [ebp + ecx - 0xb74]
movzx ecx, byte [ebp - 0xb87]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xb74]
xor eax, edx
movzx ecx, byte [ebp - 0xb7d]
movzx edx, byte [ebp + ecx - 0xb74]
movzx ecx, byte [ebp - 0xa5d]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
movzx ecx, byte [ebp - 0xb75]
movzx ecx, byte [ebp + ecx - 0xb74]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp + edx - 0xb74]
xor eax, ecx
mov byte [ebp - 0xb7d], al
mov dl, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], dl
mov al, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], al
cmp dword [ebp - 0xc18], 0
jle 0x51ca9d
mov ecx, dword [ebp - 0xc18]
mov dl, byte [ebp - 0xc3d]
mov byte [ebp + ecx - 0x67d], dl
mov eax, dword [ebp - 0xc18]
add eax, 1
mov dword [ebp - 0xc18], eax
mov ecx, dword [ebp - 0xc14]
add ecx, 1
mov dword [ebp - 0xc14], ecx
mov edx, dword [ebp - 0xc18]
shl edx, 1
mov dword [ebp - 0xba8], edx
mov eax, dword [ebp - 0xa68]
add eax, dword [ebp - 0xba8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc4c], ecx
mov dword [ebp - 0xbe0], 0x33
mov edx, dword [ebp - 0xc18]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xc00], eax
mov ecx, dword [ebp - 0xa68]
add ecx, dword [ebp - 0xc00]
movzx edx, byte [ecx]
mov dword [ebp - 0xc60], edx
mov dword [ebp - 0xc48], 0xd1
mov eax, dword [ebp - 0xc4c]
sub eax, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], eax
mov ecx, dword [ebp - 0xc60]
sub ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], ecx
mov edx, dword [ebp - 0xc5c]
shl edx, 4
mov dword [ebp - 0xc58], edx
mov eax, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0xc58]
or ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], ecx
mov dl, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], dl
movzx eax, byte [ebp - 0xa5d]
mov cl, byte [ebp + eax - 0xb74]
mov byte [ebp - 0xc51], cl
movzx edx, byte [ebp - 0xb87]
movzx eax, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp - 0xa6d]
add ecx, eax
mov byte [ebp - 0xa6d], cl
mov dl, byte [ebp - 0xb87]
add dl, 1
mov byte [ebp - 0xb87], dl
movzx eax, byte [ebp - 0xa6d]
movzx ecx, byte [ebp - 0xa5d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb7d]
movzx ecx, byte [ebp - 0xa6d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb87]
movzx ecx, byte [ebp - 0xb7d]
mov dl, byte [ebp + eax - 0xb74]
mov byte [ebp + ecx - 0xb74], dl
movzx eax, byte [ebp - 0xb87]
mov cl, byte [ebp - 0xc51]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xc51]
movzx eax, byte [ebp + edx - 0xb74]
movzx ecx, byte [ebp - 0xb75]
add ecx, eax
mov byte [ebp - 0xb75], cl
movzx edx, byte [ebp - 0xbe1]
movzx eax, byte [ebp - 0xa6d]
movzx ecx, byte [ebp + eax - 0xb74]
movzx eax, byte [ebp - 0xb87]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb74]
xor edx, ecx
movzx eax, byte [ebp - 0xb7d]
movzx ecx, byte [ebp + eax - 0xb74]
movzx eax, byte [ebp - 0xa5d]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
movzx eax, byte [ebp - 0xb75]
movzx eax, byte [ebp + eax - 0xb74]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp + ecx - 0xb74]
xor edx, eax
mov byte [ebp - 0xb7d], dl
mov cl, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], cl
mov dl, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], dl
cmp dword [ebp - 0xc18], 0
jle 0x51ccf5
mov eax, dword [ebp - 0xc18]
mov cl, byte [ebp - 0xc3d]
mov byte [ebp + eax - 0x67d], cl
mov edx, dword [ebp - 0xc18]
add edx, 1
mov dword [ebp - 0xc18], edx
mov eax, dword [ebp - 0xc14]
add eax, 1
mov dword [ebp - 0xc14], eax
mov ecx, dword [ebp - 0xc18]
shl ecx, 1
mov dword [ebp - 0xba8], ecx
mov edx, dword [ebp - 0xa68]
add edx, dword [ebp - 0xba8]
movzx eax, byte [edx]
mov dword [ebp - 0xc4c], eax
mov dword [ebp - 0xbe0], 0x33
mov ecx, dword [ebp - 0xc18]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xc00], edx
mov eax, dword [ebp - 0xa68]
add eax, dword [ebp - 0xc00]
movzx ecx, byte [eax]
mov dword [ebp - 0xc60], ecx
mov dword [ebp - 0xc48], 0xd1
mov edx, dword [ebp - 0xc4c]
sub edx, dword [ebp - 0xbe0]
mov dword [ebp - 0xc5c], edx
mov eax, dword [ebp - 0xc60]
sub eax, dword [ebp - 0xc48]
mov dword [ebp - 0xbc0], eax
mov ecx, dword [ebp - 0xc5c]
shl ecx, 4
mov dword [ebp - 0xc58], ecx
mov edx, dword [ebp - 0xbc0]
mov dword [ebp - 0xc44], edx
mov eax, dword [ebp - 0xc58]
or eax, dword [ebp - 0xc44]
mov dword [ebp - 0xc10], eax
mov cl, byte [ebp - 0xc10]
mov byte [ebp - 0xbe1], cl
movzx edx, byte [ebp - 0xa5d]
mov al, byte [ebp + edx - 0xb74]
mov byte [ebp - 0xc51], al
movzx ecx, byte [ebp - 0xb87]
movzx edx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp - 0xa6d]
add eax, edx
mov byte [ebp - 0xa6d], al
mov cl, byte [ebp - 0xb87]
add cl, 1
mov byte [ebp - 0xb87], cl
movzx edx, byte [ebp - 0xa6d]
movzx eax, byte [ebp - 0xa5d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xb7d]
movzx eax, byte [ebp - 0xa6d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
fld dword [0x9ca608]
fstp dword [ebp - 0xc50]
fld dword [0x9ca604]
fstp dword [ebp - 0xbc4]
fld dword [0x9ca600]
fstp dword [ebp - 0xbe8]
fld dword [ebp - 0xbc4]
fsub dword [ebp - 0xbe8]
fstp dword [ebp - 0xbc4]
fld dword [ebp - 0xc50]
fadd dword [ebp - 0xbe8]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xbc4]
fmul dword [ebp - 0xbe8]
fstp dword [ebp - 0xbc4]
fld dword [ebp - 0xbe8]
fld dword [ebp - 0xbc4]
fcompp
fnstsw ax
test ah, 5
jp 0x51cfa9
fld dword [ebp - 0xc50]
fdiv dword [ebp - 0xbe8]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xbc4]
fdiv dword [ebp - 0xc50]
fstp dword [ebp - 0xbc4]
fld dword [ebp - 0xbc4]
fsub dword [ebp - 0xc50]
fstp dword [ebp - 0xbc4]
fld dword [ebp - 0xc50]
fmul dword [ebp - 0xbc4]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xc50]
fsub dword [ebp - 0xbc4]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xc50]
fmul dword [ebp - 0xbc4]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xbc4]
fld dword [ebp - 0xc50]
fcompp
fnstsw ax
test ah, 5
jp 0x51cf71
fld dword [ebp - 0xbc4]
fdiv dword [ebp - 0xc50]
fstp dword [ebp - 0xbc4]
fld dword [ebp - 0xbe8]
fsub dword [ebp - 0xbc4]
fstp dword [ebp - 0xbe8]
fld dword [ebp - 0xbe8]
fmul dword [ebp - 0xbc4]
fstp dword [ebp - 0xbe8]
jmp 0x51cfa7
fld dword [ebp - 0xbe8]
fsub dword [ebp - 0xc50]
fstp dword [ebp - 0xbe8]
fld dword [ebp - 0xbc4]
fmul dword [ebp - 0xbe8]
fstp dword [ebp - 0xbc4]
fld dword [ebp - 0xbe8]
fsub dword [ebp - 0xc50]
fstp dword [ebp - 0xbe8]
jmp 0x51cffb
fld dword [ebp - 0xc50]
fadd dword [ebp - 0xbc4]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xbe8]
fadd dword [ebp - 0xc50]
fstp dword [ebp - 0xbe8]
fld dword [ebp - 0xc50]
fadd dword [ebp - 0xbc4]
fstp dword [ebp - 0xc50]
movzx edx, byte [ebp - 0xb87]
movzx eax, byte [ebp - 0xb7d]
mov cl, byte [ebp + edx - 0xb74]
mov byte [ebp + eax - 0xb74], cl
movzx edx, byte [ebp - 0xb87]
mov al, byte [ebp - 0xc51]
mov byte [ebp + edx - 0xb74], al
movzx ecx, byte [ebp - 0xc51]
movzx edx, byte [ebp + ecx - 0xb74]
movzx eax, byte [ebp - 0xb75]
add eax, edx
mov byte [ebp - 0xb75], al
movzx ecx, byte [ebp - 0xbe1]
movzx edx, byte [ebp - 0xa6d]
movzx eax, byte [ebp + edx - 0xb74]
movzx edx, byte [ebp - 0xb87]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xb74]
xor ecx, eax
movzx edx, byte [ebp - 0xb7d]
movzx eax, byte [ebp + edx - 0xb74]
movzx edx, byte [ebp - 0xa5d]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
movzx edx, byte [ebp - 0xb75]
movzx edx, byte [ebp + edx - 0xb74]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xb74]
movzx edx, byte [ebp + eax - 0xb74]
xor ecx, edx
mov byte [ebp - 0xb7d], cl
mov al, byte [ebp - 0xbe1]
mov byte [ebp - 0xa5d], al
mov cl, byte [ebp - 0xb7d]
mov byte [ebp - 0xc3d], cl
cmp dword [ebp - 0xc18], 0
jle 0x51d0e5
mov edx, dword [ebp - 0xc18]
mov al, byte [ebp - 0xc3d]
mov byte [ebp + edx - 0x67d], al
mov byte [ebp - 0x66f], 0
jmp 0x51d122
mov dword [ebp - 0xc80], 0
jmp 0x51d109
mov ecx, dword [ebp - 0xc80]
add ecx, 1
mov dword [ebp - 0xc80], ecx
cmp dword [ebp - 0xc80], 0xe
jge 0x51d122
mov edx, dword [ebp - 0xc80]
mov byte [ebp + edx - 0x67c], 0
jmp 0x51d0fa
lea eax, [ebp - 0x67c]
push eax
mov ecx, dword [ebp - 0x404]
call fcn.0044de30
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x400], 0
mov dword [ebp - 0x660], 0
fldz
fstp qword [ebp - 0x3fc]
fldz
fstp qword [ebp - 0x43c]
fldz
fstp qword [ebp - 0x43c]
jmp 0x51d17a
fld qword [ebp - 0x43c]
fadd qword [0x9c6510]
fstp qword [ebp - 0x43c]
fld qword [0x9ca5f8]
fcomp qword [ebp - 0x43c]
fnstsw ax
test ah, 0x41
jne 0x51d203
fld qword [0x9ca5f0]
fmul qword [ebp - 0x43c]
fmul qword [ebp - 0x43c]
fld qword [ebp - 0x43c]
fmul qword [ebp - 0x43c]
fsubp st(1)
fld qword [0x9ca5e8]
fmul qword [ebp - 0x43c]
fmul qword [ebp - 0x43c]
fadd qword [0x9ca5e0]
fdivp st(1)
fadd qword [ebp - 0x3fc]
fstp qword [ebp - 0x3fc]
fld qword [0x9ca5d8]
fcomp qword [ebp - 0x3fc]
fnstsw ax
test ah, 5
jp 0x51d1fe
fld qword [0x9ca5d0]
fmul qword [ebp - 0x43c]
fsubr qword [ebp - 0x3fc]
fstp qword [ebp - 0x3fc]
jmp 0x51d168
fldz
fcomp qword [ebp - 0x3fc]
fnstsw ax
test ah, 0x41
jne 0x51d238
int3
mov dword [ebp - 0x400], 0x51d212
mov dword [ebp - 0x660], 0x51d21e
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0xc8c], ecx
mov edx, dword [ebp - 0x660]
mov dword [ebp - 0xc88], edx
mov byte [ebp - 0xdc1], 0x19
mov dword [ebp - 0xdb0], 0
jmp 0x51d286
mov eax, dword [ebp - 0xdb0]
add eax, 1
mov dword [ebp - 0xdb0], eax
cmp dword [ebp - 0xdb0], 0x100
jae 0x51d2a7
mov ecx, dword [ebp - 0xdb0]
mov dl, byte [ebp - 0xdb0]
mov byte [ebp + ecx - 0xd94], dl
jmp 0x51d277
mov dword [ebp - 0xc90], 0
mov byte [ebp - 0xdc2], 0
mov dword [ebp - 0xdb0], 0xff
jmp 0x51d2d3
mov eax, dword [ebp - 0xdb0]
sub eax, 1
mov dword [ebp - 0xdb0], eax
cmp dword [ebp - 0xdb0], 0
jbe 0x51d5eb
mov dword [ebp - 0xdd0], 0
mov dword [ebp - 0xdd8], 1
mov ecx, dword [ebp - 0xdd8]
cmp ecx, dword [ebp - 0xdb0]
jae 0x51d314
mov edx, dword [ebp - 0xdd8]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xdd8], eax
jmp 0x51d2f4
mov ecx, dword [ebp - 0xc90]
mov dword [ebp - 0xfe4], ecx
cmp dword [ebp - 0xfe4], 3
ja case.default.0x51d333
mov edx, dword [ebp - 0xfe4]
jmp dword [edx*4 + 0x51edbc]
movzx eax, byte [ebp - 0xdc2]
movzx ecx, byte [ebp + eax - 0xd94]
fld qword [ebp - 0x3fc]
fnstcw word [ebp - 0xfe6]
movzx eax, word [ebp - 0xfe6]
or eax, 0xc00
mov dword [ebp - 0xfec], eax
fldcw word [ebp - 0xfec]
fistp qword [ebp - 0xff4]
fldcw word [ebp - 0xfe6]
mov edx, dword [ebp - 0xff4]
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xdc2], cl
jmp 0x51d4c4
movzx eax, byte [ebp - 0xdc2]
movzx ecx, byte [ebp + eax - 0xd94]
fld qword [ebp - 0x3fc]
fnstcw word [ebp - 0xff6]
movzx eax, word [ebp - 0xff6]
or eax, 0xc00
mov dword [ebp - 0xffc], eax
fldcw word [ebp - 0xffc]
fistp qword [ebp - 0x1004]
fldcw word [ebp - 0xff6]
mov edx, dword [ebp - 0x1004]
shr edx, 8
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xdc2], cl
jmp 0x51d4c4
movzx eax, byte [ebp - 0xdc2]
movzx ecx, byte [ebp + eax - 0xd94]
fld qword [ebp - 0x3fc]
fnstcw word [ebp - 0x1006]
movzx eax, word [ebp - 0x1006]
or eax, 0xc00
mov dword [ebp - 0x100c], eax
fldcw word [ebp - 0x100c]
fistp qword [ebp - 0x1014]
fldcw word [ebp - 0x1006]
mov edx, dword [ebp - 0x1014]
shr edx, 0x10
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xdc2], cl
jmp 0x51d4c4
movzx eax, byte [ebp - 0xdc2]
movzx ecx, byte [ebp + eax - 0xd94]
fld qword [ebp - 0x3fc]
fnstcw word [ebp - 0x1016]
movzx eax, word [ebp - 0x1016]
or eax, 0xc00
mov dword [ebp - 0x101c], eax
fldcw word [ebp - 0x101c]
fistp qword [ebp - 0x1024]
fldcw word [ebp - 0x1016]
mov edx, dword [ebp - 0x1024]
shr edx, 0x18
and edx, 0xff
add ecx, edx
mov byte [ebp - 0xdc2], cl
jmp 0x51d4c4
movzx eax, byte [ebp - 0xdc2]
movzx ecx, byte [ebp + eax - 0xd94]
mov edx, dword [ebp - 0xc88]
add edx, dword [ebp - 0xc90]
movzx eax, byte [edx - 4]
add ecx, eax
mov byte [ebp - 0xdc2], cl
mov ecx, dword [ebp - 0xc90]
add ecx, 1
mov dword [ebp - 0xc90], ecx
movzx edx, byte [ebp - 0xdc1]
cmp dword [ebp - 0xc90], edx
jb 0x51d502
mov dword [ebp - 0xc90], 0
movzx eax, byte [ebp - 0xdc1]
movzx ecx, byte [ebp - 0xdc2]
add ecx, eax
mov byte [ebp - 0xdc2], cl
movzx edx, byte [ebp - 0xdc2]
and edx, dword [ebp - 0xdd8]
mov dword [ebp - 0xdd4], edx
mov eax, dword [ebp - 0xdd0]
add eax, 1
mov dword [ebp - 0xdd0], eax
cmp dword [ebp - 0xdd0], 0xb
jbe 0x51d541
mov eax, dword [ebp - 0xdd4]
xor edx, edx
div dword [ebp - 0xdb0]
mov dword [ebp - 0xdd4], edx
mov ecx, dword [ebp - 0xdd4]
cmp ecx, dword [ebp - 0xdb0]
ja 0x51d314
mov edx, dword [ebp - 0xdb0]
cmp edx, dword [ebp - 0xdd4]
je 0x51d5e6
mov eax, dword [ebp - 0xdd4]
movzx ecx, byte [ebp + eax - 0xd94]
mov edx, dword [ebp - 0xdb0]
movzx eax, byte [ebp + edx - 0xd94]
xor eax, ecx
mov ecx, dword [ebp - 0xdb0]
mov byte [ebp + ecx - 0xd94], al
mov edx, dword [ebp - 0xdb0]
movzx eax, byte [ebp + edx - 0xd94]
mov ecx, dword [ebp - 0xdd4]
movzx edx, byte [ebp + ecx - 0xd94]
xor edx, eax
mov eax, dword [ebp - 0xdd4]
mov byte [ebp + eax - 0xd94], dl
mov ecx, dword [ebp - 0xdd4]
movzx edx, byte [ebp + ecx - 0xd94]
mov eax, dword [ebp - 0xdb0]
movzx ecx, byte [ebp + eax - 0xd94]
xor ecx, edx
mov edx, dword [ebp - 0xdb0]
mov byte [ebp + edx - 0xd94], cl
jmp 0x51d2c4
fld qword [0x9c9fe0]
fstp qword [ebp - 0xdac]
fld qword [0x9ca5c8]
fstp qword [ebp - 0xd9c]
fld qword [0x9ca5c0]
fstp qword [ebp - 0xdcc]
fld qword [0x9ca5b8]
fstp qword [ebp - 0xdbc]
fld qword [ebp - 0xdcc]
fmul qword [ebp - 0xdbc]
fstp qword [ebp - 0xdcc]
fld qword [ebp - 0xdcc]
fsub qword [ebp - 0xdbc]
fstp qword [ebp - 0xdcc]
fld qword [ebp - 0xd9c]
fmul qword [ebp - 0xdbc]
fstp qword [ebp - 0xd9c]
fld qword [ebp - 0xdcc]
fmul qword [ebp - 0xdbc]
fstp qword [ebp - 0xdcc]
fld qword [ebp - 0xdcc]
fcomp qword [ebp - 0xdbc]
fnstsw ax
test ah, 5
jp 0x51d7b1
fld qword [ebp - 0xd9c]
fsub qword [ebp - 0xdcc]
fstp qword [ebp - 0xd9c]
fld qword [ebp - 0xdac]
fmul qword [ebp - 0xd9c]
fstp qword [ebp - 0xdac]
fld qword [ebp - 0xdbc]
fadd qword [ebp - 0xdac]
fstp qword [ebp - 0xdbc]
fld qword [ebp - 0xdbc]
fsub qword [ebp - 0xdac]
fstp qword [ebp - 0xdbc]
fld qword [ebp - 0xdac]
fadd qword [ebp - 0xd9c]
fstp qword [ebp - 0xdac]
fld qword [ebp - 0xdac]
fadd qword [ebp - 0xd9c]
fstp qword [ebp - 0xdac]
fld qword [ebp - 0xdbc]
fmul qword [ebp - 0xdac]
fstp qword [ebp - 0xdbc]
fld qword [ebp - 0xdac]
fadd qword [ebp - 0xd9c]
fstp qword [ebp - 0xdac]
fld qword [ebp - 0xdbc]
fcomp qword [ebp - 0xd9c]
fnstsw ax
test ah, 5
jp 0x51d767
fld qword [ebp - 0xdcc]
fmul qword [ebp - 0xdac]
fstp qword [ebp - 0xdcc]
fld qword [ebp - 0xd9c]
fdiv qword [ebp - 0xdbc]
fstp qword [ebp - 0xd9c]
fld qword [ebp - 0xdcc]
fadd qword [ebp - 0xdac]
fstp qword [ebp - 0xdcc]
fld qword [ebp - 0xdcc]
fsub qword [ebp - 0xdac]
fstp qword [ebp - 0xdcc]
jmp 0x51d7af
fld qword [ebp - 0xdbc]
fdiv qword [ebp - 0xd9c]
fstp qword [ebp - 0xdbc]
fld qword [ebp - 0xd9c]
fsub qword [ebp - 0xdbc]
fstp qword [ebp - 0xd9c]
fld qword [ebp - 0xd9c]
fsub qword [ebp - 0xdbc]
fstp qword [ebp - 0xd9c]
fld qword [ebp - 0xdbc]
fmul qword [ebp - 0xd9c]
fstp qword [ebp - 0xdbc]
jmp 0x51d805
fld qword [ebp - 0xdcc]
fsub qword [ebp - 0xdbc]
fstp qword [ebp - 0xdcc]
fld qword [ebp - 0xdcc]
fmul qword [ebp - 0xdbc]
fstp qword [ebp - 0xdcc]
fld qword [ebp - 0xdac]
fsub qword [ebp - 0xd9c]
fstp qword [ebp - 0xdac]
fld qword [ebp - 0xdcc]
fmul qword [ebp - 0xdbc]
fstp qword [ebp - 0xdcc]
mov al, byte [ebp - 0xd93]
mov byte [ebp - 0xdc3], al
mov cl, byte [ebp - 0xd91]
mov byte [ebp - 0xc91], cl
mov dl, byte [ebp - 0xd8f]
mov byte [ebp - 0xd9d], dl
mov al, byte [ebp - 0xd8d]
mov byte [ebp - 0xdb1], al
movzx ecx, byte [ebp - 0xdc2]
mov dl, byte [ebp + ecx - 0xd94]
mov byte [ebp - 0xc81], dl
mov dword [ebp - 0xdc0], 0xc
cmp dword [ebp - 0xdc0], 2
jle 0x51ec88
mov eax, dword [ebp - 0xdc0]
and eax, 1
jne 0x51ec88
mov dword [ebp - 0xe48], 0
mov dword [ebp - 0xe44], 0
mov ecx, dword [ebp - 0xe44]
add ecx, 1
mov dword [ebp - 0xe44], ecx
mov dword [ebp - 0xddc], 0
mov edx, dword [ebp - 0xe48]
shl edx, 1
mov dword [ebp - 0xddc], edx
mov dword [ebp - 0xe6c], 0
mov eax, dword [ebp - 0xc8c]
add eax, dword [ebp - 0xddc]
movzx ecx, byte [eax]
add ecx, dword [ebp - 0xe6c]
mov dword [ebp - 0xe6c], ecx
mov dword [ebp - 0xe10], 0
mov edx, dword [ebp - 0xe10]
add edx, 0xc3
mov dword [ebp - 0xe10], edx
mov dword [ebp - 0xe28], 0
mov eax, dword [ebp - 0xe48]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xe28], ecx
mov dword [ebp - 0xe8c], 0
mov edx, dword [ebp - 0xc8c]
add edx, dword [ebp - 0xe28]
movzx eax, byte [edx]
add eax, dword [ebp - 0xe8c]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe68], 0
mov ecx, dword [ebp - 0xe68]
add ecx, 0x66
mov dword [ebp - 0xe68], ecx
mov dword [ebp - 0xe88], 0
mov edx, dword [ebp - 0xe6c]
sub edx, dword [ebp - 0xe10]
add edx, dword [ebp - 0xe88]
mov dword [ebp - 0xe88], edx
mov dword [ebp - 0xdf0], 0
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe68]
add eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xdf0], eax
mov dword [ebp - 0xe84], 0
mov ecx, dword [ebp - 0xe88]
shl ecx, 4
mov dword [ebp - 0xe84], ecx
mov dword [ebp - 0xe64], 0
mov edx, dword [ebp - 0xdf0]
mov dword [ebp - 0xe64], edx
mov dword [ebp - 0xe40], 0
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe64]
mov dword [ebp - 0xe40], eax
mov byte [ebp - 0xe21], 0
mov cl, byte [ebp - 0xe40]
mov byte [ebp - 0xe21], cl
mov byte [ebp - 0xe7d], 0
movzx edx, byte [ebp - 0xc81]
mov al, byte [ebp + edx - 0xd94]
mov byte [ebp - 0xe7d], al
movzx ecx, byte [ebp - 0xdc3]
movzx edx, byte [ebp + ecx - 0xd94]
movzx eax, byte [ebp - 0xc91]
add eax, edx
mov byte [ebp - 0xc91], al
mov cl, byte [ebp - 0xdc3]
add cl, 1
mov byte [ebp - 0xdc3], cl
movzx edx, byte [ebp - 0xc91]
movzx eax, byte [ebp - 0xc81]
mov cl, byte [ebp + edx - 0xd94]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xdb1]
movzx eax, byte [ebp - 0xc91]
mov cl, byte [ebp + edx - 0xd94]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xdc3]
movzx eax, byte [ebp - 0xdb1]
mov cl, byte [ebp + edx - 0xd94]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xdc3]
mov al, byte [ebp - 0xe7d]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xe7d]
movzx edx, byte [ebp + ecx - 0xd94]
movzx eax, byte [ebp - 0xd9d]
add eax, edx
mov byte [ebp - 0xd9d], al
movzx ecx, byte [ebp - 0xe21]
movzx edx, byte [ebp - 0xc91]
movzx eax, byte [ebp + edx - 0xd94]
movzx edx, byte [ebp - 0xdc3]
movzx edx, byte [ebp + edx - 0xd94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd94]
xor ecx, eax
movzx edx, byte [ebp - 0xdb1]
movzx eax, byte [ebp + edx - 0xd94]
movzx edx, byte [ebp - 0xc81]
movzx edx, byte [ebp + edx - 0xd94]
add eax, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd94]
movzx edx, byte [ebp + eax - 0xd94]
xor ecx, edx
mov byte [ebp - 0xdb1], cl
mov al, byte [ebp - 0xe21]
mov byte [ebp - 0xc81], al
mov cl, byte [ebp - 0xdb1]
mov byte [ebp - 0xe5d], cl
cmp dword [ebp - 0xe48], 0
jle 0x51db62
movsx dx, byte [ebp - 0xe5d]
mov eax, dword [ebp - 0xe48]
mov word [ebp + eax*2 - 0x416], dx
mov ecx, dword [ebp - 0xe48]
add ecx, 1
mov dword [ebp - 0xe48], ecx
mov edx, dword [ebp - 0xe44]
add edx, 1
mov dword [ebp - 0xe44], edx
mov eax, dword [ebp - 0xe48]
shl eax, 1
mov dword [ebp - 0xddc], eax
mov ecx, dword [ebp - 0xc8c]
add ecx, dword [ebp - 0xddc]
movzx edx, byte [ecx]
mov dword [ebp - 0xe6c], edx
mov dword [ebp - 0xe10], 0xc3
mov eax, dword [ebp - 0xe48]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xe28], ecx
mov edx, dword [ebp - 0xc8c]
add edx, dword [ebp - 0xe28]
movzx eax, byte [edx]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe68], 0x66
mov ecx, dword [ebp - 0xe6c]
sub ecx, dword [ebp - 0xe10]
mov dword [ebp - 0xe88], ecx
mov edx, dword [ebp - 0xe8c]
sub edx, dword [ebp - 0xe68]
mov dword [ebp - 0xdf0], edx
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
mov ecx, dword [ebp - 0xdf0]
mov dword [ebp - 0xe64], ecx
mov edx, dword [ebp - 0xe84]
or edx, dword [ebp - 0xe64]
mov dword [ebp - 0xe40], edx
mov al, byte [ebp - 0xe40]
mov byte [ebp - 0xe21], al
movzx ecx, byte [ebp - 0xc81]
mov dl, byte [ebp + ecx - 0xd94]
mov byte [ebp - 0xe7d], dl
movzx eax, byte [ebp - 0xdc3]
movzx ecx, byte [ebp + eax - 0xd94]
movzx edx, byte [ebp - 0xc91]
add edx, ecx
mov byte [ebp - 0xc91], dl
mov al, byte [ebp - 0xdc3]
add al, 1
mov byte [ebp - 0xdc3], al
movzx ecx, byte [ebp - 0xc91]
movzx edx, byte [ebp - 0xc81]
mov al, byte [ebp + ecx - 0xd94]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xdb1]
movzx edx, byte [ebp - 0xc91]
mov al, byte [ebp + ecx - 0xd94]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xdc3]
movzx edx, byte [ebp - 0xdb1]
mov al, byte [ebp + ecx - 0xd94]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xdc3]
mov dl, byte [ebp - 0xe7d]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xe7d]
movzx ecx, byte [ebp + eax - 0xd94]
movzx edx, byte [ebp - 0xd9d]
add edx, ecx
mov byte [ebp - 0xd9d], dl
movzx eax, byte [ebp - 0xe21]
movzx ecx, byte [ebp - 0xc91]
movzx edx, byte [ebp + ecx - 0xd94]
movzx ecx, byte [ebp - 0xdc3]
movzx ecx, byte [ebp + ecx - 0xd94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd94]
xor eax, edx
movzx ecx, byte [ebp - 0xdb1]
movzx edx, byte [ebp + ecx - 0xd94]
movzx ecx, byte [ebp - 0xc81]
movzx ecx, byte [ebp + ecx - 0xd94]
add edx, ecx
movzx ecx, byte [ebp - 0xd9d]
movzx ecx, byte [ebp + ecx - 0xd94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd94]
movzx ecx, byte [ebp + edx - 0xd94]
xor eax, ecx
mov byte [ebp - 0xdb1], al
mov dl, byte [ebp - 0xe21]
mov byte [ebp - 0xc81], dl
mov al, byte [ebp - 0xdb1]
mov byte [ebp - 0xe5d], al
cmp dword [ebp - 0xe48], 0
jle 0x51ddbc
movsx cx, byte [ebp - 0xe5d]
mov edx, dword [ebp - 0xe48]
mov word [ebp + edx*2 - 0x416], cx
mov eax, dword [ebp - 0xe48]
add eax, 1
mov dword [ebp - 0xe48], eax
mov ecx, dword [ebp - 0xe44]
add ecx, 1
mov dword [ebp - 0xe44], ecx
mov edx, dword [ebp - 0xe48]
shl edx, 1
mov dword [ebp - 0xddc], edx
mov eax, dword [ebp - 0xc8c]
add eax, dword [ebp - 0xddc]
movzx ecx, byte [eax]
mov dword [ebp - 0xe6c], ecx
mov dword [ebp - 0xe10], 0xc3
mov edx, dword [ebp - 0xe48]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xe28], eax
mov ecx, dword [ebp - 0xc8c]
add ecx, dword [ebp - 0xe28]
movzx edx, byte [ecx]
mov dword [ebp - 0xe8c], edx
mov dword [ebp - 0xe68], 0x66
mov eax, dword [ebp - 0xe6c]
sub eax, dword [ebp - 0xe10]
mov dword [ebp - 0xe88], eax
fld dword [0x9ca5b0]
fstp dword [ebp - 0xe04]
fld dword [0x9ca5ac]
fstp dword [ebp - 0xe7c]
fld dword [0x9ca5a8]
fstp dword [ebp - 0xe3c]
fld dword [0x9ca5a4]
fstp dword [ebp - 0xe20]
fld dword [0x9ca5a0]
fstp dword [ebp - 0xe00]
fld dword [0x9ca59c]
fstp dword [ebp - 0xe78]
fld dword [0x9ca598]
fstp dword [ebp - 0xe38]
fld dword [ebp - 0xe20]
fadd dword [ebp - 0xe38]
fstp dword [ebp - 0xe20]
fld dword [ebp - 0xe20]
fsub dword [ebp - 0xe38]
fstp dword [ebp - 0xe20]
fld dword [ebp - 0xe04]
fadd dword [ebp - 0xe38]
fstp dword [ebp - 0xe04]
fld dword [ebp - 0xe78]
fadd dword [ebp - 0xe38]
fstp dword [ebp - 0xe78]
fld dword [ebp - 0xe00]
fsub dword [ebp - 0xe38]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xe3c]
fsub dword [ebp - 0xe38]
fstp dword [ebp - 0xe3c]
fld dword [ebp - 0xe78]
fsub dword [ebp - 0xe38]
fstp dword [ebp - 0xe78]
fld dword [ebp - 0xe38]
fld dword [ebp - 0xe04]
fcompp
fnstsw ax
test ah, 5
jp 0x51dfb6
fld dword [ebp - 0xe00]
fadd dword [ebp - 0xe78]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xe04]
fmul dword [ebp - 0xe7c]
fstp dword [ebp - 0xe04]
fld dword [ebp - 0xe78]
fadd dword [ebp - 0xe38]
fstp dword [ebp - 0xe78]
fld dword [ebp - 0xe00]
fsub dword [ebp - 0xe78]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xe20]
fdiv dword [ebp - 0xe00]
fstp dword [ebp - 0xe20]
fld dword [ebp - 0xe38]
fmul dword [ebp - 0xe04]
fstp dword [ebp - 0xe38]
fld dword [ebp - 0xe04]
fadd dword [ebp - 0xe7c]
fstp dword [ebp - 0xe04]
jmp 0x51e046
fld dword [ebp - 0xe78]
fmul dword [ebp - 0xe38]
fstp dword [ebp - 0xe78]
fld dword [ebp - 0xe7c]
fsub dword [ebp - 0xe3c]
fstp dword [ebp - 0xe7c]
fld dword [ebp - 0xe7c]
fmul dword [ebp - 0xe3c]
fstp dword [ebp - 0xe7c]
fld dword [ebp - 0xe04]
fadd dword [ebp - 0xe7c]
fstp dword [ebp - 0xe04]
fld dword [ebp - 0xe7c]
fsub dword [ebp - 0xe3c]
fstp dword [ebp - 0xe7c]
fld dword [ebp - 0xe20]
fsub dword [ebp - 0xe00]
fstp dword [ebp - 0xe20]
fld dword [ebp - 0xe3c]
fadd dword [ebp - 0xe20]
fstp dword [ebp - 0xe3c]
mov ecx, dword [ebp - 0xe8c]
sub ecx, dword [ebp - 0xe68]
mov dword [ebp - 0xdf0], ecx
mov edx, dword [ebp - 0xe88]
shl edx, 4
mov dword [ebp - 0xe84], edx
mov eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xe64], eax
mov ecx, dword [ebp - 0xe84]
or ecx, dword [ebp - 0xe64]
mov dword [ebp - 0xe40], ecx
mov dl, byte [ebp - 0xe40]
mov byte [ebp - 0xe21], dl
movzx eax, byte [ebp - 0xc81]
mov cl, byte [ebp + eax - 0xd94]
mov byte [ebp - 0xe7d], cl
movzx edx, byte [ebp - 0xdc3]
movzx eax, byte [ebp + edx - 0xd94]
movzx ecx, byte [ebp - 0xc91]
add ecx, eax
mov byte [ebp - 0xc91], cl
mov dl, byte [ebp - 0xdc3]
add dl, 1
mov byte [ebp - 0xdc3], dl
movzx eax, byte [ebp - 0xc91]
movzx ecx, byte [ebp - 0xc81]
mov dl, byte [ebp + eax - 0xd94]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xdb1]
movzx ecx, byte [ebp - 0xc91]
mov dl, byte [ebp + eax - 0xd94]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xdc3]
movzx ecx, byte [ebp - 0xdb1]
mov dl, byte [ebp + eax - 0xd94]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xdc3]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xe7d]
movzx eax, byte [ebp + edx - 0xd94]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx edx, byte [ebp - 0xe21]
movzx eax, byte [ebp - 0xc91]
movzx ecx, byte [ebp + eax - 0xd94]
movzx eax, byte [ebp - 0xdc3]
movzx eax, byte [ebp + eax - 0xd94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd94]
xor edx, ecx
movzx eax, byte [ebp - 0xdb1]
movzx ecx, byte [ebp + eax - 0xd94]
movzx eax, byte [ebp - 0xc81]
movzx eax, byte [ebp + eax - 0xd94]
add ecx, eax
movzx eax, byte [ebp - 0xd9d]
movzx eax, byte [ebp + eax - 0xd94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd94]
movzx eax, byte [ebp + ecx - 0xd94]
xor edx, eax
mov byte [ebp - 0xdb1], dl
mov cl, byte [ebp - 0xe21]
mov byte [ebp - 0xc81], cl
mov dl, byte [ebp - 0xdb1]
mov byte [ebp - 0xe5d], dl
cmp dword [ebp - 0xe48], 0
jle 0x51e203
movsx ax, byte [ebp - 0xe5d]
mov ecx, dword [ebp - 0xe48]
mov word [ebp + ecx*2 - 0x416], ax
mov edx, dword [ebp - 0xe48]
add edx, 1
mov dword [ebp - 0xe48], edx
mov eax, dword [ebp - 0xe44]
add eax, 1
mov dword [ebp - 0xe44], eax
mov ecx, dword [ebp - 0xe48]
shl ecx, 1
mov dword [ebp - 0xddc], ecx
mov edx, dword [ebp - 0xc8c]
add edx, dword [ebp - 0xddc]
movzx eax, byte [edx]
mov dword [ebp - 0xe6c], eax
mov dword [ebp - 0xe10], 0xc3
mov ecx, dword [ebp - 0xe48]
lea edx, [ecx + ecx + 1]
mov dword [ebp - 0xe28], edx
mov eax, dword [ebp - 0xc8c]
add eax, dword [ebp - 0xe28]
movzx ecx, byte [eax]
mov dword [ebp - 0xe8c], ecx
mov dword [ebp - 0xe68], 0x66
mov edx, dword [ebp - 0xe6c]
sub edx, dword [ebp - 0xe10]
mov dword [ebp - 0xe88], edx
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe68]
mov dword [ebp - 0xdf0], eax
mov ecx, dword [ebp - 0xe88]
shl ecx, 4
mov dword [ebp - 0xe84], ecx
mov edx, dword [ebp - 0xdf0]
mov dword [ebp - 0xe64], edx
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe64]
mov dword [ebp - 0xe40], eax
mov cl, byte [ebp - 0xe40]
mov byte [ebp - 0xe21], cl
movzx edx, byte [ebp - 0xc81]
mov al, byte [ebp + edx - 0xd94]
mov byte [ebp - 0xe7d], al
movzx ecx, byte [ebp - 0xdc3]
movzx edx, byte [ebp + ecx - 0xd94]
movzx eax, byte [ebp - 0xc91]
add eax, edx
mov byte [ebp - 0xc91], al
mov cl, byte [ebp - 0xdc3]
add cl, 1
mov byte [ebp - 0xdc3], cl
movzx edx, byte [ebp - 0xc91]
movzx eax, byte [ebp - 0xc81]
mov cl, byte [ebp + edx - 0xd94]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xdb1]
movzx eax, byte [ebp - 0xc91]
mov cl, byte [ebp + edx - 0xd94]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xdc3]
movzx eax, byte [ebp - 0xdb1]
mov cl, byte [ebp + edx - 0xd94]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xdc3]
mov al, byte [ebp - 0xe7d]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xe7d]
movzx edx, byte [ebp + ecx - 0xd94]
movzx eax, byte [ebp - 0xd9d]
add eax, edx
mov byte [ebp - 0xd9d], al
movzx ecx, byte [ebp - 0xe21]
movzx edx, byte [ebp - 0xc91]
movzx eax, byte [ebp + edx - 0xd94]
movzx edx, byte [ebp - 0xdc3]
movzx edx, byte [ebp + edx - 0xd94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd94]
xor ecx, eax
movzx edx, byte [ebp - 0xdb1]
movzx eax, byte [ebp + edx - 0xd94]
movzx edx, byte [ebp - 0xc81]
movzx edx, byte [ebp + edx - 0xd94]
add eax, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd94]
add eax, edx
and eax, 0xff
movzx eax, byte [ebp + eax - 0xd94]
movzx edx, byte [ebp + eax - 0xd94]
xor ecx, edx
mov byte [ebp - 0xdb1], cl
mov al, byte [ebp - 0xe21]
mov byte [ebp - 0xc81], al
mov cl, byte [ebp - 0xdb1]
mov byte [ebp - 0xe5d], cl
cmp dword [ebp - 0xe48], 0
jle 0x51e45c
movsx dx, byte [ebp - 0xe5d]
mov eax, dword [ebp - 0xe48]
mov word [ebp + eax*2 - 0x416], dx
mov ecx, dword [ebp - 0xe48]
add ecx, 1
mov dword [ebp - 0xe48], ecx
mov edx, dword [ebp - 0xe44]
add edx, 1
mov dword [ebp - 0xe44], edx
mov eax, dword [ebp - 0xe48]
shl eax, 1
mov dword [ebp - 0xddc], eax
mov ecx, dword [ebp - 0xc8c]
add ecx, dword [ebp - 0xddc]
movzx edx, byte [ecx]
mov dword [ebp - 0xe6c], edx
mov dword [ebp - 0xe10], 0xc3
mov eax, dword [ebp - 0xe48]
lea ecx, [eax + eax + 1]
mov dword [ebp - 0xe28], ecx
mov edx, dword [ebp - 0xc8c]
add edx, dword [ebp - 0xe28]
movzx eax, byte [edx]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe68], 0x66
mov ecx, dword [ebp - 0xe6c]
sub ecx, dword [ebp - 0xe10]
mov dword [ebp - 0xe88], ecx
mov edx, dword [ebp - 0xe8c]
sub edx, dword [ebp - 0xe68]
mov dword [ebp - 0xdf0], edx
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
mov ecx, dword [ebp - 0xdf0]
mov dword [ebp - 0xe64], ecx
fld qword [0x9ca590]
fstp qword [ebp - 0xe1c]
fld qword [0x9ca588]
fstp qword [ebp - 0xdfc]
fld qword [0x9ca580]
fstp qword [ebp - 0xe74]
fld qword [0x9ca578]
fstp qword [ebp - 0xe5c]
fld qword [0x9ca570]
fstp qword [ebp - 0xdec]
fld qword [ebp - 0xe5c]
fmul qword [ebp - 0xdec]
fstp qword [ebp - 0xe5c]
fld qword [ebp - 0xe5c]
fmul qword [ebp - 0xdec]
fstp qword [ebp - 0xe5c]
fld qword [ebp - 0xdfc]
fmul qword [ebp - 0xdec]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xe1c]
fmul qword [ebp - 0xdec]
fstp qword [ebp - 0xe1c]
fld qword [ebp - 0xdfc]
fsub qword [ebp - 0xdec]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xdec]
fcomp qword [ebp - 0xe5c]
fnstsw ax
test ah, 5
jp 0x51e62c
fld qword [ebp - 0xdfc]
fmul qword [ebp - 0xe5c]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xe5c]
fmul qword [ebp - 0xe1c]
fstp qword [ebp - 0xe5c]
fld qword [ebp - 0xdec]
fsub qword [ebp - 0xdfc]
fstp qword [ebp - 0xdec]
fld qword [ebp - 0xe1c]
fsub qword [ebp - 0xe74]
fstp qword [ebp - 0xe1c]
fld qword [ebp - 0xe74]
fmul qword [ebp - 0xdec]
fstp qword [ebp - 0xe74]
mov edx, dword [ebp - 0xe84]
or edx, dword [ebp - 0xe64]
mov dword [ebp - 0xe40], edx
jmp 0x51e686
fld qword [ebp - 0xe5c]
fadd qword [ebp - 0xdec]
fstp qword [ebp - 0xe5c]
fld qword [ebp - 0xdfc]
fadd qword [ebp - 0xe74]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xe5c]
fsub qword [ebp - 0xdec]
fstp qword [ebp - 0xe5c]
fld qword [ebp - 0xe74]
fadd qword [ebp - 0xe5c]
fstp qword [ebp - 0xe74]
fld qword [ebp - 0xdec]
fsub qword [ebp - 0xe1c]
fstp qword [ebp - 0xdec]
mov al, byte [ebp - 0xe40]
mov byte [ebp - 0xe21], al
movzx ecx, byte [ebp - 0xc81]
mov dl, byte [ebp + ecx - 0xd94]
mov byte [ebp - 0xe7d], dl
movzx eax, byte [ebp - 0xdc3]
movzx ecx, byte [ebp + eax - 0xd94]
movzx edx, byte [ebp - 0xc91]
add edx, ecx
mov byte [ebp - 0xc91], dl
mov al, byte [ebp - 0xdc3]
add al, 1
mov byte [ebp - 0xdc3], al
movzx ecx, byte [ebp - 0xc91]
movzx edx, byte [ebp - 0xc81]
mov al, byte [ebp + ecx - 0xd94]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xdb1]
movzx edx, byte [ebp - 0xc91]
mov al, byte [ebp + ecx - 0xd94]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xdc3]
movzx edx, byte [ebp - 0xdb1]
mov al, byte [ebp + ecx - 0xd94]
mov byte [ebp + edx - 0xd94], al
movzx ecx, byte [ebp - 0xdc3]
mov dl, byte [ebp - 0xe7d]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xe7d]
movzx ecx, byte [ebp + eax - 0xd94]
movzx edx, byte [ebp - 0xd9d]
add edx, ecx
mov byte [ebp - 0xd9d], dl
movzx eax, byte [ebp - 0xe21]
movzx ecx, byte [ebp - 0xc91]
movzx edx, byte [ebp + ecx - 0xd94]
movzx ecx, byte [ebp - 0xdc3]
movzx ecx, byte [ebp + ecx - 0xd94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd94]
xor eax, edx
movzx ecx, byte [ebp - 0xdb1]
movzx edx, byte [ebp + ecx - 0xd94]
movzx ecx, byte [ebp - 0xc81]
movzx ecx, byte [ebp + ecx - 0xd94]
add edx, ecx
movzx ecx, byte [ebp - 0xd9d]
movzx ecx, byte [ebp + ecx - 0xd94]
add edx, ecx
and edx, 0xff
movzx edx, byte [ebp + edx - 0xd94]
movzx ecx, byte [ebp + edx - 0xd94]
xor eax, ecx
mov byte [ebp - 0xdb1], al
mov dl, byte [ebp - 0xe21]
mov byte [ebp - 0xc81], dl
mov al, byte [ebp - 0xdb1]
mov byte [ebp - 0xe5d], al
cmp dword [ebp - 0xe48], 0
jle 0x51e815
movsx cx, byte [ebp - 0xe5d]
mov edx, dword [ebp - 0xe48]
mov word [ebp + edx*2 - 0x416], cx
mov eax, dword [ebp - 0xe48]
add eax, 1
mov dword [ebp - 0xe48], eax
mov ecx, dword [ebp - 0xe44]
add ecx, 1
mov dword [ebp - 0xe44], ecx
mov edx, dword [ebp - 0xe48]
shl edx, 1
mov dword [ebp - 0xddc], edx
mov eax, dword [ebp - 0xc8c]
add eax, dword [ebp - 0xddc]
movzx ecx, byte [eax]
mov dword [ebp - 0xe6c], ecx
mov dword [ebp - 0xe10], 0xc3
mov edx, dword [ebp - 0xe48]
lea eax, [edx + edx + 1]
mov dword [ebp - 0xe28], eax
mov ecx, dword [ebp - 0xc8c]
add ecx, dword [ebp - 0xe28]
movzx edx, byte [ecx]
mov dword [ebp - 0xe8c], edx
mov dword [ebp - 0xe68], 0x66
mov eax, dword [ebp - 0xe6c]
sub eax, dword [ebp - 0xe10]
mov dword [ebp - 0xe88], eax
mov ecx, dword [ebp - 0xe8c]
sub ecx, dword [ebp - 0xe68]
mov dword [ebp - 0xdf0], ecx
mov edx, dword [ebp - 0xe88]
shl edx, 4
mov dword [ebp - 0xe84], edx
mov eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xe64], eax
fld qword [0x9ca568]
fstp qword [ebp - 0xe0c]
fld qword [0x9ca560]
fstp qword [ebp - 0xe34]
fld qword [0x9ca558]
fstp qword [ebp - 0xe54]
fld qword [0x9ca550]
fstp qword [ebp - 0xde4]
fld qword [ebp - 0xe54]
fmul qword [ebp - 0xde4]
fstp qword [ebp - 0xe54]
fld qword [ebp - 0xe34]
fmul qword [ebp - 0xde4]
fstp qword [ebp - 0xe34]
fld qword [ebp - 0xe54]
fadd qword [ebp - 0xde4]
fstp qword [ebp - 0xe54]
fld qword [ebp - 0xe54]
fmul qword [ebp - 0xde4]
fstp qword [ebp - 0xe54]
fld qword [ebp - 0xe54]
fcomp qword [ebp - 0xde4]
fnstsw ax
test ah, 0x41
jne 0x51e9b8
fld qword [ebp - 0xde4]
fadd qword [ebp - 0xe0c]
fstp qword [ebp - 0xde4]
fld qword [ebp - 0xe34]
fsub qword [ebp - 0xe54]
fstp qword [ebp - 0xe34]
fld qword [ebp - 0xe54]
fmul qword [ebp - 0xde4]
fstp qword [ebp - 0xe54]
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe34]
fstp qword [ebp - 0xe0c]
mov ecx, dword [ebp - 0xe84]
or ecx, dword [ebp - 0xe64]
mov dword [ebp - 0xe40], ecx
jmp 0x51eaed
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xde4]
fadd qword [ebp - 0xe34]
fstp qword [ebp - 0xde4]
fld qword [ebp - 0xe0c]
fmul qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe54]
fadd qword [ebp - 0xe0c]
fstp qword [ebp - 0xe54]
fld qword [ebp - 0xe34]
fadd qword [ebp - 0xde4]
fstp qword [ebp - 0xe34]
fld qword [ebp - 0xe0c]
fmul qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xde4]
fcomp qword [ebp - 0xe34]
fnstsw ax
test ah, 5
jp 0x51eaa5
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe34]
fmul qword [ebp - 0xde4]
fstp qword [ebp - 0xe34]
fld qword [ebp - 0xe34]
fadd qword [ebp - 0xde4]
fstp qword [ebp - 0xe34]
fld qword [ebp - 0xe34]
fdiv qword [ebp - 0xde4]
fstp qword [ebp - 0xe34]
jmp 0x51eaed
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe34]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe34]
fmul qword [ebp - 0xe54]
fstp qword [ebp - 0xe34]
fld qword [ebp - 0xe54]
fadd qword [ebp - 0xde4]
fstp qword [ebp - 0xe54]
fld qword [ebp - 0xe0c]
fdiv qword [ebp - 0xe34]
fstp qword [ebp - 0xe0c]
mov dl, byte [ebp - 0xe40]
mov byte [ebp - 0xe21], dl
movzx eax, byte [ebp - 0xc81]
mov cl, byte [ebp + eax - 0xd94]
mov byte [ebp - 0xe7d], cl
movzx edx, byte [ebp - 0xdc3]
movzx eax, byte [ebp + edx - 0xd94]
movzx ecx, byte [ebp - 0xc91]
add ecx, eax
mov byte [ebp - 0xc91], cl
mov dl, byte [ebp - 0xdc3]
add dl, 1
mov byte [ebp - 0xdc3], dl
movzx eax, byte [ebp - 0xc91]
movzx ecx, byte [ebp - 0xc81]
mov dl, byte [ebp + eax - 0xd94]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xdb1]
movzx ecx, byte [ebp - 0xc91]
mov dl, byte [ebp + eax - 0xd94]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xdc3]
movzx ecx, byte [ebp - 0xdb1]
mov dl, byte [ebp + eax - 0xd94]
mov byte [ebp + ecx - 0xd94], dl
movzx eax, byte [ebp - 0xdc3]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd94], cl
movzx edx, byte [ebp - 0xe7d]
movzx eax, byte [ebp + edx - 0xd94]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx edx, byte [ebp - 0xe21]
movzx eax, byte [ebp - 0xc91]
movzx ecx, byte [ebp + eax - 0xd94]
movzx eax, byte [ebp - 0xdc3]
movzx eax, byte [ebp + eax - 0xd94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd94]
xor edx, ecx
movzx eax, byte [ebp - 0xdb1]
movzx ecx, byte [ebp + eax - 0xd94]
movzx eax, byte [ebp - 0xc81]
movzx eax, byte [ebp + eax - 0xd94]
add ecx, eax
movzx eax, byte [ebp - 0xd9d]
movzx eax, byte [ebp + eax - 0xd94]
add ecx, eax
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd94]
movzx eax, byte [ebp + ecx - 0xd94]
xor edx, eax
mov byte [ebp - 0xdb1], dl
mov cl, byte [ebp - 0xe21]
mov byte [ebp - 0xc81], cl
mov dl, byte [ebp - 0xdb1]
mov byte [ebp - 0xe5d], dl
cmp dword [ebp - 0xe48], 0
jle 0x51ec7d
movsx ax, byte [ebp - 0xe5d]
mov ecx, dword [ebp - 0xe48]
mov word [ebp + ecx*2 - 0x416], ax
xor edx, edx
mov word [ebp - 0x40a], dx
jmp 0x51ecbe
mov dword [ebp - 0xe90], 0
jmp 0x51eca3
mov eax, dword [ebp - 0xe90]
add eax, 1
mov dword [ebp - 0xe90], eax
cmp dword [ebp - 0xe90], 6
jge 0x51ecbe
xor ecx, ecx
mov edx, dword [ebp - 0xe90]
mov word [ebp + edx*2 - 0x414], cx
jmp 0x51ec94
push 1
push 0
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x3e8]
call fcn.0090c7b0
push eax
lea ecx, [ebp - 0x654]
push ecx
lea edx, [ebp - 0x414]
push edx
push 0
call dword [ebp - 0x3e4]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0xea0], 0x208
lea eax, [ebp - 0x214]
mov dword [ebp - 0xe9c], eax
cmp dword [ebp - 0xea0], 0
je 0x51ed36
mov ecx, dword [ebp - 0xe9c]
mov byte [ecx], 0
mov edx, dword [ebp - 0xe9c]
add edx, 1
mov dword [ebp - 0xe9c], edx
mov eax, dword [ebp - 0xea0]
sub eax, 1
mov dword [ebp - 0xea0], eax
jmp 0x51ed04
cmp dword [ebp - 0x408], 0x20
jle 0x51ed53
mov byte [ebp - 0x245], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call dword [0x9fda30]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3e8]
call fcn.0090fe70
mov al, byte [ebp - 0x245]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret