Function at 0xcd4422
Capabilities:
Encode data using base64

Disassembly:
bts edx, edx
add eax, edx
cwde
inc ecx
rol ecx, 1
cbw
jmp 0x1502d98
sbb eax, 0xe324d629
mov dword [esp + ecx*2 - 0x42b938a], 0x95b1b499
xor ebx, eax
add ebp, eax
shl byte [esp + ecx*4 - 0x857270d], 0xe1
imul edx, edx
add byte [esp + edx*2 - 0x1200c002], cl
lea esi, [esi + ecx - 0x215c9c6]
adc ecx, ecx
setp dl
push ecx
movzx eax, byte [esi + ecx*2 - 0x8572716]
sbb dword [esp + edx - 0x9005ffb], 0xb9a60584
xor al, bl
dec ecx
sub al, dl
xor al, 0x86
inc dword [esp + ecx - 0x42b9382]
rol edx, 0x3c
inc al
add byte [esp + ecx - 0x42b9384], 0x21
adc dx, 0x82b4
adc edx, dword [esp + ecx*4 - 0x10ae4e24]
neg al
add dword [esp + ecx*2 - 0x8572713], ecx
sub byte [esp + ecx*2 - 0x8572710], ch
push edx
xor bl, al
and byte [esp + ecx - 0x42b9388], dh
lea edi, [edi + ecx - 0x42b938c]
shr dword [esp + ecx*4 - 0x10ae4e1c], 0xe
rol dl, 3
adc byte [esp + ecx - 0x42b9380], cl
mov word [ecx + edi - 0x42b938a], ax
setbe dl
neg cl
xor byte [esp + ecx*4 - 0x10ae4dd7], dl
pop eax
pop eax
pop eax
pop eax
ja fcn.01556dc6
inc word [esp + 2]
dec dword [esp]
xor cl, bl
rol ax, 0xad
movzx edx, al
adc cl, 0xa5
xor cl, al
shl dword [esp + edx - 0x32], 0xdc
ror cl, 1
not dx
pop edx
not cl
ror dx, 0x4e
neg cl
lea eax, [edx + eax - 0x154cb1cf]
rol cl, 1
neg eax
neg al
neg cl
rol edx, 0x8c
xor bl, cl
dec dx
add ecx, esp
neg eax
not eax
add edx, edx
movzx dx, byte [ecx + eax*2 - 0x2e848ac4]
lea esi, [eax + esi - 0x17424564]
lea ecx, [eax*4 - 0x57eae45e]
mov word [eax + esi - 0x17424562], dx
bswap ecx
imul ecx, eax
lea ebp, [ebp + eax*2 - 0x2e848ac8]
jae 0xcb6ffe
movzx edx, cl
mov eax, dword [ebp + eax - 0x17424562]
btr cx, cx
xor eax, ebx
rol eax, 1
and ecx, 0x1b3a84ab
dec ecx
inc cx
bswap eax
imul ecx, ecx
lea eax, [eax + edx*4 - 0xb8872c9]
jb 0x15980a2
mov edx, 0xf39dc810
push edx
movsx ecx, dl
mov eax, dword [ebp + ecx*2 - 0x20]
mov dx, word [ebp + ecx - 0xc]
shr cx, 5
sub dword [esp + ecx], 0x82292cbb
lea ebp, [ebp + ecx + 6]
setg cl
setnp byte [esp + ecx*4 - 4]
mov word ss:[eax + ecx*2 - 2], dx
lea edi, [edi + ecx*4 - 8]
mov ecx, dword [ecx + edi - 1]
mov eax, 0x948a008e
and dword [esp], eax
movsx edx, al
xor ecx, ebx
bswap eax
inc ecx
neg ecx
bswap ecx
btr eax, edx
dec ecx
dec word [esp + 1]
jne 0x13a2e1a
push ebx
inc esi
sub eax, 0xead9a647
pop ebp
jns 0xcd45f4
in al, 0xc2
adc dword [0x8ae40779], 0x6b
cmp eax, 0xa1e40779
mov ch, byte [ebx + 0x3d]
jns 0xcd4600
in al, 0xa1
dec edx
dec ebp
jns 0xcd4606
in al, 0xd2
rol byte [edx], 0xd5
rol al, cl
add dl, ch
int3
int3
neg dword [esp + eax - 0x6e7cc4d7]
pop ecx
add ebp, edx
ror ax, 2
push eax
mov dword [esp + eax - 0x6e7cf135], ebp
ret
lea esi, [ecx + esi - 0x39b69783]
movzx eax, cx
lea ecx, [ecx + ecx*4 + 0x3316e3b0]
or ecx, eax
xor edx, ebx
not ax
lea eax, [eax + ecx*8 - 0x2ec2de4e]
bswap edx
sal dword [esp + eax - 0x6e7c88e2], 0xa1
cmovae ax, word [esp + eax - 0x6e7c88e0]
dec edx
btc ecx, eax
ror ax, 0xac
neg edx
bswap edx
xor ebx, edx
jmp 0xd40ef6
shr dx, 0x8e
rol ecx, 1
shl eax, 0xb1
neg eax
ror eax, 0xf1
not ecx
btc eax, 0xbb
xor al, dl
lea ecx, [ecx + eax + 0x80088a0]
xchg dword [esp + eax*2 - 0x1000eade], edx
cdq
xor ebx, ecx
pop eax
or eax, edx
idiv eax
add esi, ecx
lea ecx, [eax + eax*4 + 0x3487983d]
bts dx, dx
jmp esi
push 0x25a7cf3c
mov eax, dword [edi + 4]
mov ecx, dword [esp]
dec word [esp + ecx - 0x25a7cf3a]
lea edi, [edi + ecx*2 - 0x4b4f9e74]
push ecx
setns byte [esp + ecx - 0x25a7cf3a]
not edx
pop ecx
bts cx, 0x83
not eax
xor dword [esp + ecx - 0x2501cf3c], ecx
add cx, word [esp + ecx - 0x2501cf3a]
adc ecx, 0x14b520b4
or edx, eax
mov dword [edi + ecx*2 - 0x736de12e], edx
lea edx, [ecx*8 - 0x5be2b97b]
xor dword [esp + ecx*2 - 0x736de12e], 0x3e81b512
xadd cl, ch
mov edx, dword [ecx + esi - 0x39b69787]
jp 0x132808a
not dl
rol ecx, 1
jmp 0x141f4a4
dec eax
lea eax, [edx + eax*4 + 0x7085bd8c]
inc ecx
ror ecx, 1
inc ecx
call fcn.01482da3
lea ebp, [ebp + edx*8 - 2]
mov word [ebp + eax - 0x6b4a0033], cx
movzx ecx, dl
and ax, ax
setbe dl
jg fcn.01310689
sub edx, edx
add edx, dword [esp + edx]
lea ebp, [ebp + edx - 0x15ad005d]
shl al, cl
and edx, edx
movzx ecx, dx
call fcn.014624f5
xor ebx, ecx
xchg dx, ax
add esi, ecx
push edx
inc dl
lea ecx, [eax + 0x3125942c]
movzx ax, byte [eax + ebp - 0x4cb5]
mov cl, byte [ebp + edx*2 - 0x2b5a00be]
jp 0x14e1b99
jae 0x13caad5
push edx
not eax
not dl
neg eax
xchg dword [esp + edx*2 - 0x2a], edx
rol eax, 2
add dword [esp + edx - 0xea], edx
xor ebx, eax
add edi, eax
add word [esp + edx - 0xe8], dx
lea eax, [edx*2 + 0x4c32d71d]
idiv word [esp + edx*4 - 0x3a7]
pop eax
jmp fcn.014f8c0e