Function at 0x164e946
Capabilities:
Encode data using base64

Disassembly:
lea ecx, [eax*8 - 0x957fc58]
jmp edi
js 0x246b24d
or eax, eax
adc dl, cl
bswap eax
push eax
or eax, eax
mov word [ebp + eax - 0x5818c251], dx
inc al
lea edx, [eax*4 + 0x232c8319]
mov dword [esp + eax - 0x5818c252], esi
ret
sbb dx, 0x2c2d
add ebp, eax
add ecx, ebp
jmp ecx
rol eax, cl
neg edx
rol edx, 3
sub cl, 0xb8
jae 0x12b699e
lea edx, [edx + eax*2 - 0x6f90bc16]
xor edx, 0xfe1fe63b
not al
add eax, eax
call fcn.016da4ca
rol eax, 3
xor eax, 0xb7bed22f
push edx
xor ecx, 0xc41b2710
adc cl, dl
bswap eax
xor ebx, eax
mov dword [esp], edx
call fcn.01735d95
and al, 0x3f
push eax
jmp 0x27c94645
mov dword [esp], edx
xor al, bl
ror dl, 0xc7
neg al
btc edx, edx
or byte [esp + 3], dh
jae 0x16da72b
inc ecx
mov edx, 0xe717c597
inc ecx
movsx ebx, dl
inc bp
mov esi, dword [ecx]
call fcn.0136fd4d
lea eax, [eax + ecx*2 - 0x214a70ba]
neg eax
dec edx
sal ecx, cl
neg dl
adc eax, 0xd2607ba
jmp 0x22a6cb1
dec al
not al
rol al, 1
shr dl, 0x62
adc edx, dword [esp]
xor bl, al
lea edx, [edx*8 - 0x16ff7266]
lea eax, [esp + eax + 4]
xadd dword [esp], edx
xadd dl, dh
mov byte [eax], cl
mov eax, dword [edi]
imul dx, word [esp + 1]
pop edx
neg dl
lea edi, [edi + edx - 0x77364e64]
xor eax, ebx
mov ecx, 0xf72d3982
bts ecx, ecx
push ecx
ror eax, 1
xor eax, 0x5993a935
neg dx
lea eax, [eax + edx - 0x420fb88f]
jl 0x130ee74
mov ebp, 0xcd9d53bf
mov ecx, ebp
mov eax, dword [edi]
btc ebp, ebp
movsx edx, cl
not cl
lea edi, [edi + ebp - 0x4d9d53bb]
mov ebp, eax
lea eax, [edx + edx*4 + 0x981b13f]
imul cx, dx
jo 0x236bbd8
mov edx, dword [ebp]
mov ecx, 0xf90f3895
btr ecx, ecx
adc ebp, 4
xor edx, ebx
ror ecx, 1
sbb edx, 0xd198e4bb
mov eax, ecx
bt cx, cx
xor edx, 0xb429ba89
add eax, 0xc0af1321
setne al
btr eax, eax
inc edx
lea eax, [ecx + ecx - 0x60518243]
lea ecx, [eax + ecx*8 + 0x7b9f5407]
btc ax, 0x2f
not edx
not eax
neg edx
or ecx, eax
add cx, ax
btc eax, 0xb4
xor ebx, edx
lea eax, [eax*8 - 0x5dc426d7]
bswap ecx
add esi, edx
shr ecx, 0x64
rol cl, 0x67
movzx edx, byte [ebp + ecx - 0x5cb7ddf]
lea ebp, [ebp + ecx*4 - 0x172df77b]
ror ax, 0x82
xor dl, bl
sar eax, 0xa1
bswap ecx
inc dl
xadd cl, al
bt ax, 0x11
not dl
add al, ch
ror al, 6
sar ecx, cl
inc dl
inc ax
cbw
neg dl
dec dl
shr ax, 9
or al, ah
ror al, 0xc1
xor bl, dl
dec ecx
setp al
not ecx
add edx, esp
xor ecx, eax
mov cl, byte [edx]
mov edx, 0xc887cf89
bswap edx
sbb edi, 2
inc dx
btr edx, eax
sal dl, 0xc6
mov word [edi], cx
ja fcn.0141de63
add dx, ax
jne 0x2343aa9
je 0x171ce6e
loope 0x171ce5d
sysexit
shl dword [ecx + 0x21], cl
add al, byte [edi]
popal
and dword [edx], eax
pop es
loop 0x171ce4e
or ah, ch
outsd dx, dword [esi]
dec ebx
jmp 0x503c7f52
test eax, 0x1052106c
push edi
or eax, 0xfc11779
push edi
or byte [eax + esi*2 - 0x78960a05], ch
and eax, 0x286f770
aaa
cli
adc ebp, ecx
hlt
imul eax, dword [edi - 0x79088fdb], 0x13fa3702
jmp 0x5f038671
not cx
dec cl
bswap eax
bt edx, ecx
sal ecx, cl
xor eax, 0xdc3cf316
add cx, cx
neg cx
ror ecx, 0x1a
inc eax
dec dx
not ecx
ror eax, 1
bswap eax
bts edx, ecx
xor edx, 0x40cf026
imul cx, dx
ror eax, 2
shl ecx, 0x7e
xor ebx, eax
ror cx, 0x82
jae 0x1424927
mov ecx, 0xa7a95b93
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov edx, 0xd198501c
ror dl, 0xc2
push ebx
mov ebx, edx
shl edx, 0x1a
imul bx, bx
cpuid
call fcn.02344e60
not ecx
xor ecx, 0xd420e5ba
xor ebx, ecx
add esi, ecx
jmp 0x171ce3e
mov dl, byte [ebp + eax - 0x7aac0031]
lea ecx, [eax*8 + 0x4432aa97]
cmovne eax, ecx
mov cl, byte [ebp + eax - 0x1992ac1d]
push eax
pop eax
lea eax, [eax + eax*8 - 0x3d4700eb]
adc ebp, 2
add eax, eax
jne 0x13f2636
mov eax, 0xc6a9a213
movsx ecx, ax
mov edx, dword [ebp]
add ebp, 4
xor edx, ebx
ror cl, 0x84
lea eax, [eax*2 + 0x38bff287]
rol edx, 3
btr ax, cx
rol ecx, 0x3a
bt ax, ax
dec edx
add al, ah
jae 0x157014a
neg eax
xor ebx, eax
sub dx, cx
sar cl, cl
adc ebp, eax
neg byte [esp + edx - 0x77367810]
mov dword [esp + edx - 0x77367812], ebp
ret