Function at 0x102162ed
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
pop edx
add edx, dword [edi + edx*8]
bswap eax
xor edx, ebx
ror al, 0xa4
jb 0x10215d23
bt eax, 0x3d
ror edx, 1
inc edx
movzx ecx, al
shr eax, 0x5e
neg edx
shl ax, 0x81
inc edx
cwde
rol al, 0x81
neg ax
bswap edx
jge 0x1010b20a
mov eax, 0x62389d8e
mov eax, dword [esi + eax - 0x62389d8e]
mov ecx, 0xe08663a8
movsx edx, cx
lea esi, [esi + edx - 0x63a4]
lea ecx, [edx*2 + 0x3597c3a0]
xor eax, ebx
and dl, dh
ror eax, 3
not eax
neg eax
rol eax, 1
shr cx, 0x63
neg eax
call fcn.102a3c0d
and dl, 9
xor eax, ebx
not eax
bt edx, edx
xadd cl, dl
shl cl, 0x22
dec eax
shl cx, 0xaa
ror dl, 0x46
bswap eax
rol edx, 0x8b
inc eax
ror eax, 1
lea eax, [eax + ecx - 0x75e788ee]
xor ebx, eax
or dx, dx
shl ecx, 0x2d
add ebp, eax
movsx eax, cx
neg cl
imul cx, ax
xor al, byte [esi + edx*4]
dec dx
add cl, byte [esi + edx*2 - 0x1fffc]
shl dl, 0xc1
jne 0x10172197
lea esi, [esi + edx - 0xfffc]
sbb dx, dx
xor edx, 0xd4091bb5
shl al, cl
btr dx, dx
movzx ecx, dl
mov word [esi + ecx*2 - 0x94], ax
add cl, 0x99
jmp ebp
mov dword [esp + 8], 0x8805efb2
lea esp, [esp + 8]
call fcn.1013e1a2
push 0x121a8c27
mov edx, dword [esi]
shr byte [esp], 0x41
mov ecx, dword [edx]
dec word [esp + 2]
mov edx, dword [esp]
movsx eax, byte [esp + edx*4 - 0x4866304c]
mov dword [edx + esi - 0x12198c13], ecx
mov ecx, edx
and edx, 0x61b2fdbe
mov ecx, dword [edi + edx - 0x108c16]
setne al
neg dx
jle 0x100de3b8
xor ecx, ebx
xor dword [esp + edx*2 - 0x20e7dc], edx
ror ecx, 1
imul eax, edx
inc byte [esp + edx - 0x1073eb]
sbb word [esp + edx*2 - 0x20e7dc], 0xcb25
dec ecx
shl edx, 0xa5
neg ecx
dec ecx
jmp 0x10247245
dec dword [esp + edx*2 - 0x41cfb80]
rol ecx, 2
pop edx
xor ebx, ecx
neg dx
add ebp, ecx
movsx ecx, dx
mov eax, dword [edx + edi - 0x1309cb31]
call fcn.1004b140
mov word [esi + edx - 0x5c550000], cx
lea edi, [edx + edi - 0x5c550004]
jo 0x10143f9d
mov dword [0xcd22800f], eax
out dx, eax
push dword [edi - 9]
ja 0x10247274
cld
push esp
outsd dx, dword [esi]
aam 0x5d
dec esp
je 0x102472f0
repe cmpsb byte [esi], byte es:[edi]
cmc
sub eax, 0xa6f36b54
cmc
movsb byte es:[edi], byte [esi]
sbb al, 0x6b
repe cmpsb byte [esi], byte es:[edi]
jge 0x10247282
mov ah, 0x6b
repe cmpsb byte [esi], byte es:[edi]
adc eax, 0xf36b64ac
cmpsb byte [esi], byte es:[edi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
or al, 0x6b
repe cmpsb byte [esi], byte es:[edi]
in eax, dx
cmp eax, 0xa6f36b24
add eax, 0x26a649bc
leave
inc esi
mov ch, 5
xor al, byte [ebx + 0x3270b2de]
adc byte [eax], al
add byte [eax], al
add ah, dl
ja 0x102472b4
call 0xa6acd979
sub dword [esi], esp
ror dword [esi - 0x7d], cl
push 0x2623077d
jge 0x102472d7
and esp, dword [esi]
sub dword [eax + 0x7d], 0x3f
jnp 0x102472ce
test byte [ebx + 0x63577d68], 0x5e
sub dword [eax + 0x7d], 0x2f
cmp edx, dword [esi]
sub dword [eax + 0x7d], 0x57
arpl word [esi - 0x7d], bx
push 0x163b2f7d
sub dword [eax + 0x7d], 0x46
xchg ebx, eax
sub dword ss:[eax + 0x7d], 0xffffff87
adc edi, dword [esi + 0x2e7d6883]
sub dword [eax + 0x7d], 0x2e
add eax, 0xd184dd8d
mov dl, byte [ecx + 0x55]
outsd dx, dword [esi]
aam 0xb0
adc dword [ecx], ebp
push 0xfffffffffffffff3
cmpsb byte [esi], byte es:[edi]
test al, 0xd0
mov dword [edx - 0xd], ebp
cmpsb byte [esi], byte es:[edi]
dec eax
imul esp, dword [ecx + 0x6a], 0x9840a6f3
xchg ecx, eax
push 0xfffffffffffffff3
cmpsb byte [esi], byte es:[edi]
xor cl, ah
cdq
push 0xfffffffffffffff3
cmpsb byte [esi], byte es:[edi]
mov eax, 0xf36a6920
cmpsb byte [esi], byte es:[edi]
mov byte [eax], bl
add dword [edx - 0xd], ebp
cmpsb byte [esi], byte es:[edi]
pushal
xor esp, edx
cmpsd dword [esi], dword es:[edi]
leave
inc ebx
mov eax, edx
xor eax, dword [ebx + 0x327167de]
adc byte [eax], al
add byte [eax], al
add byte [ecx], al
ja 0x10247331
cmp eax, 0x96890b6c
sub dword [ebx + 0x3e], ecx
arpl word [edx + 0x7e3b7d68], ax
xchg ebx, eax
sub byte [eax + 0x7d], 0x42
xchg esi, eax
wait
sub byte [eax + 0x7d], 0xa3
cmpsb byte [esi], byte es:[edi]
imul eax, dword [edx - 0x292d8298], 0xffffff83
sub byte [eax + 0x7d], 0x22
push ss
and eax, dword [edx - 0x796d8298]
pop ebx
sub byte [eax + 0x7d], 0x53
mov byte [ebp + ebx*8 + 0x67621284], cl
push edx
ret 0x8a83