Function at 0x417a11
Capabilities:
Encode data using base64

Disassembly:
movzx dx, byte [ecx]
movzx ecx, al
sub al, byte [esp + ecx - 0x16]
lea ebp, [ebp + ecx*8 - 0xe2]
mov dword [esp + ecx*4 - 0x70], eax
add ax, cx
mov dword [esp + ecx*4 - 0x6f], eax
mov word [ebp + ecx*2 - 0x38], dx
xchg dword [esp + ecx*8 - 0xdc], eax
lea edx, [ecx + eax*4 + 0x698b5825]
mov eax, dword [esi + ecx - 0x1c]
or dx, cx
lea esi, [ecx + esi - 0x18]
sal edx, cl
lea edx, [ecx*2 + 0x688c64aa]
xor eax, ebx
and cl, ch
bt ecx, 0x2b
not ecx
rol eax, 1
neg ecx
not dword [esp + ecx + 3]
bswap eax
sbb eax, 0xf0140a1e
bswap eax
sar edx, cl
bswap ecx
rol byte [esp + ecx - 0xfffff9], 0x66
xor ebx, eax
ror word [esp + ecx - 0xfffffc], 0xce
sub edx, ecx
adc edi, eax
xor dx, word [esp + ecx*8 - 0x8000000]
shr cx, 0x2b
pop ecx
pop ecx
jp fcn.004c3252
sub esi, 4
mov eax, dword [esi]
xor eax, ebx
mov ecx, 0xd633ef1c
rol cx, 0x25
mov edx, ecx
ror eax, 2
xadd cx, dx
sar dl, 0xa1
inc eax
or dx, 0x2d11
or cl, 0xa7
neg ecx
not eax
bswap eax
setne dl
xor ebx, eax
push ecx
add edi, eax
mov bp, word [ecx + ebp - 0x29cc3841]
shr word [esp + ecx - 0x29cc3840], cl
setge cl
pop edx
jo fcn.00452de1
call fcn.004191fc
push 0xc33c19bd
mov ecx, dword [esi]
mov edx, dword [esp]
add esi, 4
ror word [esp + 1], 0xc8
xchg dh, dl
sbb ebp, 1
movzx edx, byte [ebp]
xor dl, bl
inc dl
mov eax, dword [esp]
inc eax
rol dl, 1
sub dl, 0xb2
bswap eax
not eax
add byte [esp + eax - 0x41c3e63a], ah
ror dl, 1
dec al
xor dword [esp + eax - 0x41c3e63b], eax
bts eax, eax
xor bl, dl
sal eax, 0xeb
or byte [esp + eax*2 - 0x3e63afff], al
lea edx, [esp + edx + 4]
sbb byte [esp + eax - 0x1f31d7fe], al
or dword [esp + eax*2 - 0x3e63b000], 0xd5b5d62b
mov dword [edx + eax*4 - 0x7cc76000], ecx
push eax
js 0x49b5b5
movzx ax, byte [ebp + eax - 0x149d]
mov ecx, 0x819202ba
movsx edx, cx
shr cx, 0xa5
mov cl, byte [ebp + edx*2 - 0x572]
push edx
bt edx, 0x86
lea edx, [edx*8 - 0x1d90476]
adc ebp, 2
shl al, cl
xor dl, 0x2a
shr byte [esp + 3], 0xe3
movzx ecx, dl
mov word [ebp + ecx*2 - 0xe0], ax
bt ecx, 0x14
jae 0x48e3a6
not eax
or ecx, 0xe206648c
mov dword [edi], eax
mov edx, 0x69ec91a
rol edx, 0xdd
and cx, cx
mov edx, dword [edx + esi - 0x40d3d923]
movzx eax, cl
xadd al, cl
bts ecx, eax
lea esi, [esi + eax*2 - 0x2c]
xor edx, ebx
btr ax, cx
jae 0x47c1de
or ax, dx
adc dword [esp + eax - 0x1f31fffd], eax
neg ecx
ror ecx, 1
neg eax
jb 0x44af51
sal ecx, 0x85
lea esi, [esi + ecx*2 - 0x1c04]
inc dl
xadd dword [esp + ecx - 0xe00], edx
mov eax, dword [esp + edx - 0x2ba]
mov ecx, dword [edx + esi - 0x2ba]
xor eax, 0x5e0e2b1c
neg eax
ror dl, 0x45
xor ecx, ebx
lea ecx, [ecx + eax*2 + 0x225ddc23]
xor dword [esp + edx - 0x2d5], 0xb3088bab
not ecx
add edx, 0x82819f1e
lea ecx, [ecx + eax*2 + 0x2cf9aafd]
cwd
sbb edx, eax
shl eax, 0xb6
bswap ecx
sub word [esp + edx*2 - 0x45567e6b], ax
xor ebx, ecx
add ax, dx
adc edi, ecx
and dword [esp + eax*2 - 0x64807e6c], edx
mov dword [esp + edx*2 - 0x45567e6c], edi
ret
sar ax, 0xed
lea ebp, [eax + ebp - 0x1f320002]
movsx edx, word [esp + eax*4 - 0x7cc7fff4]
dec al
adc word [esp + eax - 0x1f31fff7], ax
mov ecx, dword [ebp + eax*4 - 0x7cc7fff4]
inc eax
adc dword [esp + eax*2 - 0x3e63fff8], 0x5dbc4c11
bts eax, edx
xor ecx, ebx
jmp 0x43dd27