Function at 0x40ef88
Capabilities:
Encode data using base64

Disassembly:
push dword [esp + 0xc]
popfd
lea esp, [esp + 0x14]
call fcn.0040fd6c
mov eax, 0x42be9603
movzx edx, ax
lea esi, [eax + esi - 0x42be9607]
mov eax, dword [eax + esi - 0x42be9603]
lea edx, [edx*2 + 0xc0c1a02]
xor eax, ebx
lea edx, [edx - 0x39de9b78]
rol eax, 3
lea ecx, [edx + edx + 0x5a161a2e]
xor dx, 0xc993
not eax
ja 0x463844
movups xmmword [ebp - 0xb4], xmm0
call fcn.00437d7a
sub esi, 4
mov eax, 0x3a8c77a7
mov edx, dword [esi + eax*2 - 0x7518ef4e]
movsx ecx, ax
xor edx, ebx
shr cl, cl
btr eax, 0xb0
bts ecx, 0x86
xor edx, 0xb18cb07
and ecx, 0xb1be222
push ecx
inc word [esp + eax - 0x3a8c77a5]
dec edx
and dword [esp + eax - 0x3a8c77a7], 0x84802984
not edx
neg edx
not edx
or cl, 3
ror edx, 1
not al
xor ebx, edx
add edi, edx
push eax
rol al, cl
mov bp, word [ebp + ecx - 0x6203]
pop ecx
pop ecx
jae fcn.0040cce8
sbb edi, 2
mov word [edi], dx
jmp 0x43979e
add ebp, eax
mov eax, dword [edi + edx - 0x1284c0]
xor cx, dx
sbb dword [esp + edx - 0x1284c0], ecx
mov ecx, dword [edi + edx*2 - 0x25097c]
lea edx, [edx*2 + 0x7a03108c]
lea edi, [edi + edx - 0x7a281a04]
btc edx, edx
mov dword [eax + edx - 0x7a280a0c], ecx
mov dword [esp + edx - 0x7a280a0c], ebp
ret
call fcn.0042761a
mov edx, dword [esi]
mov eax, 0x7f0b7b29
movzx ecx, al
sub eax, eax
add eax, dword [eax + esi + 4]
dec ecx
jne 0x46129d
sub esi, 4
push edx
xchg dh, dl
mov eax, dword [esi]
neg dword [esp]
xor eax, ebx
and byte [esp], dl
je 0x42de41
btr edx, edx
rol eax, 2
ror edx, 0x89
movsx ecx, dx
neg edx
inc eax
inc cl
and dx, cx
sar dx, 0xa5
not eax
xor eax, 0xfb8a1ca6
sar edx, cl
xor dword [esp + edx - 0x1284c0], edx
not eax
neg eax
xor eax, 0x9d08df0c
rol eax, 1
xor ebx, eax
inc dword [esp + edx*4 - 0x4a1300]
jns 0x42b753
or eax, 0x713937a0
pop edx
ja fcn.00434194
adc cx, dx
lea edx, [eax + eax*8 + 0x89cb4b3]
neg byte [esp + edx - 0xf4f41a5]
mov word [ebp + edx - 0xf4f41a7], cx
xchg dword [esp + edx*8 - 0x7a7a0d38], eax
lea esi, [esi + edx*8 - 0x7a7a0d3c]
xchg word [esp + edx - 0xf4f41a5], dx
mov ecx, dword [esi + edx*4 - 0x3d3f9130]
xor ecx, ebx
sar eax, 0x67
dec ecx
xchg byte [esp + edx - 0xf4fe44a], al
xor ecx, 0xaa177e30
dec word [esp + edx*2 - 0x1e9fc897]
push edx
inc ecx
cwde
pop edx
dec dword [esp + edx*8 - 0x7a7f2260]
ror ecx, 3
cwd
not byte [esp + edx - 0xf4ffffc]
lea eax, [eax + 0x422c3b1a]
inc ecx
push eax
add byte [esp + eax - 0x422c15be], 0xa9
shl dword [esp + edx - 0xf4ffffc], 0xce
xor ebx, ecx
add edi, ecx
mul eax
call fcn.0044f1af
shld dx, ax, cl
push 0x7498adbf
mov ecx, dword [esp + 8]
add ecx, 0xfffac858
jmp ecx
sal dword [esp], 0x7d
shr byte [esp + 1], 0x62
adc ebp, 6
push 0x6e18a200
inc word [esp + 5]
shld eax, edx, cl
mov ecx, dword [esp]
mov dword [ebp + ecx - 0x6e18a200], eax
mov dword [esp + ecx - 0x6e18a200], edi
ret 4
mov eax, dword [ebp]
add byte [esp + 3], dh
shr dword [esp], 0xa4
sub byte [esp + 3], cl
mov edx, dword [ebp + 4]
setbe cl
and byte [esp + 3], ch
rol cl, 0x81
mov cl, byte [ebp + 8]
jae 0x43cf68
mov edx, 0xd81c6b1b
jmp 0x430f1a
push 0xbba7b4ac
shl word [esp + 2], 0x8d
adc esi, 6
shld edx, eax, cl
mov eax, dword [esp]
lea ecx, [eax + eax*4 + 0x70aa7396]
mov dword [esi], edx
pop eax
lea edi, [edi + eax*4 + 0x7ffd2d4c]
mov eax, dword [edi + eax*2 + 0x3ffe96a8]
btc ecx, 0x1f
xor eax, ebx
xor eax, 0x47809535
movsx edx, cl
rol eax, 1
sub eax, 0x6612a31b
rol ecx, cl
neg eax
sal dl, 0x41
bt edx, 0x97
xor ebx, eax
add ebp, eax
jmp ebp
mov cl, byte [esi + ecx - 0x20]
jp 0x45e05f
movzx ecx, dx
call fcn.004527c8
push ecx
rol eax, 3
sar ecx, 0x6a
sbb eax, 0x2830f86
sal cl, 0xc5
add dl, dh
not dx
xor ebx, eax
not word [esp + 1]
add edi, eax
jmp 0x450ce3