Function at 0x70a8174c
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
jmp 0x70a82c78
mov dword [ebp - 0x20], 0x339ab
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0x3a34d
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
sbb edx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x30]
xor eax, 0xc1668
or eax, dword [ebp - 0x2c]
je 0x70a81821
mov edx, 0xc1668
mov eax, 0
cmp edx, dword [ebp - 0x30]
sbb eax, dword [ebp - 0x2c]
jl 0x70a82c5a
mov eax, dword [ebp - 0x30]
xor eax, 0x96b39
or eax, dword [ebp - 0x2c]
je 0x70a8223f
mov edx, 0x96b39
mov eax, 0
cmp edx, dword [ebp - 0x30]
sbb eax, dword [ebp - 0x2c]
jl 0x70a82c5a
mov eax, dword [ebp - 0x30]
xor eax, 0x664dc
or eax, dword [ebp - 0x2c]
je 0x70a8274e
mov edx, 0x664dc
mov eax, 0
cmp edx, dword [ebp - 0x30]
sbb eax, dword [ebp - 0x2c]
jl 0x70a82c5a
mov eax, dword [ebp - 0x30]
xor eax, 0x69a2
or eax, dword [ebp - 0x2c]
je 0x70a82c5d
mov eax, dword [ebp - 0x30]
xor eax, 0xccae
or eax, dword [ebp - 0x2c]
je 0x70a81d30
jmp 0x70a82c5a
sub eax, 0x82e7770c
retf
xor al, 0xbc
mov edi, 0x1623700f
cwde
stosb byte es:[edi], al
add esi, edx
inc edi
fstp qword [esi + ebx*8 + 0x26]
lea edx, [ecx - 0x13]
sahf
sal dword [esi + 0x30e28764], 1
mov ch, 0xfd
popal
invalid
neg byte [edx - 0x1a]
imul ebp, dword [edi + ebx*4 - 0x6d10ae9f], 0xffffff95
pop edx
out 0x6b, al
lodsb al, byte [esi]
lahf
popal
push ecx
out dx, eax
xchg edx, eax
xchg ebp, eax
mov dword [0xab866c39], eax
cmc
dec ebp
leave
mov dword [0x8e649242], eax
push edx
or ah, byte [esi + 0x29]
add byte [esi + 0xe], ah
in al, dx
sbb al, 0x91
insb byte es:[edi], dx
mov ah, 0x8a
loopne 0x70a81d4f
jns 0x70a81da5
or ecx, ebp
out dx, eax
popal
inc esp
sub dl, al
jb 0x70a81d6a
pop edi
cmc
jl 0x70a81d77
xor dword [edi + 0x7d], ebp
push 0x39a95090
dec esi
mov esp, 0xbb655aa4
mov cl, 0x1a
cmp esp, dword [ebp - 0x45]
jecxz 0x70a81d08
nop
push eax
test eax, 0xa4bc4e39
pop edx
mov ebx, 0x653b1ab1
mov ebx, 0x78bf8de3
mov ebx, 0x78bf8de3
mov edi, 0xaf927478
je 0x70a81d11
scasd eax, dword es:[edi]
xor al, byte [eax]
insb byte es:[edi], dx
cmp eax, 0xc5a4cc90
push ss
cmp dword [edi + 0x79], esi
push ecx
mov ebx, 0x4b412721
jp 0x70a81d31
or byte [ebp + 0x70], ch
aad 0xe
insb byte es:[edi], dx
out 0x4b, al
popfd
push 0xf2b80fc2
sbb dword [ecx - 0x56], ebp
call 0x95d27f59
push ss
out 0x1e, al
fstp dword [ebx - 2]
add al, 0xee
insb byte es:[edi], dx
add byte [ecx], 0x15
movsd dword es:[edi], dword [esi]
adc dword [0xc2f4b4c6], esp
cmp byte [ecx + 0x2d], bh
xor dword [ebp + 0x34], esp
cmp edi, dword [edx]
inc ecx
arpl ax, ax
xor edx, ecx
sub bl, cl
outsb dx, byte [esi]
push esp
jo 0x70a81e2f
mov dh, 0x5c
mov ebx, 0x384b2287
xor dword [eax + 0x732f13cc], edx
adc cl, byte [0x48c7f956]
sub bh, byte [eax - 0x45b73266]
jb 0x70a81e4a
clc
sbb eax, 0x3cf0e3b5
std
xor esi, 0xb622945d
sbb byte [edx + 0x5aa3d4af], ch
test al, 0xe7
invalid
call 0xda06eac4
invalid
cmp ecx, ebx
popal
xor esi, dword [esi]
cmp byte [esi + 0x35191d80], ch
and eax, 0xb1dcc927
stc
salc
sub esi, dword [ebp - 0x39e87424]
or dword [edx + eax*4 + 0x13], eax
or al, byte [edx + 0x6fd6ddc2]
outsd dx, dword [esi]
retf
or edi, 0xe5ea6c48
sbb al, 0x76
or al, dl
sub al, 0xbe
invalid
jl 0x70a82203
sbb esi, dword [edx + 0x7215840e]
mov dh, 0x96
cmpsb byte [esi], byte es:[edi]
hlt
xchg byte [eax + 0x2a], al
fldcw word [edi + 4]
ucomiss xmm6, dword [esi]
ja 0x70a8278e
invalid
pushfd
imul edx, dword [eax - 0x17], 0xfffffff2
sbb eax, 0x3b04936
inc ecx
mov word [edx - 0x49f00dbe], gs
invalid
outsb dx, byte [esi]
jno 0x70a8270a
and bl, byte [ecx]
out dx, eax
push edi
test edi, esp
ret 0xa7e7
add cl, byte [ebp - 0x4b]
sub eax, 0x5e725d5b
pushfd
and edx, edi
adc eax, 0x4e6f2f1f
pop ebp
push 0x53
jb 0x70a82733
int3
nop
jmp 0x70a82c5e
nop
mov eax, dword [ebp + 8]
lea edx, [eax + 1]
mov dword [ebp + 8], edx
movzx eax, byte [eax]
test al, al
jne 0x70a82c78
mov edx, 0
jmp 0x70a89a62
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
mov eax, dword [ebp + 0xc]
lea edx, [eax + 1]
mov dword [ebp + 0xc], edx
movzx eax, byte [eax]
cmp cl, al
je 0x70a81757
mov dword [ebp - 8], 0x1f25e
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0xb4d59
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 0x10]
mov edx, eax
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 8]
lea ecx, [edx + eax]
mov eax, dword [ebp - 8]
mul dword [ebp - 0x10]
add ecx, edx
mov edx, ecx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
xor eax, 0x9d88ae
mov edx, dword [ebp - 0x14]
xor edx, 0x16
or eax, edx
je 0x70a89a47
mov edx, 0x9d88ae
mov eax, 0x16
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0xe4012
or eax, dword [ebp - 0x14]
je 0x70a8300f
mov edx, 0xe4012
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0xe14b3
or eax, dword [ebp - 0x14]
je 0x70a862a5
mov edx, 0xe14b3
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0xc7824
or eax, dword [ebp - 0x14]
je 0x70a8495a
mov edx, 0xc7824
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0xacc1f
or eax, dword [ebp - 0x14]
je 0x70a87bf0
mov edx, 0xacc1f
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0xaa00e
or eax, dword [ebp - 0x14]
je 0x70a88b1d
mov edx, 0xaa00e
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0xa4ceb
or eax, dword [ebp - 0x14]
je 0x70a8444b
mov edx, 0xa4ceb
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x9f48f
or eax, dword [ebp - 0x14]
je 0x70a83a2d
mov edx, 0x9f48f
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x9ebce
or eax, dword [ebp - 0x14]
je 0x70a85887
mov edx, 0x9ebce
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x943f2
or eax, dword [ebp - 0x14]
je 0x70a8860e
mov edx, 0x943f2
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x91905
or eax, dword [ebp - 0x14]
je 0x70a84e69
mov edx, 0x91905
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x90918
or eax, dword [ebp - 0x14]
je 0x70a867b4
mov edx, 0x90918
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x8e1b2
or eax, dword [ebp - 0x14]
je 0x70a8902c
mov edx, 0x8e1b2
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x8e171
or eax, dword [ebp - 0x14]
je 0x70a85378
mov edx, 0x8e171
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x81961
or eax, dword [ebp - 0x14]
je 0x70a876e1
mov edx, 0x81961
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x64cc9
or eax, dword [ebp - 0x14]
je 0x70a86cc3
mov edx, 0x64cc9
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x6155a
or eax, dword [ebp - 0x14]
je 0x70a880ff
mov edx, 0x6155a
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x6074f
or eax, dword [ebp - 0x14]
je 0x70a871d2
mov edx, 0x6074f
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x5d4f0
or eax, dword [ebp - 0x14]
je 0x70a8351e
mov edx, 0x5d4f0
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x57dde
or eax, dword [ebp - 0x14]
je 0x70a83f3c
mov edx, 0x57dde
mov eax, 0
cmp edx, dword [ebp - 0x18]
sbb eax, dword [ebp - 0x14]
jl 0x70a89a4a
mov eax, dword [ebp - 0x18]
xor eax, 0x1380d
or eax, dword [ebp - 0x14]
je 0x70a8953b
mov eax, dword [ebp - 0x18]
xor eax, 0x50444
or eax, dword [ebp - 0x14]
je 0x70a85d96
add cl, ch
cmp ebp, dword [edx]
add ah, dl
invalid
jmp 0x70a89a4a
aam 0xfe
pop ecx
lahf
test al, 0xd1
fidivr word [edx]
pop esi
add dword [edx - 0x142c9fa4], ebx
cld
and dword [eax], ecx
push ebx
cld
cmp al, 0xb6
punpckldq mm2, dword [ebx]
push es
out 0x11, al
loopne 0x70a83009
dec ecx
and ebp, dword [ebx + 0x15ec12d3]
rol dl, 1
push esi
test byte [ebp + 0x28a2220a], dl
je 0x70a8307a
add byte ss:[edi], bh
cmp dword [edi], ebp
lcall 0x3567, 0x1b289c2e
lcall 0x7a11, 0x2adf6c8e
fadd dword [esi + 0x6cb650e9]
pop edx
lds ebx, [ecx]
mov ah, 0x76
dec ebx
sub dword [edi + 0x20cc90c7], eax
mov ah, 0x25
test byte [edx + 0x20], dh
test al, 0x96
inc ebp
test eax, 0x7bb81edf
mov ah, 0x83
pop ss
sub al, 0x2a
enter 0x6821, 0xffffffffffffffcb
adc dh, byte [esi + 0x6b]
push 0x6b7612cb
pop edx
cmp cl, bl
cmp eax, 0x7c551d24
invalid
push ebx
xchg esi, eax
nop
or cl, bh
pop ecx
aas
invalid
das
or dword [ebp - 0x2a], edi
or dword [edx], esp
scasd eax, dword es:[edi]
invalid
mov esi, 0x5c6d1eee
push ss
jns 0x70a83f48
test al, 0xf
xor eax, 0x90cf3e8e
std
pop ebx
outsb dx, byte [esi]
xchg edi, eax
test al, 2
push esp
and eax, 0xe7bcc510
cmp eax, 0x2c876c34
ljmp 0x5cb0
iretd
nop
int3
mov ah, 0xc
or ecx, eax
shl dword [esi + 0x17dc4ff4], 0xe3
mov dl, 0x89
xor dword [ecx + ecx*4 - 0x53], esp
jp 0x70a84464
xchg edi, eax
xchg esi, eax
xor byte [ebx + 0x14a12317], dl
pop ecx
mov eax, 0xbbb74574
mov eax, dword [0x74b85914]
inc ebp
mov bh, 0xbb
insd dword es:[edi], dx
leave
pop ss
sbb ebp, eax
js 0x70a84496
fld st(3)
sub edx, dword [esi + 9]
salc
xchg ecx, eax
out dx, eax
jns 0x70a84444
out dx, al
inc ecx
dec ebp
std
pop es
lcall 0x6d9e, 0xbcc53884
invalid
shl dword cs:[ebp + 0x6002c6e3], 1
shr ebp, cl
nop
int3
and al, 0xa8
enter 0x120, 0xffffffffffffffaa
movsd dword es:[edi], dword [esi]
pop ecx
mov bh, 0x3f
nop
in eax, dx
mov cs, word [esp + esi*8 + 0x53]
pop dword es:[ebp + 0x2e]
and eax, 0xa7061971
daa
out dx, eax
or dh, ch
nop
int3
add byte [ecx + 0x2c], cl
jbe 0x70a84970
dec ecx
sub al, 0x76
adc bh, byte [edx - 0x4cd8fce]
mov edx, 0xfb327032
xor bh, bl
add al, 0x93
das
mov ebp, 0xeef36371
jbe 0x70a84961
xlatb
xor al, 0xd1
xchg ebx, eax
inc ebx
sbb dword [0xc54e6c3d], esp
pop edi
pushal
push eax
daa
cld
mov cl, 0x8b
sbb eax, 0xe70440cf
cdq
stosd dword es:[edi], eax
mov esi, 0x70492767
dec edi
cmpsd dword [esi], dword es:[edi]
cmp al, 0x6e
adc eax, 0x28911adf
jo 0x70a84936
pop esp
lahf
jne 0x70a849cc
mov esi, 0xac114c33
sti
mov esi, 0x2c381490
loopne 0x70a84959
scasd eax, dword es:[edi]
mov dword [0xb94e64c2], eax
nop
int3
push eax
mov dh, 0x34
xchg ebp, eax
das
cmp dword [esi + 0xf], edi
or eax, 0x7d29528a
jmp 0x8c36b1c8
ljmp 0xc85f:0x1e6d2549
into
invalid
dec ebp
mov dword [0x5f1e94e6], eax
pop esi
invalid
out 0xe2, eax
or bh, byte [bx + si - 0x259c]
out 0x8e, al
and dword [ebx], esi
mov edi, 0xb4c7a372
test dword [edx], edx
nop
int3
pop esi
invalid
add edx, ebx
sbb byte [ecx - 0x676ddddc], dl
jne 0x70a85d27
fist word [edx - 0x47]
scasb al, byte es:[edi]
in eax, 0xca
cmc
or eax, 0xaa476266
rol byte [esp + 0x567053bc], 1
add al, 0x73
jne 0x70a85d66
out 0x28, eax
clc
movsb byte es:[edi], byte [esi]
ret 0x5a2d
std
iretd
fbld tbyte [edx + ecx + 0x254f9d1e]
retf 0xcae
cmp esp, dword [ebx + ebp*2 + 0x60]
invalid
inc esi
invalid
pushal
pushal
movsb byte es:[edi], byte [esi]
mov ecx, dword [esi + 8]
cmp al, 0xe6
dec ecx
mov cl, 0x68
iretd
int3
fst st(1)
push ebx
mov esi, 0x38dbc452
leave
fmul dword [esi]
fidivr dword [ecx]
into
jns 0x70a87bc4
inc edi
loopne 0x70a87be9
aad 0xf9
push esp
cli
cmpsd dword [esi], dword es:[edi]
cwde
add dh, 0x35
ret 0x2b71
nop
int3
pop ebp
dec esp
mov byte [esi - 0x76], 0x3d
loop 0x70a87b94
pop ecx
mov al, 0x91
pushfd
xor ch, byte [edi + 0xf]
mov dh, 0x1f
jo 0x70a87bad
pop esi
or ebp, ebp
test cl, cl
cmp bh, byte [edi]
invalid
nop
int3
loope 0x70a880f8
retf 0x9e76
sub esp, dword [ebx*2 + 0x4730657f]
pop ss
push ds
cmp ah, al
mul ecx
dec esp
and byte [eax - 0x62], dh
cli
lodsb al, byte [esi]
push edi
dec ebx
pop es
invalid
adc edx, dword [edi]
push eax
cmp dword [eax + 0x6b7ffc7f], edi
jnp 0x70a88b7f
fdiv qword [esi - 0x50]
mov dword [0x5d04bd9f], eax
xchg edi, eax
aam 0x14
imul eax, dword [esi], 0x62
xchg ebp, eax
mov bl, byte [ebp + 0x6fe8798f]
ret
or cl, byte [edi + 0x4a]
sbb al, 0x7d
sub byte [eax + 0x2f], 0xcb
pop esi
adc byte [eax], 0xc1
lodsb al, byte [esi]
sbb ebp, dword [edx]
movsb byte es:[edi], byte [esi]
jp 0x70a88c04
dec esp
scasb al, byte es:[edi]
mov al, 0x48
jmp 0xa8cba43c
movsd dword es:[edi], dword [esi]
not byte [esi]
fdivr dword [ebp - 0x7b66959b]
sub dl, bh
mov dword [0x4c429313], eax
jns 0x70a88c8c
add eax, 0xd3628307
fcmovnu st(0), st(6)
nop
int3
adc eax, 0x5a71dc63
neg dword [ebx - 0x3e5e57c4]
inc ecx
sub ah, byte [edx - 0x14]
xor cl, byte [ecx + 0xd]
cmp ebx, dword [esi - 0x3758a042]
movsd dword es:[edi], dword [esi]
xchg ebx, eax
and dword [esi], 0xad91238d
xchg byte [ebx - 0x5a], bh
mov byte [ecx], dl
adc eax, 0x2ffe7989
dec edx
mov edx, 0xa5e5fd14
not cl
xlatb
jge 0x70a88cdb
jp 0x70a88ce8
add al, 0x4f
adc edi, dword [esi]
pushfd
nop
int3
nop
xor eax, 0xfb8278ee
mov edx, 0x887ffcdf
inc ecx
pop ds
pop es
xor esp, 0x7ffb452d
cmp eax, 0x8e097df9
jg 0x70a88d2b
stosd dword es:[edi], eax
push 0xc75d778f
push esi
invalid
lodsb al, byte [esi]
dec ebp
aas
mov ch, 6
mov al, 0xa5
pushal
mov bh, 0x58
mov ebx, ss
out 0xef, al
sahf
cmp eax, 0x57dbd9ad
mov dl, cl
fidiv word [ecx + eax - 0x34ed1c5f]
add dword [ebp - 0x29], edx
mov al, byte [0x4078c40]
scasd eax, dword es:[edi]
xor al, 0x4e
into
dec esi
mov ch, 0x3e
stosb byte es:[edi], al
invalid
lodsd eax, dword [esi]
mov dword [0x81eff5e2], eax
jno 0x70a89086
jmp 0xde042789
or al, byte [eax]
add cl, bl
mov dh, 0x9b
xchg edx, eax
int3
fnstenv [esi - 0x39336d65]
inc ebx
push ecx
in al, 0x2e
xor eax, 0xbe882971
jge 0x70a890b7
dec ebx
mov eax, dword [0x6a68b89]
xchg edi, eax
sar byte [eax], cl
and eax, 0x7459374b
cwde
imul ebx, ebx, 0xc92df670
jge 0x70a89012
sbb eax, 0x7f18633c
scasb al, byte es:[edi]
jb 0x70a8906f
mov byte [ecx], bl
invalid
clc
mov ecx, 0xfee313da
aam 0x6a
mov ah, 0x12
lodsb al, byte [esi]
or dword [eax + 0x7d], edx
jecxz 0x70a89029
or byte [eax + 0x57be42cc], dl
pop ds
aas
and dl, byte [edx + 0x70083f8b]
xchg ebp, eax
xchg cl, cl
mov ch, 0xe2
push eax
jmp 0x54ae270c
cld
xor byte [ecx - 0x16], al
push edx
invalid
xchg edi, eax
sti
les ebx, [eax]
pop ebx
shr byte [eax - 0x336f2b11], 0xe9
adc byte [0xeeeb0000], al
sbb dword cs:[eax], edx
sub ebp, ebx
mov dword [ebp + 2], edi
aaa
pop ebx
daa
xchg ebx, eax
fld dword [edx]
add eax, 0x1e6e044f
test al, 3
jnp 0x70a89578
jmp 0x70a8952b
invalid
lcall 0x9819, 0x2713a436
stosb byte es:[edi], al
xor al, 0x62
invalid
nop
jmp 0x70a89a4b
nop
mov eax, dword [ebp + 8]
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [ebp + 0xc]
sub eax, 1
movzx eax, byte [eax]
movzx eax, al
sub edx, eax
mov eax, edx
leave
ret