Function at 0x81ef8c
Capabilities:
Encrypt data using rc4 ksa
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x564
push esi
push edi
xor esi, esi
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x562]
mov word [ebp - 0x564], si
push 0x104
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x564]
push eax
push esi
call dword [0x8c68d8]
test eax, eax
je 0x8204e4
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x35a]
mov word [ebp - 0x35c], si
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x564]
push ebx
lea edx, [ebp - 0x35c]
push ecx
push edx
stosw word es:[edi], ax
call fcn.00830459
lea eax, [ebp - 0x35c]
push 0x2e
push eax
call fcn.008301b7
mov ecx, eax
add esp, 0x10
mov dword [ebp - 0x54], ecx
cmp word [ecx + 4], 0x78
jne 0x81ee84
cmp word [ecx + 6], 0x65
je 0x81f66c
fld qword [0x882578]
fld qword [0x882578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a3930]
fsub st(1)
fxch st(1)
fmul qword [0x8913e0]
fadd qword [0x890e98]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a3928]
fnstsw ax
test ah, 0x41
jne 0x81eec9
fld st(0)
fmul qword [0x8a3920]
fsubp st(2)
fadd qword [0x890d18]
fcom qword [0x8a3918]
fnstsw ax
test ah, 1
jne 0x81ee90
fxch st(1)
fst qword [ebp - 0x48]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x81ef1d
push cs
pop eax
adc ecx, dword [edi + 0x16]
push edx
push cs
push esp
adc eax, 0x6e763d56
jo 0x81ef22
pop ebp
and byte [ebp + 0x44], dh
inc edx
daa
je 0x81ef82
push edi
pop edi
dec edi
inc edx
pushal
bound edx, qword [ebp + 0x60]
jle 0x81ef73
inc ecx
jp 0x81ef78
insb byte es:[edi], dx
jmp 0x81f622
mov dword [ebp - 0x2c], 0x81eef2
mov dword [ebp - 0x1c], 0x81eefc
xor eax, eax
add dword [eax], 0xfce445c7
out dx, al
add dword [eax], 0x8488c033
add eax, 0xfffffeac
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0x81ef2d
fld qword [ebp - 0x48]
mov byte [ebp - 4], 0
xor edi, edi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x20], 0xff
mov eax, dword [ebp - 0x20]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x4c], 0
jbe 0x81ef6a
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x81ef62
cmp edi, 3
ja case.default.0x81ef6f
jmp dword [edi*4 + 0x8204ec]
add al, 0x82
add cl, bl
fld st(0)
and esi, 0xff
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
jmp 0x81efeb
add byte [edx - 0x153ca74], cl
invalid
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 8
jmp 0x81efeb
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x10
jmp 0x81efeb
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x18
jmp 0x81efeb
mov ecx, dword [ebp - 0x1c]
and esi, 0xff
mov cl, byte [ecx + edi - 4]
mov al, byte [ebp + esi - 0x154]
add cl, al
inc edi
cmp edi, 0x20
mov byte [ebp - 4], cl
jb 0x81effe
xor edi, edi
add cl, 0x20
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x4c], eax
jbe 0x81f01e
mov eax, edx
xor edx, edx
div dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, edx
jb 0x81ef6a
je 0x81f05e
mov cl, byte [ebp + edx - 0x154]
lea eax, [ebp + edx - 0x154]
mov edx, dword [ebp - 0x20]
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
jne 0x81ef4f
mov dl, byte [ebp - 0x14d]
and esi, 0xff
mov byte [ebp - 0x14], dl
mov bl, byte [ebp - 0x151]
mov al, byte [ebp + esi - 0x154]
mov esi, dword [ebp - 0x2c]
mov byte [ebp - 0x30], al
xor eax, eax
mov al, byte [esi]
mov dl, byte [esi + 1]
sub eax, 0xa
sub dl, 0x4a
shl eax, 4
or dl, al
mov cl, byte [ebp - 0x14f]
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
fstp st(0)
mov al, byte [ebp + edx - 0x154]
lea edi, [ebp + edx - 0x154]
mov edx, dword [ebp - 0x153]
mov byte [ebp - 8], al
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x10]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
mov edi, dword [ebp - 0x2c]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x28]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x154]
add edx, edi
and edx, 0xff
xor bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 0x1c]
mov byte [ebp - 0x30], dl
xor bl, dl
xor edx, edx
mov byte [ebp - 0x14], bl
mov dl, byte [esi + 2]
mov edi, edx
xor edx, edx
mov dl, byte [esi + 3]
sub edi, 0xa
shl edi, 4
sub edx, 0x4a
mov ebx, edi
or bl, dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov byte [ebp - 0x1c], bl
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x10]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x30], bl
xor dl, bl
mov byte [ebp - 0x14], dl
movsx dx, dl
mov word [ebp - 0x40], dx
mov bl, byte [esi + 4]
mov dl, byte [esi + 5]
add bl, 6
sub dl, 0x4a
shl bl, 4
or dl, bl
mov byte [ebp - 0x1c], dl
mov edx, dword [ebp - 0x30]
and edx, 0xff
add esi, 6
mov dword [ebp - 0x20], 3
mov dword [ebp - 0x44], esi
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
mov bl, byte [edx]
mov dl, byte [ebp - 0xc]
add al, bl
inc dl
mov byte [ebp - 0x24], al
mov byte [ebp - 0xc], dl
mov edx, dword [ebp - 0x24]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 0x28], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x10], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp - 0x10]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 4], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 4]
mov dl, byte [ebp - 8]
mov byte [ebx], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x10]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
xor dl, bl
mov byte [ebp - 0x14], dl
movsx dx, dl
mov word [ebp - 0x3e], dx
xor edx, edx
mov dl, byte [esi + 1]
mov edi, edx
xor edx, edx
mov dl, byte [esi]
sub edi, 0x4a
sub edx, 0xa
shl edx, 4
or edi, edx
mov edx, dword [ebp - 0x1c]
and edx, 0xff
mov dword [ebp - 0x4c], edi
lea edi, [ebp + edx - 0x154]
mov dl, byte [edi]
mov byte [ebp - 8], dl
mov edx, dword [ebp - 4]
mov dword [ebp - 4], 2
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0xc]
mov byte [ebp - 0x24], al
inc bl
mov edx, dword [ebp - 0x24]
mov byte [ebp - 0xc], bl
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dword [ebp - 0x28], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov esi, dword [ebp - 0xc]
and esi, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + esi - 0x154]
lea esi, [ebp + esi - 0x154]
mov byte [edx], bl
mov dl, byte [ebp - 8]
mov byte [esi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x10]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
and ebx, 0xff
lea edi, [ebp - 0x3c]
mov dword [ebp - 0x1c], edi
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x4c]
mov byte [ebp - 0x30], bl
xor dl, bl
mov byte [ebp - 0x14], dl
movsx dx, dl
mov word [ebp - 0x3c], dx
mov edx, dword [ebp - 0x44]
jmp 0x81f4e3
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x20]
add edx, 2
inc edi
xor ebx, ebx
mov bl, byte [edx]
mov dword [ebp - 0x20], edi
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x44], edx
add edi, 2
mov dword [ebp - 0x1c], edi
mov edi, ebx
xor ebx, ebx
sub edi, 0xa
mov bl, byte [edx + 1]
mov edx, ebx
mov bl, byte [ebp - 0xc]
shl edi, 4
sub edx, 0x4a
or edx, edi
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x30]
and edx, 0xff
lea edi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 8], dl
mov dl, byte [esi]
add al, dl
inc bl
mov byte [ebp - 0x24], al
mov byte [ebp - 0xc], bl
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dword [ebp - 0x28], esi
mov dl, byte [esi]
mov byte [edi], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov esi, dword [ebp - 0xc]
and esi, 0xff
mov dword [ebp - 0x10], edx
mov bl, byte [ebp + esi - 0x154]
lea esi, [ebp + esi - 0x154]
mov byte [edx], bl
mov dl, byte [ebp - 8]
mov byte [esi], dl
mov edx, dword [ebp - 8]
and edx, 0xff
mov dword [ebp - 0x2c], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [edi]
mov edi, dword [ebp - 0x10]
mov byte [ebp - 0x18], cl
mov edx, dword [ebp - 0x18]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [edi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 0x28]
mov edi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x2c]
add ebx, edx
mov dl, byte [ebp + edi - 0x154]
mov edi, dword [ebp - 0x20]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x4c]
mov byte [ebp - 0x30], bl
xor dl, bl
test edi, edi
mov byte [ebp - 0x14], dl
jbe 0x81f60c
mov edi, dword [ebp - 0x1c]
movsx dx, dl
mov word [edi], dx
mov edx, dword [ebp - 4]
dec edx
mov dword [ebp - 4], edx
jne 0x81f4e0
mov ecx, dword [ebp - 0x54]
mov word [ebp - 0x38], 0
xor esi, esi
lea eax, [ebp - 0x40]
mov word [ecx], si
lea ecx, [ebp - 0x35c]
push eax
push ecx
call fcn.0083042f
lea edx, [ebp - 0x35c]
lea eax, [ebp - 0x564]
push edx
push eax
call fcn.0083093e
mov ecx, 0x100
xor eax, eax
mov edi, 0x8c49c0
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x35c]
push ecx
push 0x8c49c0
call fcn.00830459
add esp, 0x18
lea edx, [ebp - 0x34]
push edx
push esi
push esi
push 0x81bc70
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
fld qword [0x882578]
fld qword [0x882578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x8a3910]
fsub st(1)
fxch st(1)
fmul qword [0x891cf0]
fadd qword [0x8a3908]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x8a3900]
fnstsw ax
test ah, 0x41
jne 0x81f6c4
fld st(0)
fmul qword [0x8a38f8]
fsubp st(2)
fadd qword [0x8894a0]
fcom qword [0x8a38f0]
fnstsw ax
test ah, 1
jne 0x81f68b
fxch st(1)
fst qword [ebp - 0x50]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x81f715
wait
popal
lahf
pop edi
sahf
outsb dx, byte [esi]
lcall 0x4c65, 0xa560a564
imul edx, dword [eax + 0x5d], 0x414f5673
jl 0x81f76b
imul ecx, dword ss:[edi + 0x23], 0x2b
insb byte es:[edi], dx
jle 0x81f750
aaa
js 0x81f764
inc eax
jmp 0x81feab
mov dword [ebp - 0x44], 0x81f6ed
mov dword [ebp - 0x54], 0x81f6f9
xor eax, eax
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0x81f725
fld qword [ebp - 0x50]
mov byte [ebp - 4], 0
xor edi, edi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x1c], 0xff
mov eax, dword [ebp - 0x1c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x4c], 0
jbe 0x81f762
ret
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x81f75a
cmp edi, 3
ja case.default.0x81f767
add esi, dword [edi + 0x68]
jmp dword [edi*4 + 0x8204fc]
add al, 0x82
add cl, bl
fld st(0)
and esi, 0xff
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
jmp 0x81f7e3
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 8
jmp 0x81f7e3
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x10
jmp 0x81f7e3
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x18
jmp 0x81f7e3
mov eax, dword [ebp - 0x54]
and esi, 0xff
mov cl, byte [eax + edi - 4]
mov al, byte [ebp + esi - 0x154]
add cl, al
inc edi
cmp edi, 0x1b
mov byte [ebp - 4], cl
jb 0x81f7f6
xor edi, edi
add cl, 0x1b
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x4c], eax
jbe 0x81f816
mov eax, edx
xor edx, edx
div dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
jb 0x81f762
je 0x81f851
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp + edx - 0x154]
mov bl, byte [ebp + ecx - 0x154]
lea edx, [ebp + ecx - 0x154]
mov cl, byte [eax]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
jne 0x81f747
mov edi, dword [ebp - 0x44]
mov dl, byte [ebp - 0x14d]
and esi, 0xff
mov byte [ebp - 0x14], dl
mov dl, byte [edi + 1]
mov bl, byte [ebp - 0x151]
mov al, byte [ebp + esi - 0x154]
sub dl, 0x5f
mov byte [ebp - 0x2c], al
xor eax, eax
mov al, byte [edi]
mov cl, byte [ebp - 0x14f]
add al, 7
shl al, 4
or al, dl
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
fstp st(0)
mov dl, byte [ebp + eax - 0x154]
lea esi, [ebp + eax - 0x154]
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0x153]
mov eax, edx
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x28]
mov byte [ebx], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
mov esi, dword [ebp - 0x18]
and edx, 0xff
xor ebx, ebx
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 4]
mov dl, byte [edx]
mov bl, byte [ebp + ebx - 0x154]
add edx, esi
and edx, 0xff
xor bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp - 0x24]
mov byte [ebp - 0x2c], dl
xor bl, dl
mov dl, byte [edi + 3]
mov byte [ebp - 0x14], bl
mov bl, byte [edi + 2]
sub dl, 0x5f
add bl, 7
shl bl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x28]
mov byte [ebx], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov byte [ebp - 0x14], dl
movsx dx, dl
mov word [ebp - 0x40], dx
mov bl, byte [edi + 4]
mov dl, byte [edi + 5]
add bl, 7
sub dl, 0x5f
shl bl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dl, byte [esi]
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x28]
mov byte [ebx], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov byte [ebp - 0x14], dl
movsx dx, dl
mov word [ebp - 0x3e], dx
mov bl, byte [edi + 6]
mov dl, byte [edi + 7]
add bl, 7
sub dl, 0x5f
shl bl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x28]
mov byte [ebx], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x24]
mov byte [ebp - 0x2c], bl
xor dl, bl
mov byte [ebp - 0x14], dl
movsx dx, dl
mov word [ebp - 0x3c], dx
mov bl, byte [edi + 8]
mov dl, byte [edi + 9]
add bl, 7
sub dl, 0x5f
shl bl, 4
or dl, bl
mov byte [ebp - 0x24], dl
mov edx, dword [ebp - 0x2c]
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
mov dl, byte [ebp - 0x10]
add al, bl
inc dl
mov byte [ebp - 0x20], al
mov byte [ebp - 0x10], dl
mov edx, dword [ebp - 0x20]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [esi], bl
mov ebx, dword [ebp - 0x14]
and ebx, 0xff
mov dword [ebp - 4], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 8], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp - 8]
and edx, 0xff
lea edx, [ebp + edx - 0x154]
mov dword [ebp - 0xc], edx
mov dl, byte [edx]
mov byte [ebx], dl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x28]
mov byte [ebx], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov bl, byte [ebp + edx - 0x154]
add cl, bl
mov bl, byte [esi]
mov esi, dword [ebp - 8]
mov byte [ebp - 0x30], cl
mov edx, dword [ebp - 0x30]
and edx, 0xff
mov dl, byte [ebp + edx - 0x154]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov edx, dword [ebp - 4]
mov esi, ebx
mov bl, byte [edx]
mov edx, dword [ebp - 0x18]
add ebx, edx
mov dl, byte [ebp + esi - 0x154]
and ebx, 0xff
xor dl, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x24]
xor dl, bl
mov byte [ebp - 0x14], dl
movsx dx, dl
mov word [ebp - 0x3a], dx
mov edx, dword [ebp - 0x24]
and edx, 0xff
lea esi, [ebp + edx - 0x154]
mov dl, byte [ebp + edx - 0x154]
mov byte [ebp - 0x28], dl
mov edx, dword [ebp - 0xc]
mov bl, byte [edx]
add al, bl
mov bl, byte [ebp - 0x10]
mov byte [ebp - 0x20], al
inc bl
mov eax, dword [ebp - 0x20]
mov byte [ebp - 0x10], bl
and eax, 0xff
mov dl, byte [ebp + eax - 0x154]
lea eax, [ebp + eax - 0x154]
mov byte [esi], dl
mov edx, dword [ebp - 0x14]
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
lea edx, [ebp + edx - 0x154]
mov byte [eax], bl
mov ebx, dword [ebp - 0x10]
and ebx, 0xff
mov dword [ebp - 8], edx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0xc], ebx
mov bl, byte [ebx]
mov byte [edx], bl
mov ebx, dword [ebp - 0xc]
mov dl, byte [ebp - 0x28]
mov byte [ebx], dl
mov edx, dword [ebp - 0x28]
and edx, 0xff
mov dword [ebp - 0x18], edx
mov dl, byte [edi + 0xa]
add dl, 7
shl dl, 4
mov bl, byte [edi + 0xb]
mov edi, dword [ebp - 0x18]
sub bl, 0x5f
mov al, byte [eax]
or dl, bl
mov bl, byte [ebp + edi - 0x154]
add bl, cl
add eax, edi
and ebx, 0xff
and eax, 0xff
mov word [ebp - 0x36], 0
mov cl, byte [ebp + ebx - 0x154]
mov bl, byte [esi]
mov esi, dword [ebp - 8]
add ecx, ebx
mov bl, byte [esi]
add ecx, ebx
xor ebx, ebx
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x154]
mov cl, byte [ebp + ebx - 0x154]
xor dl, cl
mov cl, byte [ebp + eax - 0x154]
xor dl, cl
movsx cx, dl
mov word [ebp - 0x38], cx
fld qword [0x882578]
fld qword [0x882578]
fld st(0)
fmul st(1)
fld st(0)
fmul qword [0x889490]
fsub st(1)
fxch st(1)
fmul qword [0x889488]
fadd qword [0x889480]
fdivp st(1)
faddp st(2)
fld st(1)
fcomp qword [0x889478]
fnstsw ax
test ah, 0x41
jne 0x81fef0
fld st(0)
fmul qword [0x889470]
fsubp st(2)
fadd qword [0x889468]
fcom qword [0x889460]
fnstsw ax
test ah, 1
jne 0x81feb7
fxch st(1)
fst qword [ebp - 0x50]
fxch st(1)
fstp st(0)
fcomp qword [0x882578]
fnstsw ax
test ah, 1
je 0x81ff38
jno 0x81ff93
sub al, 0x28
das
jl 0x81ff79
imul ebx, dword [edi + 0x4f], 0x23767051
xor byte fs:[edi + 0x60], dl
movsb byte es:[edi], byte ds:[esi]
mov al, byte ds:[0xa13da846]
jmp 0x8204b0
mov dword [ebp - 0x28], 0x81ff2b
mov dword [ebp - 0x54], 0x81ff19
xor eax, eax
mov byte [ebp + eax - 0x154], al
inc eax
cmp eax, 0x100
jb 0x81ff48
fld qword [ebp - 0x50]
mov byte [ebp - 4], 0
xor edi, edi
mov esi, dword [ebp - 4]
mov dword [ebp - 0x1c], 0xff
mov eax, dword [ebp - 0x1c]
mov ebx, 1
cmp eax, ebx
mov dword [ebp - 0x4c], 0
add byte [eax], al
jbe 0x81ff85
lea ebx, [ebx + ebx + 1]
cmp ebx, eax
jb 0x81ff7d
cmp edi, 3
ja case.default.0x81ff8a
jmp dword [edi*4 + 0x82050c]
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
jmp 0x820006
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 8
jmp 0x820006
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x10
jmp 0x820006
fld st(0)
and esi, 0xff
call fcn.0082fed4
mov cl, byte [ebp + esi - 0x154]
shr eax, 0x18
jmp 0x820006
mov edx, dword [ebp - 0x54]
and esi, 0xff
mov cl, byte [ebp + esi - 0x154]
mov al, byte [edx + edi - 4]
add cl, al
inc edi
cmp edi, 0x16
mov byte [ebp - 4], cl
jb 0x820019
xor edi, edi
add cl, 0x16
mov byte [ebp - 4], cl
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x4c]
mov edx, esi
and edx, 0xff
and edx, ebx
inc eax
cmp eax, 0xb
mov dword [ebp - 0x4c], eax
jbe 0x820039
mov eax, edx
xor edx, edx
div dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, edx
jb 0x81ff85
je 0x820074
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp + edx - 0x154]
mov bl, byte [ebp + ecx - 0x154]
lea edx, [ebp + ecx - 0x154]
mov cl, byte [eax]
xor bl, cl
mov byte [edx], bl
mov cl, bl
mov bl, byte [eax]
xor bl, cl
mov byte [eax], bl
mov cl, byte [edx]
mov al, bl
xor cl, al
mov byte [edx], cl
mov eax, dword [ebp - 0x1c]
dec eax
mov dword [ebp - 0x1c], eax
jne 0x81ff6a
mov al, byte [ebp - 0x14d]
and esi, 0xff
mov byte [ebp - 0x30], al
xor eax, eax
mov cl, byte [ebp + esi - 0x154]
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x2c], cl
xor ecx, ecx
mov al, byte [esi]
mov cl, byte [esi + 1]
sub eax, 0x38
sub ecx, 0xa0
shl eax, 4
or al, cl
mov bl, byte [ebp - 0x151]
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
mov dl, byte [ebp - 0x14f]
fstp st(0)
mov cl, byte [ebp + eax - 0x154]
lea edi, [ebp + eax - 0x154]
mov eax, dword [ebp - 0x153]
mov byte [ebp - 0x14], cl
mov ecx, eax
and ecx, 0xff
mov cl, byte [ebp + ecx - 0x154]
add cl, bl
inc al
mov byte [ebp - 4], cl
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 4]
and eax, 0xff
mov bl, byte [ebp + eax - 0x154]
lea eax, [ebp + eax - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x30]
and ebx, 0xff
mov dword [ebp - 0xc], eax
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x18]
and eax, 0xff
lea eax, [ebp + eax - 0x154]
mov dword [ebp - 0x20], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x20]
mov al, byte [ebp - 0x14]
mov byte [ebx], al
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov dword [ebp - 0x10], eax
mov bl, byte [ebp + eax - 0x154]
add dl, bl
mov ebx, dword [ebp - 0x18]
mov byte [ebp - 8], dl
mov eax, dword [ebp - 8]
mov bl, byte [ebx]
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add eax, ebx
mov bl, byte [edi]
add eax, ebx
mov edi, dword [ebp - 0x10]
and eax, 0xff
xor ebx, ebx
mov bl, byte [ebp + eax - 0x154]
mov eax, dword [ebp - 0xc]
mov al, byte [eax]
mov bl, byte [ebp + ebx - 0x154]
add eax, edi
and eax, 0xff
xor bl, byte [ebp + eax - 0x154]
mov al, byte [ebp - 0x1c]
mov byte [ebp - 0x2c], al
xor bl, al
mov byte [ebp - 0x30], bl
mov al, byte [esi + 2]
mov bl, byte [esi + 3]
add al, 8
add bl, 0x60
shl al, 4
or al, bl
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
lea edi, [ebp + eax - 0x154]
mov al, byte [ebp + eax - 0x154]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x20]
mov bl, byte [eax]
mov al, byte [ebp - 0x24]
add cl, bl
inc al
mov byte [ebp - 4], cl
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 4]
and eax, 0xff
mov bl, byte [ebp + eax - 0x154]
lea eax, [ebp + eax - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x30]
and ebx, 0xff
mov dword [ebp - 0xc], eax
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x18]
and eax, 0xff
lea eax, [ebp + eax - 0x154]
mov dword [ebp - 0x20], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x20]
mov al, byte [ebp - 0x14]
mov byte [ebx], al
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov dword [ebp - 0x10], eax
mov bl, byte [ebp + eax - 0x154]
add dl, bl
mov ebx, dword [ebp - 0x18]
mov byte [ebp - 8], dl
mov eax, dword [ebp - 8]
mov bl, byte [ebx]
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add eax, ebx
mov bl, byte [edi]
add eax, ebx
xor ebx, ebx
and eax, 0xff
mov bl, byte [ebp + eax - 0x154]
mov eax, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [eax]
mov eax, dword [ebp - 0x10]
add ebx, eax
mov al, byte [ebp + edi - 0x154]
and ebx, 0xff
xor al, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
mov byte [ebp - 0x2c], bl
xor al, bl
mov byte [ebp - 0x30], al
movsx ax, al
mov word [ebp - 0x48], ax
mov al, byte [esi + 4]
mov bl, byte [esi + 5]
add al, 8
shl al, 4
add bl, 0x60
or al, bl
mov byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x2c]
and eax, 0xff
lea edi, [ebp + eax - 0x154]
mov al, byte [ebp + eax - 0x154]
mov byte [ebp - 0x14], al
mov eax, dword [ebp - 0x20]
mov bl, byte [eax]
mov al, byte [ebp - 0x24]
add cl, bl
inc al
mov byte [ebp - 4], cl
mov byte [ebp - 0x24], al
mov eax, dword [ebp - 4]
and eax, 0xff
mov bl, byte [ebp + eax - 0x154]
lea eax, [ebp + eax - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x30]
and ebx, 0xff
mov dword [ebp - 0xc], eax
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x18], ebx
mov bl, byte [ebx]
mov byte [eax], bl
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x18]
and eax, 0xff
lea eax, [ebp + eax - 0x154]
mov dword [ebp - 0x20], eax
mov al, byte [eax]
mov byte [ebx], al
mov ebx, dword [ebp - 0x20]
mov al, byte [ebp - 0x14]
mov byte [ebx], al
mov eax, dword [ebp - 0x14]
and eax, 0xff
mov dword [ebp - 0x10], eax
mov bl, byte [ebp + eax - 0x154]
add dl, bl
mov ebx, dword [ebp - 0x18]
mov byte [ebp - 8], dl
mov eax, dword [ebp - 8]
mov bl, byte [ebx]
and eax, 0xff
mov al, byte [ebp + eax - 0x154]
add eax, ebx
mov bl, byte [edi]
add eax, ebx
xor ebx, ebx
and eax, 0xff
mov bl, byte [ebp + eax - 0x154]
mov eax, dword [ebp - 0xc]
mov edi, ebx
mov bl, byte [eax]
mov eax, dword [ebp - 0x10]
add ebx, eax
mov al, byte [ebp + edi - 0x154]
and ebx, 0xff
mov edi, dword [ebp - 0x20]
xor al, byte [ebp + ebx - 0x154]
mov bl, byte [ebp - 0x1c]
xor al, bl
xor ebx, ebx
mov byte [ebp - 0x30], al
movsx ax, al
mov word [ebp - 0x46], ax
mov bl, byte [esi + 7]
xor eax, eax
mov dword [ebp - 0x54], ebx
mov al, byte [esi + 6]
mov esi, dword [ebp - 0x1c]
and esi, 0xff
mov bl, byte [ebp + esi - 0x154]
lea esi, [ebp + esi - 0x154]
mov byte [ebp - 0x14], bl
mov bl, byte [edi]
add cl, bl
mov bl, byte [ebp - 0x24]
mov byte [ebp - 4], cl
inc bl
mov ecx, dword [ebp - 4]
mov byte [ebp - 0x24], bl
and ecx, 0xff
lea edi, [ebp + ecx - 0x154]
sub al, 8
shl al, 4
mov cl, byte [edi]
mov word [ebp - 0x42], 0
mov byte [esi], cl
mov ecx, dword [ebp - 0x30]
and ecx, 0xff
mov bl, byte [ebp + ecx - 0x154]
lea ecx, [ebp + ecx - 0x154]
mov byte [edi], bl
mov ebx, dword [ebp - 0x24]
and ebx, 0xff
mov dword [ebp - 0x18], ecx
lea ebx, [ebp + ebx - 0x154]
mov dword [ebp - 0x20], ebx
mov bl, byte [ebx]
mov byte [ecx], bl
mov ebx, dword [ebp - 0x20]
mov cl, byte [ebp - 0x14]
mov byte [ebx], cl
mov ecx, dword [ebp - 0x14]
mov bl, byte [ebp - 0x54]
and ecx, 0xff
add bl, 0x60
or al, bl
mov bl, byte [ebp + ecx - 0x154]
add bl, dl
and ebx, 0xff
mov dl, byte [ebp + ebx - 0x154]
mov ebx, dword [ebp - 0x18]
mov bl, byte [ebx]
add edx, ebx
mov bl, byte [esi]
add edx, ebx
xor ebx, ebx
and edx, 0xff
mov bl, byte [ebp + edx - 0x154]
mov dl, byte [ebp + ebx - 0x154]
xor al, dl
mov dl, byte [edi]
add edx, ecx
and edx, 0xff
xor al, byte [ebp + edx - 0x154]
movsx ax, al
mov word [ebp - 0x44], ax
push 1
lea ecx, [ebp - 0x48]
push 0
lea edx, [ebp - 0x35c]
push ecx
lea eax, [ebp - 0x40]
push edx
push eax
push 0
call dword [0x8c68a4]
cmp eax, 0x20
pop ebx
jle 0x8204dc
pop edi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov eax, esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret