Function at 0x170a2a2
Capabilities:
Encode data using base64

Disassembly:
not edx
shr dword [esp], 0x8c
adc ebp, 1
not edx
and cx, ax
not cx
push edx
jmp 0x186cfc4
mov eax, 0x7985a33f
and eax, eax
mov eax, dword [ebp + ebx*4]
jne 0x286e54d
jae 0x1a56f18
js 0x1b11dd9
call fcn.018e970e
dec ebx
jmp 0x19538ad
sar ecx, 0x79
movzx eax, byte [edi + ecx - 0x38]
sar ecx, 7
jb 0x152dc73
inc ecx
adc edi, ecx
xor al, bl
not cx
shl cx, 0xa1
btr ecx, ecx
dec al
sar ecx, 0x15
ror al, 1
rol ecx, 0xd2
xor al, 0xac
neg cl
adc al, 0x14
jmp 0x17c18ae
call fcn.01942f85
mov edx, esi
bswap edx
shr edx, 0xde
setbe dl
mov esi, dword [esp + esi + 0x7ad92c53]
cmp dx, 0x719d
call fcn.01979eac
inc ecx
pop ecx
dec eax
arpl cx, cx
dec eax
shr edx, 9
or bx, ax
dec eax
adc edi, ecx
inc ebp
or eax, ebp
inc ebp
mov esi, esp
dec esp
adc esp, edi
inc ecx
jmp esp
mov word [edx + ebp - 0x532a8da0], cx
mov dword [esp + edx - 0x532a8da0], edi
ret 4
push eax
xor ebx, ecx
and eax, 0x3e18cdb9
ror eax, 0x28
pop eax
adc edi, ecx
or edx, edi
jmp edx
ror edx, 1
jmp 0x28983b8
ja 0x1c17102
mov eax, edx
sub edi, 4
jmp 0x1c14767
mov dword [ebp - 4], eax
test ebx, ebx
call 0x287179a
mov ecx, 0xa30be18f
not ecx
movzx edx, cx
mov eax, dword [ebp + edx*2 - 0x3ce0]
add cx, cx
bt edx, edx
shr edx, 4
lea ebp, [ebp + edx*2 - 0x3ca]
adc dl, dl
btr cx, dx
shr edx, 0xeb
xor eax, ebx
btc ecx, 0xb
shr dl, 2
sal dx, 0xc4
bswap eax
bts ecx, ecx
rol edx, cl
lea eax, [eax + edx + 0x71076e9b]
call fcn.0288231c
mov dword [ebp + ecx*4], edx
push eax
je 0x18f303f
mov edx, 0x12a63603
mov edx, dword [edi + edx*4 - 0x4a98d80c]
mov eax, 0x9b91a591
movsx ecx, ax
mov eax, dword [edi + 4]
sal cl, 0x81
neg ecx
mov ecx, dword [edi + ecx - 0x5ad6]
push 0xabb8b911
push 0xe48c069d
adc edi, 3
sal dword [esp + 2], 0x41
neg byte [esp + 2]
div ecx
mov ecx, 0x5f0aec24
mov dword [edi + ecx - 0x5f0aec24], edx
mov dword [ecx + edi - 0x5f0aec20], eax
lea edx, [ecx + ecx*2 - 0x335dbe70]
push edx
ror word [esp + ecx - 0x5f0aec1f], 0x23
lea ebp, [ebp + ecx - 0x5f0aec28]
mov edx, dword [ebp + ecx - 0x5f0aec24]
mov word [esp + ecx - 0x5f0aec1a], cx
dec cx
xor edx, ebx
lea eax, [ecx + ecx*4 + 0xf1a1e2a]
rol edx, 1
call fcn.01adec63
mov eax, dword [edi]
add edi, 4
jmp 0x1b62994
imul dword [esp + ecx]
pop eax
jo fcn.019c40f4
push ebx
or dx, dx
cpuid
call fcn.01a5ca60
inc ecx
mov edx, 0x261a0013
dec edi
lea ebx, [ebx + edx*2 - 0x4c34002a]
inc ecx
movzx ebp, dx
dec ecx
lea ecx, [edx + ebp + 0x6511d81d]
inc edi
mov esp, dword [ebx + edx - 0x261a0013]
push ecx
inc ebp
movzx edi, dx
dec eax
lea ebx, [ecx*8 + 0x4e927799]
inc ebp
xor esp, ecx
inc ecx
sal bh, 0x87
dec edx
ror dword [esp + edi*2 - 0x100], cl
inc ecx
mov ebp, 0xc5812a17
inc ecx
not esp
inc ecx
neg edx
add bl, 0xa7
dec esp
lea esi, [ebp - 0x7bfed149]
inc ecx
inc esp
shl dword [esp + ebp*2 - 0x26], 0x49
inc ecx
ror esp, 1
inc ecx
dec esp
inc ecx
rol esp, 1
inc esp
movsx eax, ch
dec esp
mov dword [esp + ebp - 0x13], ecx
inc ebp
and edx, edi
inc esi
xor dword [esp + edx*2 - 0x100], esp
inc esp
btc ecx, edx
inc ecx
setae al
dec ecx
inc ecx
pop ecx
inc ecx
movzx edx, al
dec ebp
arpl sp, sp
inc bp
xadd eax, edx
inc ecx
rol edx, 0xf8
dec ecx
adc edi, esp
call fcn.017b6903
mov eax, 0xc101d5a8
mov ecx, dword [ebp]
cwde
mov edx, dword [ebp + 4]
push eax
add ebp, 4
or dword [esp], eax
adc ecx, edx
inc al
xadd word [esp + 2], ax
mov dword [ebp], ecx
ja 0x1ad9e93
lea edx, [eax + eax*8 + 0x6c8ff1bc]
bswap edx
sbb esi, 3
xor eax, eax
pop eax
mov edx, dword [esi]
mov ecx, eax
xadd eax, ecx
sal eax, 0xb9
xor edx, ebx
bts ecx, 0x83
sar ecx, 0xc
not edx
bswap edx
jp 0x18828d3
syscall
inc ecx
push esi
dec eax
mov dword [esp], 0x5447fd40
call fcn.0193102c
fldenv [ebx - 0x5d]
and esp, dword [ecx + ebp*2 + 0x73]
lodsd eax, dword [esi]
mov dword [0x1ef43905], eax
stosb byte es:[edi], al
invalid
mov edx, dword [edi]
mov ecx, 0x5f8f618a
lea edi, [edi + ecx - 0x5f8f6186]
xor edx, ebx
lea ecx, [ecx - 0x6c669ce4]
btr ecx, ecx
mov eax, 0x169c2214
neg edx
inc edx
bts ecx, eax
bswap edx
rol eax, 0xe6
sal ecx, 0x89
bswap eax
rol edx, 1
not edx
xor ebx, edx
bts ax, 0x86
adc ax, cx
adc ebp, edx
and al, cl
mov edx, eax
btr ax, cx
mov edx, dword [esi + ecx - 0x71894c00]
sal al, 0x61
or cl, 0xb2
bswap eax
lea esi, [ecx + esi - 0x71894cae]
ja 0x17585c8
mov eax, dword [ebp + eax*2 - 0x9c18]
call eax
mov edx, 0x7611c491
lea edi, [edx + edx*4 + 0x3b8932f]
or edx, edi
mov ebp, dword [edi + ebp - 0x52116a08]
movsx ebx, di
mov ecx, 0xc01a7b1e
mov dword [ebp + edx - 0x7611ee95], eax
push ecx
mov ebx, dword [esp + edx - 0x7611ee91]
mov dword [esp + edi - 0x52116a00], 0x618fb092
mov edi, dword [esp + edi - 0x521169fc]
mov esi, dword [esp + edx - 0x7611ee89]
mov dword [esp + edx - 0x7611ee8d], edx
btr ecx, edx
mov dword [esp + edx - 0x7611ee95], edi
ret 0xc
jne 0x16f77be
mov eax, 0x1b124e0c
cwde
jmp 0x191ebf6
adc eax, edx
push 0x89bb20a9
sar dword [esp], 0x59
jb 0x18e2600
scasb al, byte es:[edi]
xchg byte [edx - 0x28120fb2], ch
jbe 0x1a56eca
mov al, 5
std
in al, dx
jg 0x1a56f38
call [eax - 0x43]
xchg byte [eax - 0xd86653], bl
xor eax, 0xb1174e50
pop eax
mov ebp, 0x99ad9886
daa
push dword [0xb1174e50]
mov al, 0
idiv byte [ecx - 0x7a]
out dx, eax
dec eax
cmp al, 0x6a
add dl, al
push eax
dec ebx
cmp esp, ecx
movsd dword es:[edi], dword [esi]
sbb byte [esi], 0x85
stc
invalid
push eax
jge 0x18b2675
bts ax, dx
xchg dh, dl
rol ecx, 2
xor ecx, 0x29511b1
ror ecx, 2
jmp 0x186d233
pop edx
pop eax
jmp fcn.017d1626
add edx, 0x9e834413
neg edx
lea edx, [edx*8 + 0x3e1b209d]
mov edx, dword [esp + 0x10]
jae 0x1b11e07
jle 0x1b11e03
je 0x17e1d2e
push dword [esp + 0x18]
popfd
lea esp, [esp + 0x1c]
call fcn.017fe7f7
dec eax
mov dword [esp + ebx - 0xfc8b], edi
ret 8
mov eax, dword [edi]
push edx
movzx ecx, word [esp]
xor eax, ebx
xchg dword [esp + ecx*2 - 0x5376], edx
not edx
not eax
add word [esp + edx - 0x1e44d643], cx
ror word [esp + edx*4 - 0x7913590e], 0xa8
setp byte [esp + edx*4 - 0x79135910]
lea eax, [eax + edx + 0x5a5abbc3]
not edx
or dword [esp + ecx*4 - 0xa6ec], edx
sar edx, cl
bswap eax
xadd word [esp + ecx - 0x29bb], dx
rol eax, 1
not eax
push ecx
push ecx
shr cl, 0xe1
xor ebx, eax
sar dl, 0x24
sar edx, 7
add ebp, eax
movsx eax, cx
shr dword [esp + ecx*2 - 0x52b8], 0xea
dec dword [esp + ecx - 0x2958]
mov si, word [esi + ecx*8 - 0x14ae8]
pop eax
pop edx
pop edx
js fcn.01b4cd91
sub edi, 4
mov edx, dword [edi]
mov ecx, 0x63161922
xor edx, ebx
rol edx, cl
dec edx
sub cx, cx
rol edx, 2
btc ecx, 0xa
movzx eax, cx
adc cx, 0xb424
inc edx
idiv cl
btr ecx, 0x21
xor ebx, edx
and al, cl
sbb ecx, 0xfdb47e09
add ebp, edx
movzx edx, cl
or dx, dx
mov eax, dword [esi + eax*2 - 0x2008]
call fcn.019c9fb0
jp 0x170a2b3
jno 0x1a5ca3b
jmp 0x1903051
add edx, 0x12133980
btc eax, eax
bswap edx
bts ecx, eax
setae cl
or ax, ax
sbb edx, 0xb6989e1b
xor eax, 0x2916442a
sal ecx, cl
xor ebx, edx
shl ax, cl
add edi, edx
or cx, ax
div al
jmp edi