Function at 0x83a3b1
Capabilities:
Encode data using base64

Disassembly:
sub ecx, 0x83aaa7b7
adc al, 0x9c
bts ecx, edx
rol al, 1
push edx
not ecx
btc cx, dx
xor al, 8
xor bl, al
or edx, dword [esp + ecx - 0x2548a5f1]
shr edx, cl
lea eax, [esp + eax + 4]
btc edx, 0x3e
shr ecx, 0xe1
movzx cx, byte [eax + ecx - 0x12a452f8]
neg word [esp + edx - 0x3ffffffe]
or dword [esp + edx*2 - 0x80000000], edx
lea esi, [esi + edx - 0x40000002]
ror byte [esp + edx - 0x3ffffffd], 0x24
rol dword [esp + edx*2 - 0x80000000], 0xbf
sar word [esp + edx*2 - 0x7fffffff], 0xab
mov word [esi + edx*2 - 0x80000000], cx
xor dx, word [esp + edx - 0x3ffffffe]
mov eax, 0x40138026
pop ecx
jle fcn.0073c645
sub ebp, 1
movzx edx, cl
mov dl, byte [ebp + edx*4 - 0x228]
or ecx, ecx
call fcn.00811db1
sub ebp, 4
mov edx, 0xea220a31
mov ecx, dword [ebp]
mov eax, edx
xor ecx, ebx
not al
dec ecx
call fcn.008ee2ee
mov eax, 0x9ba4c51c
xor ecx, ebx
rol ecx, 1
xor al, 0x22
neg ecx
shl al, 0x67
jne 0xc99b26
not ecx
sbb ecx, 0x109610aa
mov edx, 0xe98e97b0
not ecx
lea edx, [edx + edx*4 + 0x2828f30b]
neg edx
add eax, eax
xor ebx, ecx
bt eax, 0x21
adc esi, ecx
sar eax, 0x3b
mov eax, dword [edi + eax - 6]
mov edx, dword [edi + edx - 0x480e1681]
jbe 0x8df421
jae 0x92991d
xor eax, ebx
xor eax, 0x1230692c
ror dl, 0xa2
bswap ecx
neg eax
lea eax, [eax + edx + 0x345c031f]
bt edx, 0x3e
bts edx, 0x15
not eax
xor ebx, eax
btc cx, dx
adc edi, eax
shl dx, 0xa
movzx eax, dx
lea ebp, [ecx + ebp - 0xe08598]
cbw
shr ecx, cl
or al, byte [ebp + ecx*2 - 2]
or dx, dx
sbb dl, 0x3d
xor al, bl
xchg ecx, edx
xadd dl, ch
not al
jno 0x715446
dec ebp
btr esp, esp
xor cx, si
inc ecx
pop ebx
inc ecx
pop eax
dec ebp
adc esp, esp
shl esi, 0x6d
push ebp
dec esp
mov esp, dword [esp + esi - 0x5fffbff8]
dec edx
mov dword [esp + esi - 0x49f987d5], 0x538fcc0a
dec esi
mov esi, dword [esp + esi - 0x49f987cd]
inc esp
movsx ecx, dh
setp byte [esp + esi - 0x5fffbff8]
dec eax
mov dword [esp + esi - 0x5fffbff0], edi
dec edx
mov ecx, dword [esp + ecx + 0x18]
dec esi
mov ecx, dword [esp + ecx*2 + 0x20]
inc eax
and bh, byte [esp + esi - 0x5fffbfea]
call fcn.007cab2b
call fcn.0075c51d
inc esp
mov ebp, dword [edi]
mov edx, 0x7d3abe28
jmp 0x8e7738
push 0xb13c43b5
ror byte [esp + 3], 0x82
adc edi, 4
xor ecx, ecx
call fcn.0079d3df
mov eax, 0xcf19820d
mov cl, byte [edi + edx - 0x7d3abe24]
dec eax
lea edi, [edx + edi - 0x7d3abe26]
movsx ebx, dx
movsx esi, bl
inc ecx
shr ebp, cl
inc esp
mov dword [edi + edx - 0x7d3abe28], ebp
dec eax
lea ebp, [esi + ebx*8 - 0x17df98f5]
dec ebp
lea edx, [edx + esi*4 - 0xa4]
add si, si
dec esp
lea esi, [eax + eax*4 + 0x7d94edb0]
dec esp
lea eax, [esi + ebp*8 + 0x723fdc92]
inc edx
mov ecx, dword [esi + edx - 0x50]
call fcn.007bd172
sal cl, cl
add esi, eax
mov eax, dword [esp + ecx*4 - 0x26200]
mov ecx, dword [edi + ecx*2 - 0x13100]
pop eax
imul eax
mov eax, dword [edi + edx + 4]
adc ecx, eax
inc edx
mov eax, 0x5c2090a5
mov eax, ecx
lea ecx, [edx*4 - 0x47cb9964]
bt ecx, edx
sar dl, 0xc4
or edx, dword ss:[edx + eax]
movzx eax, cl
or eax, eax
lea eax, [eax + ecx - 0x4ec80de]
mov dword [edi + 4], edx
adc edi, 4
movzx edx, cx
lea edx, [eax + ecx*4 + 0x750a6d17]
bts edx, ecx
jmp esi
shr al, cl
lea ecx, [edx + 0x7e021b10]
btr dx, cx
and edx, 0xb18e781b
mov word [edx + edi - 0xc5009], ax
lea ebp, [ebp + edx - 0xc500d]
call fcn.00cb4465
mov esi, 0x243ad2af
dec eax
lea ecx, [esi*8 - 0x5f6384c7]
inc esp
movzx edi, cl
or al, 0xf5
cmp dword [ebx - 0x64], edi
mov al, byte [0xf9b60f44]
dec eax
mov esp, edi
inc esp
movzx esp, cx
dec esp
lea esi, [ecx - 0x787988d4]
inc ecx
movsx ebp, si
inc ecx
pop edi
pop edx
sar si, 0xcd
dec ecx
xor ecx, esp
dec eax
lea edi, [ebp + esi*2 - 0x10f84761]
inc ecx
pop ebp
ja 0x8a1570
test al, 0x32
lea eax, [eax + 0x57]
jnp 0x9299a2
push edi
popfd
jg 0x92994a
mov edx, 0x66a9b79e
jmp dword [edx]
test byte [edx - 0x995645], 0x8e
sti
hlt
pop esp
jecxz 0x9299cc
xchg ebp, eax
inc eax
mov byte [ecx + 7], 0xa4
add dword [ebx + 0xf], edi
retf
mov dl, 0x84
xor dword [ebp + 0x23e35340], ecx
daa
sahf
jg 0x929997
loop 0x9299cc
fld xword [edx - 0x3d59009a]
shr dword [edx - 0x3959009a], cl
imul dword [edx - 0x603d009a]
mul dword [ebx - 0x41]
pop esp
mov bl, 0x24
xchg ebp, eax
inc eax
cli
pop ecx
add al, 0xa4
add dword [esi + 0x7f7acb0d], esi
sub eax, 0xb0a5cdde
inc edi
jbe 0x929a15
lds ebp, [esi + 0x15f668e1]
leave
scasb al, byte es:[edi]
loope 0x929a78
invalid
push 0xb2a152bf
invalid
pop edx
xor al, 0x5a
lahf
xor byte [edx - 0x36f32313], 0x67
lds ebx, [edx + 0x37]
xchg edi, eax
loop 0x929af0
das
sti
inc eax
nop
sal dl, 0x75
mov bl, 0x53
hlt
imul ecx, dword [edx], 0x6c00caff
ret 0xffaf