Function at 0x1641a01
Capabilities:
Encode data using base64

Disassembly:
pushfd
lea esp, [esp + 0x34]
js 0x1642368
jbe 0x1644eb3
clc
btr cx, di
bt di, sp
mov eax, dword [ebp - 0xbc]
sub ecx, ebx
rcr cx, cl
add eax, dword [ebp - 0x74]
shl ch, cl
movsx cx, al
sbb cx, 0x9b6b
mov dword [ebp - 0x130], eax
or cl, cl
mov ecx, dword [ebp - 0x130]
cmc
cmc
cmp dword [ecx], 0
push esp
pushal
pushal
lea esp, [esp + 0x44]
je 0x1644eb3
pushal
test ah, 0x78
pop edx
mov edx, dword [ebp - 0x130]
lahf
bts cx, 0xf
add edx, 8
cmp ecx, 0xb4c2b88c
mov dword [ebp - 0xd8], edx
xchg cl, al
mov eax, dword [ebp - 0x130]
rcl cl, 1
mov ecx, dword [eax + 4]
mov byte [esp], cl
mov byte [esp], 0xf3
bt ebx, edi
push 0x2fb2a674
sub ecx, 8
pushal
test di, si
mov byte [esp], bl
add esp, 0x40
jb 0x16484b9
shr ecx, 1
pushal
mov dword [esp + 4], edi
mov dword [ebp - 0x88], ecx
lea esp, [esp + 0x20]
je 0x16481d5
pushfd
push dword [esp]
pushfd
mov dword [ebp - 0xa0], 0
mov dword [esp], 0xf16412ef
lea esp, [esp + 0xc]
jmp 0x1642682
jmp 0x1644dbd
not eax
mov eax, dword [ebp - 0xa0]
bt si, dx
bt ebp, ecx
cmp eax, dword [ebp - 0x88]
jmp 0x164708a
bt ecx, 0x14
push dword [esp + 8]
add ecx, dword [ebp - 0x4c]
lea esp, [esp + 0x18]
jo 0x164c975
pushal
mov dword [esp + 0x1c], 0x164da46
pushfd
jmp 0x164b508
pushfd
pushal
lea esp, [esp + 0x24]
jbe 0x1644eb3
dec al
bts cx, 0xf
mov eax, dword [ebp - 0xbc]
xor ch, 0xe8
add eax, dword [ebp - 0x74]
inc ch
bsr cx, si
mov dword [ebp - 0x130], eax
ror cx, 0xf
test cx, 0x4a26
movzx cx, al
mov ecx, dword [ebp - 0x130]
pushal
pushal
pushfd
cmp dword [ecx], 0
pushfd
push 0x3bd4a441
push edx
mov byte [esp + 0x18], cl
lea esp, [esp + 0x50]
je 0x1644eb3
cdq
aaa
mov edx, dword [ebp - 0x130]
and al, bl
cmc
shr ch, cl
das
add edx, 8
neg cl
setnp ah
rol al, 3
ror eax, cl
mov dword [ebp - 0xd8], edx
bts cx, di
mov eax, dword [ebp - 0x130]
mov cl, bh
rol cx, 0xc
mov ecx, dword [eax + 4]
call fcn.01641fe3
clc
cmp edx, 0x6c
pushfd
lea esp, [esp + 0xc]
je 0x164560d
cmp bh, 0x53
lea eax, [eax - 0x479587b5]
pushfd
mov eax, dword [ebp - 0x100]
bswap cx
sbb cl, ch
sbb cl, 0x19
shl ch, 2
mov ecx, dword [eax + 0x30]
call fcn.0164adb3
pushfd
bt esi, esp
test eax, eax
jmp 0x164a13e
shl ecx, cl
pushal
mov ecx, dword [ebp - 0x2c]
btr dx, si
stc
mov edx, dword [ebp - 0x30]
inc al
sbb al, 0x5c
shrd ax, bx, cl
mov dword [ecx + 4], edx
sal cx, 0xd
mov dword [esp + 0x1c], 0
shl ax, 5
adc ch, dh
shld cx, dx, 0xe
mov dword [esp + 0x18], 1
movsx cx, al
movzx eax, bl
mov eax, dword [ebp - 0xbc]
rcr ecx, 0x11
cmc
mov dword [esp + 0x14], eax
bswap cx
lea ecx, [esp - 0x40c92784]
bswap cx
clc
mov ecx, dword [ebp - 0xbc]
jmp 0x164344a
mov dword [esp + 4], ecx
lea esp, [esp + 0x38]
je 0x1641afc
bt si, cx
bsf edx, ecx
mov edx, dword [ebp - 0x44]
test ch, bl
cmc
pushfd
pushal
xor eax, eax
sal al, 2
mov al, byte [edx]
stc
mov byte [esp], cl
cmp eax, 0x55
call fcn.0164b44e
jmp 0x164d67c
mov dword [ebp - 0xa0], 0
push 0x83f53b67
pushfd
pushfd
pushal
lea esp, [esp + 0x30]
jmp 0x1642682
push 0x3589d6e1
mov edx, dword [ebp - 0x130]
shr ah, cl
das
bsf eax, ebx
shl ah, 1
mov eax, dword [ebp - 0x130]
call fcn.0164bfaf
push 0x5c324a93
jmp 0x164758a
pushfd
cmc
pushfd
shr ecx, 1
pushfd
pushal
call fcn.016499bc
cmc
stc
cmp edx, 0x73
pushal
lea esp, [esp + 0x24]
je 0x164a9c7
aad 0xec
lea eax, [ecx - 0x178bfedd]
not ah
mov eax, dword [ebp - 0x44]
stc
call fcn.0164d3c6
pushal
lea esp, [esp + 0x24]
je 0x16411ea
call fcn.016411df
mov dword [esp + 0x1c], ecx
pushal
mov byte [esp + 4], cl
push dword [esp + 0x3c]
ret 0x40
pushfd
push 0xd614f5ec
mov byte [esp], bh
pushfd
mov dword [esp + 8], 0x164da46
pushfd
call fcn.01647dcb
jmp 0x16456cc
pushal
lea esp, [esp + 0x20]
jae 0x1648194
xor dx, bp
bsr cx, bp
xor dh, cl
mov ecx, dword [ebp - 0xa0]
add dx, cx
mov edx, dword [ebp - 0xd8]
cmp al, cl
test di, 0x9f90
cmc
call fcn.01646f43