Function at 0x4851c5
Capabilities:
Encode data using base64

Disassembly:
xor ecx, 0x44a4d890
jmp 0x4caa44
xor ax, ax
xadd byte [esp + edx], dh
lea ecx, [esp + ecx + 4]
shr byte [esp + edx - 0x7800], 0xa5
pop eax
movzx dx, byte [edx + ecx - 0x7801]
push eax
lea ecx, [eax*4 - 0x1a5de5c3]
dec eax
lea esi, [eax + esi - 0x7c3d03b9]
dec word [esp + eax - 0x7c3d03b5]
neg ecx
mov word [esi + ecx - 0x2969d6e3], dx
movzx edx, byte [esp + eax - 0x7c3d03b7]
lea ebp, [ebp + eax - 0x7c3d03bb]
jo 0x415ef8
jg 0x4270ea
mov edx, dword [ebp + edx*2 - 0x170]
or al, 0x3d
jl 0x4e0d71
sub esi, 4
mov edx, 0xdeb96cac
mov edx, dword [esi]
mov eax, 0x17304739
xor edx, ebx
bswap edx
rol edx, 1
neg edx
movzx ecx, ax
sar ecx, 0x16
dec edx
cbw
inc al
xor ebx, edx
btr ax, ax
call fcn.004405cd
movzx ecx, byte [edx + ebp - 0x15124902]
lea eax, [edx + edx*8 - 0x4067195a]
btr eax, eax
xor cl, bl
bswap edx
jmp 0x48d428
rol eax, cl
sub edx, ecx
sar cl, 0x86
and ecx, ecx
xor ebx, eax
rol ecx, 0xb7
jae 0x4e5160
mov dword [esp + edx*2 - 0x2a249204], edx
lea ebp, [edx + ebp - 0x15124903]
xor byte [esp + edx - 0x15124901], 0x21
mov word [esp + edx - 0x15124901], dx
ja 0x46e806
not ecx
setns al
push edx
cdq
adc ecx, edx
xor ebx, ecx
and dword [esp + edx*8], edx
sal dword [esp + eax - 0x413a2301], 0x6d
adc ebp, ecx
pop ecx
add dl, cl
lea esi, [esi + edx - 2]
bswap ecx
and eax, eax
movzx eax, word [esi + eax - 0x413a2301]
shl edx, 0xf1
neg cx
setg dl
xor ax, bx
rol ax, 1
lea ecx, [edx*4 - 0x48f2d1e4]
xor ax, 0x2015
or dx, dx
bswap ecx
cmovl dx, cx
inc ax
not ecx
jmp 0x4ae072
xor cl, 0x99
pop edx
and dx, ax
xadd eax, edx
not cl
sub eax, edx
push edx
xor cl, 0xb0
sal eax, 0xb4
sal eax, 0xae
inc cl
inc byte [esp + edx - 0x7c3d77b7]
mul edx
btc edx, edx
xor bl, cl
jmp 0x425e57
not ecx
shl edx, 0x78
lea eax, [eax*4 - 0x3ec0e2e4]
and dword [esp + edx - 0x38000000], eax
xor ebx, ecx
dec ax
add edi, ecx
lea ecx, [edx + edx*2 - 0x5ada0ee9]
mul dl
mov eax, dword [ebp + edx - 0x38000000]
dec ecx
rol ecx, cl
movzx cx, byte ss:[eax + edx - 0x38000000]
shr dl, 0x41
lea eax, [edx + edx*8 - 0x3a4c6ad2]
inc eax
lea ebp, [ebp + edx*2 - 0x6ffffffe]
mov word [ebp + edx*2 - 0x70000000], cx
xchg ah, al
mov dword [esp + edx*2 - 0x70000000], edi
ret
mul eax
inc dx
adc ecx, edx
jmp 0x4d9799
idiv dword [esp + eax]
div dl
ror ecx, 3
call fcn.00453a57
mov eax, 0x923475aa
push eax
mov ecx, dword [esi]
neg eax
lea esi, [esi + eax - 0x6dcb8a52]
mov edx, dword [esp + eax - 0x6dcb8a56]
jae 0x49ea13
sub edx, edx
xor ecx, ebx
push eax
ror dword [esp + eax - 0x6dcb8a52], 0x90
bts ax, 0xaf
neg ecx
ror ax, 0x44
rol eax, 0x94
pop edx
lea ecx, [ecx + eax + 0x45416cdc]
rol ecx, 3
imul dx
sbb ecx, 0x8301fca4
ror al, 0x63
jb 0x497c1e
xor edx, ebx
lea edx, [edx + eax + 0x645af2ec]
add cx, ax
and word [esp + eax - 0x7c3d03bd], cx
push eax
neg edx
not edx
ror edx, 3
sar cl, cl
dec ecx
xor ebx, edx
sar al, cl
call fcn.00447283
dec eax
shr edx, cl
or word [esp + edx - 0x1fffa], cx
rol eax, 1
xor eax, 0x83b9d40c
shr cx, 0x2d
sbb eax, 0x863a2623
xadd edx, ecx
xor ebx, eax
add ebp, eax
xadd dx, cx
jg 0x48471e
bswap edx
mov dword [esp + ecx - 0x1ffff], ebp
ret 8
or dl, ch
adc ebp, eax
push ecx
xchg byte [esp + ecx - 0x7effffff], dl
sar byte [esp + ecx - 0x7efffffd], 0x87
mov dword [esp + ecx - 0x7f000000], ebp
ret