Function at 0x8edadf
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x278
push ebx
and dword [ebp - 0xa4], 0
and dword [ebp - 0xc], 0
fldz
fstp qword [ebp - 0x18]
fldz
fstp qword [ebp - 8]
fldz
fstp qword [ebp - 8]
jmp 0x8edb11
fld qword [ebp - 8]
fadd qword [0x99ec18]
fstp qword [ebp - 8]
fld qword [0x9a3978]
fcomp qword [ebp - 8]
fnstsw ax
test ah, 0x41
jne 0x8edb70
fld qword [0x9a3970]
fmul qword [ebp - 8]
fmul qword [ebp - 8]
fld qword [ebp - 8]
fmul qword [ebp - 8]
fsubp st(1)
fld qword [0x99f918]
fmul qword [ebp - 8]
fmul qword [ebp - 8]
fadd qword [0x9a3968]
fdivp st(1)
fadd qword [ebp - 0x18]
fstp qword [ebp - 0x18]
fld qword [0x9a3960]
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 5
jp 0x8edb6e
fld qword [0x9a3958]
fmul qword [ebp - 8]
fsubr qword [ebp - 0x18]
fstp qword [ebp - 0x18]
jmp 0x8edb05
fldz
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
jne 0x8edc17
jecxz 0x8edbc4
fld qword [ebp - 0x21]
dec eax
jecxz 0x8edbcd
fistp qword [edx]
loopne 0x8edbcf
in al, 0x3d
loope 0x8edbd2
in al, dx
cmp ah, cl
dec ecx
fild word [ebp - 0x17]
inc eax
out 0x45, al
loope 0x8edbdc
fidivr word [edx]
call 0xdfd1c3e7
dec ecx
in al, 0x48
ljmp 0xeb3d
jmp 0xe3d5bc0b
cmp esp, eax
inc edi
out 0x45, al
in al, dx
cmp ch, ah
dec ecx
ljmp 0xe741
out 0x44, eax
jmp 0xe1d8c322
mov dword [ebp - 0xa4], 0x8edb80
mov dword [ebp - 0xc], 0x8edbfe
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0xac], eax
mov byte [ebp - 0x1c9], 0x18
and dword [ebp - 0x1c0], 0
jmp 0x8edc5a
mov eax, dword [ebp - 0x1c0]
inc eax
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0x100
jae 0x8edc7b
mov eax, dword [ebp - 0x1c0]
mov cl, byte [ebp - 0x1c0]
mov byte [ebp + eax - 0x1b8], cl
jmp 0x8edc4d
and dword [ebp - 0xb4], 0
mov byte [ebp - 0x1ca], 0
mov dword [ebp - 0x1c0], 0xff
jmp 0x8edca2
mov eax, dword [ebp - 0x1c0]
dec eax
mov dword [ebp - 0x1c0], eax
cmp dword [ebp - 0x1c0], 0
jbe 0x8edf10
and dword [ebp - 0x1d0], 0
mov dword [ebp - 0x1d8], 1
mov eax, dword [ebp - 0x1d8]
cmp eax, dword [ebp - 0x1c0]
jae 0x8edce0
mov eax, dword [ebp - 0x1d8]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x1d8], eax
jmp 0x8edcc0
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
mov dword [ebp - 0x268], eax
cmp dword [ebp - 0x268], 0
je 0x8edd25
sub dword [ebp - 0x268], 1
je 0x8edd4e
sub dword [ebp - 0x268], 1
je 0x8edd77
sub dword [ebp - 0x268], 1
je 0x8edda0
jmp 0x8eddc9
movzx eax, byte [ebp - 0x1ca]
movzx ebx, byte [ebp + eax - 0x1b8]
fld qword [ebp - 0x18]
call fcn.00935c96
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x1ca], bl
jmp 0x8eddf0
movzx eax, byte [ebp - 0x1ca]
movzx ebx, byte [ebp + eax - 0x1b8]
fld qword [ebp - 0x18]
call fcn.00935c96
shr eax, 8
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x1ca], bl
jmp 0x8eddf0
movzx eax, byte [ebp - 0x1ca]
movzx ebx, byte [ebp + eax - 0x1b8]
fld qword [ebp - 0x18]
call fcn.00935c96
shr eax, 0x10
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x1ca], bl
jmp 0x8eddf0
movzx eax, byte [ebp - 0x1ca]
movzx ebx, byte [ebp + eax - 0x1b8]
fld qword [ebp - 0x18]
call fcn.00935c96
shr eax, 0x18
and eax, 0xff
add ebx, eax
mov byte [ebp - 0x1ca], bl
jmp 0x8eddf0
movzx eax, byte [ebp - 0x1ca]
movzx eax, byte [ebp + eax - 0x1b8]
mov ecx, dword [ebp - 0xac]
add ecx, dword [ebp - 0xb4]
movzx ecx, byte [ecx - 4]
add eax, ecx
mov byte [ebp - 0x1ca], al
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
movzx eax, byte [ebp - 0x1c9]
cmp dword [ebp - 0xb4], eax
jb 0x8ede29
and dword [ebp - 0xb4], 0
movzx eax, byte [ebp - 0x1c9]
movzx ecx, byte [ebp - 0x1ca]
add ecx, eax
mov byte [ebp - 0x1ca], cl
movzx eax, byte [ebp - 0x1ca]
and eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1d0]
inc eax
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0xb
jbe 0x8ede66
mov eax, dword [ebp - 0x1d4]
xor edx, edx
div dword [ebp - 0x1c0]
mov dword [ebp - 0x1d4], edx
mov eax, dword [ebp - 0x1d4]
cmp eax, dword [ebp - 0x1c0]
ja 0x8edce0
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x1d4]
je 0x8edf0b
mov eax, dword [ebp - 0x1d4]
movzx eax, byte [ebp + eax - 0x1b8]
mov ecx, dword [ebp - 0x1c0]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor ecx, eax
mov eax, dword [ebp - 0x1c0]
mov byte [ebp + eax - 0x1b8], cl
mov eax, dword [ebp - 0x1c0]
movzx eax, byte [ebp + eax - 0x1b8]
mov ecx, dword [ebp - 0x1d4]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor ecx, eax
mov eax, dword [ebp - 0x1d4]
mov byte [ebp + eax - 0x1b8], cl
mov eax, dword [ebp - 0x1d4]
movzx eax, byte [ebp + eax - 0x1b8]
mov ecx, dword [ebp - 0x1c0]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor ecx, eax
mov eax, dword [ebp - 0x1c0]
mov byte [ebp + eax - 0x1b8], cl
jmp 0x8edc95
mov al, byte [ebp - 0x1b7]
mov byte [ebp - 0x1cb], al
mov al, byte [ebp - 0x1b5]
mov byte [ebp - 0xb5], al
mov al, byte [ebp - 0x1b3]
mov byte [ebp - 0x1b9], al
mov al, byte [ebp - 0x1b1]
mov byte [ebp - 0x1c1], al
movzx eax, byte [ebp - 0x1ca]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0xa5], al
mov dword [ebp - 0x1c8], 0x7e
cmp dword [ebp - 0x1c8], 2
jle 0x8ef5ed
mov eax, dword [ebp - 0x1c8]
and eax, 1
jne 0x8ef5ed
and dword [ebp - 0x220], 0
and dword [ebp - 0x21c], 0
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
and dword [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
and dword [ebp - 0x240], 0
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
add eax, dword [ebp - 0x240]
mov dword [ebp - 0x240], eax
and dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1fc]
add eax, 0xdd
mov dword [ebp - 0x1fc], eax
and dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
and dword [ebp - 0x250], 0
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
add eax, dword [ebp - 0x250]
mov dword [ebp - 0x250], eax
and dword [ebp - 0x23c], 0
mov eax, dword [ebp - 0x23c]
add eax, 0x3a
mov dword [ebp - 0x23c], eax
and dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
add eax, dword [ebp - 0x24c]
mov dword [ebp - 0x24c], eax
and dword [ebp - 0x1e8], 0
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
add eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x1e8], eax
and dword [ebp - 0x248], 0
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
and dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
and dword [ebp - 0x218], 0
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov byte [ebp - 0x1fd], 0
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
mov byte [ebp - 0x241], 0
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8ee250
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
mov eax, dword [ebp - 0x21c]
add eax, 0x1c
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x254], eax
jmp 0x8ee27b
mov eax, dword [ebp - 0x254]
inc eax
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x21c]
jge 0x8ee4db
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1fc], 0xdd
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x23c], 0x3a
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8ee4d6
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
jmp 0x8ee26e
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1fc], 0xdd
fld qword [0x9a3950]
fstp qword [ebp - 0x1f8]
fld qword [0x9a3948]
fstp qword [ebp - 0x210]
fld qword [0x9a3940]
fstp qword [ebp - 0x230]
fld qword [0x9a3938]
fstp qword [ebp - 0x1e0]
fld qword [ebp - 0x1f8]
fadd qword [ebp - 0x1e0]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x1f8]
fsub qword [ebp - 0x1e0]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x1f8]
fmul qword [ebp - 0x1e0]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x210]
fadd qword [ebp - 0x1e0]
fstp qword [ebp - 0x210]
fld qword [ebp - 0x1e0]
fcomp qword [ebp - 0x1f8]
fnstsw ax
test ah, 5
jp 0x8ee614
fld qword [ebp - 0x210]
fmul qword [ebp - 0x230]
fstp qword [ebp - 0x210]
fld qword [ebp - 0x230]
fmul qword [ebp - 0x1e0]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x210]
fsub qword [ebp - 0x230]
fstp qword [ebp - 0x210]
fld qword [ebp - 0x230]
fsub qword [ebp - 0x1e0]
fstp qword [ebp - 0x230]
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
jmp 0x8ee65c
fld qword [ebp - 0x1f8]
fadd qword [ebp - 0x210]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x230]
fmul qword [ebp - 0x1e0]
fstp qword [ebp - 0x230]
fld qword [ebp - 0x1f8]
fsub qword [ebp - 0x210]
fstp qword [ebp - 0x1f8]
fld qword [ebp - 0x1e0]
fsub qword [ebp - 0x1f8]
fstp qword [ebp - 0x1e0]
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x23c], 0x3a
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
fld dword [0x9a3930]
fstp dword [ebp - 0x1ec]
fld dword [0x9a392c]
fstp dword [ebp - 0x204]
fld dword [0x9a3928]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x204]
fsub dword [ebp - 0x224]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x1ec]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x1ec]
fld dword [ebp - 0x204]
fsub dword [ebp - 0x224]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x204]
fld dword [ebp - 0x1ec]
fcompp
fnstsw ax
test ah, 5
jp 0x8ee87c
fld dword [ebp - 0x1ec]
fsub dword [ebp - 0x204]
fstp dword [ebp - 0x1ec]
fld dword [ebp - 0x224]
fadd dword [ebp - 0x1ec]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x204]
fdiv dword [ebp - 0x224]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x224]
fadd dword [ebp - 0x204]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x1ec]
fadd dword [ebp - 0x224]
fstp dword [ebp - 0x1ec]
fld dword [ebp - 0x224]
fmul dword [ebp - 0x204]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x1ec]
fld dword [ebp - 0x224]
fcompp
fnstsw ax
test ah, 5
jp 0x8ee844
fld dword [ebp - 0x204]
fadd dword [ebp - 0x1ec]
fstp dword [ebp - 0x204]
fld dword [ebp - 0x224]
fmul dword [ebp - 0x204]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x204]
fsub dword [ebp - 0x1ec]
fstp dword [ebp - 0x204]
jmp 0x8ee87a
fld dword [ebp - 0x224]
fsub dword [ebp - 0x1ec]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x224]
fadd dword [ebp - 0x1ec]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x224]
fsub dword [ebp - 0x1ec]
fstp dword [ebp - 0x224]
jmp 0x8ee8ce
fld dword [ebp - 0x224]
fmul dword [ebp - 0x1ec]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x224]
fsub dword [ebp - 0x1ec]
fstp dword [ebp - 0x224]
fld dword [ebp - 0x224]
fsub dword [ebp - 0x1ec]
fstp dword [ebp - 0x224]
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8ee9f5
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1fc], 0xdd
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x23c], 0x3a
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8eec4b
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
mov eax, dword [ebp - 0x21c]
add eax, 0x1d
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x258], eax
jmp 0x8eec76
mov eax, dword [ebp - 0x258]
inc eax
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
cmp eax, dword [ebp - 0x21c]
jge 0x8eeed6
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1fc], 0xdd
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x23c], 0x3a
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8eeed1
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
jmp 0x8eec69
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1fc], 0xdd
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x23c], 0x3a
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8ef139
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1fc], 0xdd
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x23c], 0x3a
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8ef38f
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
mov eax, dword [ebp - 0x220]
inc eax
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x21c]
inc eax
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x220]
shl eax, 1
mov dword [ebp - 0x1e4], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x1e4]
movzx eax, byte [eax]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x1fc], 0xdd
mov eax, dword [ebp - 0x220]
lea eax, [eax + eax + 1]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0xb0]
add eax, dword [ebp - 0x214]
movzx eax, byte [eax]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x23c], 0x3a
mov eax, dword [ebp - 0x240]
sub eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp - 0x250]
sub eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x24c]
shl eax, 4
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x238]
mov dword [ebp - 0x218], eax
mov al, byte [ebp - 0x218]
mov byte [ebp - 0x1fd], al
movzx eax, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp - 0x241], al
movzx eax, byte [ebp - 0x1cb]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0xb5]
add ecx, eax
mov byte [ebp - 0xb5], cl
mov al, byte [ebp - 0x1cb]
add al, 1
mov byte [ebp - 0x1cb], al
movzx eax, byte [ebp - 0xb5]
movzx ecx, byte [ebp - 0xa5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1c1]
movzx ecx, byte [ebp - 0xb5]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
movzx ecx, byte [ebp - 0x1c1]
mov al, byte [ebp + eax - 0x1b8]
mov byte [ebp + ecx - 0x1b8], al
movzx eax, byte [ebp - 0x1cb]
mov cl, byte [ebp - 0x241]
mov byte [ebp + eax - 0x1b8], cl
movzx eax, byte [ebp - 0x241]
movzx eax, byte [ebp + eax - 0x1b8]
movzx ecx, byte [ebp - 0x1b9]
add ecx, eax
mov byte [ebp - 0x1b9], cl
movzx eax, byte [ebp - 0x1fd]
movzx ecx, byte [ebp - 0xb5]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0x1cb]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
movzx ecx, byte [ebp - 0x1c1]
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx edx, byte [ebp - 0xa5]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
movzx edx, byte [ebp - 0x1b9]
movzx edx, byte [ebp + edx - 0x1b8]
add ecx, edx
and ecx, 0xff
movzx ecx, byte [ebp + ecx - 0x1b8]
movzx ecx, byte [ebp + ecx - 0x1b8]
xor eax, ecx
mov byte [ebp - 0x1c1], al
mov al, byte [ebp - 0x1fd]
mov byte [ebp - 0xa5], al
mov al, byte [ebp - 0x1c1]
mov byte [ebp - 0x231], al
cmp dword [ebp - 0x220], 0
jle 0x8ef5e5
movsx ax, byte [ebp - 0x231]
mov ecx, dword [ebp - 0x220]
mov word [ebp + ecx*2 - 0xa2], ax
xor eax, eax
mov word [ebp - 0x24], ax
jmp 0x8ef61e
and dword [ebp - 0x25c], 0
jmp 0x8ef603
mov eax, dword [ebp - 0x25c]
inc eax
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x25c], 0x3f
jge 0x8ef61e
xor eax, eax
mov ecx, dword [ebp - 0x25c]
mov word [ebp + ecx*2 - 0xa0], ax
jmp 0x8ef5f6
and dword [ebp - 0x260], 0
jmp 0x8ef634
mov eax, dword [ebp - 0x260]
inc eax
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp + 0xc]
jge 0x8ef6c5
lea eax, [ebp - 0x1c]
push eax
call fcn.009367d4
pop ecx
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x26c]
add eax, 2
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x26c]
mov ax, word [eax]
mov word [ebp - 0x272], ax
add dword [ebp - 0x26c], 2
cmp word [ebp - 0x272], 0
jne 0x8ef668
mov eax, dword [ebp - 0x26c]
sub eax, dword [ebp - 0x270]
sar eax, 1
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x278]
dec ecx
mov eax, dword [ebp - 0x1c]
xor edx, edx
div ecx
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp + 8]
mov dx, word [ebp + edx*2 - 0xa0]
mov word [ecx + eax*2], dx
jmp 0x8ef627
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov word [edx + ecx*2], ax
pop ebx
leave
ret