Function at 0xcd5d1b
Capabilities:
Encode data using base64

Disassembly:
neg edx
mov word [ecx + esi - 0x100a4a2], ax
push edx
inc ecx
neg ecx
movzx edx, byte [edi - 7]
sets byte [esp + 6]
or cx, 0xea3
rol ecx, 0x97
adc edi, 0xfffffff8
xchg byte [esp + 0xb], ch
rol cx, cl
xor dl, bl
inc byte [esp + 9]
movzx eax, cl
xor dl, 0x16
ror dl, 1
neg word [esp + eax - 0x57]
adc dl, 0xa4
rol dl, 1
shl eax, 0xca
xor bl, dl
shr cx, 0xa7
neg dword [esp + eax - 0x15bf8]
lea edx, [esp + edx + 0xc]
sbb eax, ecx
adc ax, 0xe811
mov ax, word [edx + eax*4 - 0x90b3c]
jle 0xcb6c1d
mov word [esi - 4], ax
push ecx
lea edx, [esp + 0x58]
mov ax, word [edx]
add dword [esp], ecx
mov word [esi - 6], ax
mov eax, ecx
sbb esi, 5
jmp 0x885d03
shl edx, 0x33
xor ebx, ecx
add edi, ecx
jmp edi
jae fcn.00909547
rol eax, 1
inc eax
sal edx, 0x6b
add dx, word [esp + edx*8 - 0x167ffd]
xchg byte [esp + edx*8 - 0x114ffa], cl
ror eax, 2
xadd dl, dh
xor ebx, eax
add ebp, eax
and dword [esp + edx - 0x2002a], 0xad9d45ad
lea edi, [edi + edx*8 - 0x100151]
sar dx, 0x81
movzx eax, byte [edi + edx*4 - 0x80054]
xchg dword [esp + edx*2 - 0x40026], ecx
ror word [esp + ecx - 0x5a], 0xaa
neg ecx
xor al, bl
not ecx
rol ecx, 0x30
xadd word [esp + ecx*8 - 0x2c7fffe], cx
rol al, 1
neg al
rol byte [esp + ecx - 0x58ffff], 0xc5
or dword [esp + ecx*2 - 0xb1fffc], 0xf9253a8d
shr edx, 0xa3
sbb al, 0x98
xor al, 0x80
pop ecx
pop edx
bswap ecx
xor bl, al
add eax, esp
ror cl, 0x45
shl ecx, 0x41
mov dx, word [ecx + eax - 0x800000]
lea eax, [ecx*2 - 0x1c53dde3]
xchg al, cl
lea esi, [esi + ecx - 0x80001f]
btc eax, eax
mov word [esi + ecx*4 - 0x2000074], dx
movsx edx, cx
jae 0x83630d
mov edx, dword [eax + edx*2 - 0x47e1aeb4]
movsx eax, cx
xor ecx, ecx
mov dword [ecx + edi], edx
lea ebp, [ecx + ebp - 4]
inc al
btr eax, ecx
mov eax, dword [ebp + ecx*2]
xadd cl, ch
bts ecx, 0xab
xor eax, ebx
movzx edx, cl
neg eax
add eax, 0xa0b47682
neg edx
not edx
ror eax, 1
lea eax, [eax + ecx*4 + 0x31b74214]
xor ebx, eax
add dx, dx
dec edx
xor ecx, edx
adc esi, eax
neg cx
jmp esi
inc eax
ror eax, 2
lea ecx, [edx + edx*8 - 0x6cf120ea]
xor eax, 0xed15c200
push edx
shr cl, 0x67
jns 0x93946d
rol dword [esp + ecx - 0x291e97f7], cl
mov ecx, dword [ecx + esi - 0x291e97fe]
inc dword [esp + 8]
mov edx, 0xf4b36308
mov dword [esp + 0xc], ebx
movsx ebx, dl
sub edx, dword [esp + ebx]
cpuid
jae 0x7b0c77
mov cl, byte [esi + ecx*2 - 0x68998a7a]
btc eax, eax
imul eax, eax
shr edx, cl
mov dword [esi + eax - 0x7c7273f7], edx
mov ecx, eax
mov ecx, dword [eax + esi - 0x7c7273f7]
movzx edx, ax
mov eax, dword [eax + esi - 0x7c7273f3]
add ecx, eax
mov dword [esi + edx*8 - 0x39fc2], ecx
movsx ecx, dl
rol edx, 0x72
movzx edx, word [ebp - 2]
movzx eax, cx
imul ecx, eax
xor dx, bx
ror eax, cl
not cx
sbb ecx, ecx
not dx
not al
dec dx
ror dx, 1
sal al, 0xc1
bts eax, 3
adc dx, cx
bswap ecx
or ecx, eax
neg dx
xor dx, 0xe496
cwde
dec dx
sal cx, 0x22
rol dx, 1
add dx, 0x219e
shl ecx, 0x8f
lea eax, [eax*2 + 0x67303c0d]
neg dx
lea eax, [ecx + 0xf95ae96]
xor dx, 0xa132
sal al, 0xc2
sub ax, 0x961a
xadd ecx, eax
xor bx, dx
mov word [esi + eax*4 - 0x7effffc], dx
cbw
movsx edx, al
add dl, dl
lea esi, [esi + ecx*2 - 0x271a3078]
sal edx, 0x90
mov ecx, dword [ecx + ebp - 0x138d1844]
rol ax, 0x28
neg edx
neg dx
lea ebp, [ebp + eax*8 - 0xfe00006]
dec eax
ror eax, 0xf3
xor ecx, ebx
ror edx, 0x72
sbb ecx, 0xd2b7198b
xor ecx, 0x88a81eb6
dec ecx
neg edx
or dx, dx
bswap ecx
sal dl, 0x44
not ecx
mul dl
sub eax, edx
neg ecx
dec edx
jne 0x82aa55
mov ecx, 0xb3926f95
lea ecx, [ecx*2 - 0x2046e7c3]
mov ecx, esi
mov eax, 0xb19de8d
call fcn.009bab10
xor ax, bx
neg ax
and byte [esp + ecx - 0x1001523], dl
sal cx, cl
ror ax, 1
sub ax, 0x25a4
inc dword [esp + ecx - 0x100a49c]
shr word [esp + edx + 1], 0xc6
adc dl, 0xa9
neg ax
xor dx, 0x2804
xor bx, ax
jmp 0x7c9cfb