Function at 0x1021c5aa
Capabilities:
Encode data using base64
Execute anti-debugging instructions

Disassembly:
call fcn.102545bc
mov ecx, 0xde8464be
inc cx
mov edx, dword [edi]
mov cl, byte [edi + 4]
jg 0x101ac300
rol dl, 1
not dl
lea eax, [eax*4 + 0x883f99e]
imul ecx, dword [esp + ecx*8 - 0x279a0]
pop eax
xor dl, 0x86
not dl
bswap ecx
jmp 0x102a88a1
mov eax, 0xb9165e06
lea eax, [eax + eax*8 - 0x6d6dc1ea]
jmp 0x100a1095
mov eax, dword [ebp + eax*4 - 0x516e3130]
call eax
mov esi, 0x5d287c39
mov ebp, dword [esi + ebp - 0x5d287c3d]
mov dword [ebp + esi - 0x5d287c39], eax
movzx eax, si
pop ebx
pop edi
lea edx, [eax + esi*2 + 0x8b17132]
lea edx, [eax + esi*4 + 0x619c161f]
pop esi
neg dx
setnp al
jmp edi
mov byte [edx + eax - 0x50389de0], cl
sub ax, 0x3219
shr ax, 0x8e
mov edx, dword [eax + ebp - 0x50380001]
lea ebp, [ebp + eax - 0x5037fffd]
lea ecx, [eax*8 + 0x73b44681]
xor edx, ebx
jmp 0x101cbeae
dec esp
mov ecx, dword [esp + 8]
inc ecx
sar al, 0x86
dec ebp
arpl si, si
inc esp
movzx ebx, dh
dec ecx
add ebx, esi
dec esi
mov dword [esp + ebx*2 - 0x1da], esp
inc ecx
movsx eax, bl
inc ecx
not eax
inc bx
movzx ecx, byte [edi + eax - 0x25f0201]
call fcn.100c7dc9
lea ecx, [ecx + eax - 0x5b413df5]
adc dword [esp], edx
bswap ecx
xor ecx, 0xf6a98a98
call fcn.1018ef60
inc ebp
xor eax, ecx
dec esi
lea esi, [ebp*8 - 0x706a4776]
dec ecx
xor edx, 0x713bee11
cdq
inc ecx
ror eax, 2
call fcn.10173f61
mov ecx, 0xba28cc8e
mov ecx, dword [esi]
mov eax, 0xf69b83a0
sub ax, ax
mov eax, dword [esi + 4]
jp 0x101e623a
dec esp
mov ecx, dword [esp + eax - 0x2997e5a7]
dec ebp
arpl ax, ax
inc cx
xchg esi, ecx
mov edx, eax
dec ecx
add ebx, eax
dec esp
mov dword [esp + eax - 0x2997e5a7], ebx
rol edi, 0x83
dec eax
mov dword [esp + eax*2 - 0x532fcb6e], ebx
ret 0x10
mov ecx, 0x6970764e
xchg byte [ebx - 0x2b15cd6c], al
cmp ebp, ecx
test al, 0
push edx
call 0xee726636
out dx, eax
invalid
jns 0x101ac2a6
sbb eax, ecx
out dx, eax
imul ebp, dword [esi + 0xbbc77ea], 0x7b9adec3
or eax, dword [edx]
adc byte es:[edx], al
mov dl, 0xb2
or ebx, dword [edx + 0x1e]
das
jno 0x101ac210
add byte [eax - 0x58], 0x96
add eax, 0xd16a88c6
xor al, 0xa4
aad 0x7c
pushfd
mov eax, dword [0x2e1024f4]
dec esp
cld
cmp bh, byte [edi - 0x55]
stosb byte es:[edi], al
das
jmp 0xbd56c860
in eax, dx
jp 0x101ac274
inc edi
sub al, 0x7b
jge 0x101ac2bd
jae 0x101ac2b1
in eax, 0x21
cmp ebp, ebp
and dword [ebx], edi
in eax, dx
out dx, eax
fistp qword [ebp + 0x7a]
cdq
mov ebp, 0x5204427
jl 0x101ac2fe
shl dword [ecx - 0x4e], cl
cmpsd dword [esi], dword es:[edi]
and byte [eax], 5
jl 0x101ac316
mov eax, 0x8da7dfd1
or dl, ah
loopne 0x101ac238
loop 0x101ac293
test byte [edx], dl
dec esp
shl ah, cl
adc cl, byte [edx + edx*8 - 0x1c]
int3
jmp 0x6c881bf5
push esi
jge 0x101ac288
mov dh, 0xe3
xor edx, dword [esi + 0x7d]
fcmovnu st(0), st(6)
adc esi, dword [ebx]
push esi
jge 0x101ac353
or byte [0x448984e3], bh
and eax, 0xe9db85fc
sub al, 0x75
in eax, dx
invalid
mov eax, 0x8d0124b4
add al, al
adc edi, 5
or al, ah
lea eax, [eax*2 + 0x36365508]
jg 0x100df0cf
mov edx, 0x1728401b
call fcn.100ed634
jnp 0x101ac2e2
in al, 0xef
inc esi
imul esp, dword [ebp - 0x2a], 0x496ef1bc
salc
mov esp, 0x655196f9
salc
mov esp, 0x507956e5
popfd
js 0x101ac34b
clc
shl dword [ebp - 0x232bfb7c], 1
sbb al, 0xf9
stc
cld
add dh, byte [edi + 0x7d]
mov dl, 0xd
push 0xffffffffffffffa1
or al, 4
cli
add esi, ecx
mov eax, dword [0x3fa040c]
int1
add byte cs:[esp + edi*2 + 0x32], dh
push 0x59
xchg esi, eax
inc esp
or eax, 0x18f112d4
xor dl, byte [0x5112b2d7]
loop 0x101ac3d6
xchg byte [esi], bl
dec esi
hlt
xor al, 0xb0
or al, 0x23
retf 0x10f5
jb 0x1011f1c0
or esi, esi
inc esp
xor dword [esp + 8], esi
inc esp
mov dword [esp + 3], esp
jmp 0x1011d43b
imul ecx
mov dword [esi], edx
mov dword [esi + 4], eax
mov edx, 0xe290d0c
mov ecx, dword [edx + edi - 0xe290d0c]
lea edi, [edx + edi - 0xe290d08]
xor dl, dh
mov eax, 0x309d9a32
xor ecx, ebx
push eax
not ecx
shr dword [esp + edx - 0xe290d01], 0xbc
sal al, 0x85
sbb ax, ax
neg ecx
dec dl
dec ecx
bswap edx
push eax
xadd edx, eax
neg ecx
lea ecx, [ecx + edx*2 + 0x6b2f5d1c]
add al, byte [esp + edx - 0x30aa2908]
ror ecx, 2
inc al
sub ax, 0xb6b2
xor ebx, ecx
add ebp, ecx
xchg byte [esp + edx - 0x30aa2909], dl
lea ecx, [eax + eax*4 - 0x7ec414f0]
mov dword [esp + edx*2 - 0x61545200], ebp
ret 4
call fcn.1008069d
mov ecx, 0x9f17328a
movsx eax, cx
mov edx, dword [edi + eax*8 - 0x19450]
ror ecx, cl
lea edi, [eax + edi - 0x3286]
bts ecx, ecx
ror cx, 0xa1
xor edx, ebx
sar eax, 0x1e
shl ecx, cl
push ecx
bswap edx
not edx
mov dword [esp + eax*2], ecx
ror cl, 1
inc edx
dec dword [esp + eax*2]
shr word [esp + eax + 1], 0x4c
rol edx, 3
xor ebx, edx
pop ecx
and eax, ecx
jae 0x102408b9
test ebx, ebx
push 0x3fbef89f
push 0x1b826936
lea esp, [esp + 0x10]
je 0x100956b2
mov eax, 0xf00ce593
bt ax, ax
btr eax, eax
mov eax, dword [ebp + ebx*4]
push eax
jb 0x101dcc3c
mov edx, 0xe2163b1a
movzx ecx, byte [edi]
add edi, 1
xor cl, bl
btr dx, 0x39
sal dx, 0x84
xor cl, 0x10
or dx, dx
lea edx, [edx + edx*8 - 0x5bd086f8]
btr edx, edx
dec cl
dec edx
btr edx, 0x86
mov eax, 0xfb1b70a3
rol cl, 1
rol edx, 0x31
adc edx, 0x7c8fcf34
mul eax
adc cl, 5
shr edx, 0xa2
inc edx
xor bl, cl
lea edx, [eax*8 + 0x3a0c3016]
jmp 0x102296f7
mul eax
add ecx, esp
ror al, 0x67
xor ax, 0xecac
mov eax, dword [ecx + edx - 0x57d275ff]
dec dx
lea ebp, [edx + ebp - 0x57d27602]
shl dl, 0x23
lea edx, [edx*8 + 0x2c92bc33]
mov dword [ebp], eax
movsx eax, dl
movzx ecx, dl
neg dx
mov ecx, dword [edi + ecx*2 - 0x166]
adc edi, 3
shr dl, 0xc4
sbb dx, ax
shl eax, 0x3b
xor ecx, ebx
push edx
dec eax
dec ecx
cdq
xor ecx, edx
or word [esp], ax
ja 0x1017a06a
add byte [eax], al
adc esi, edx
add eax, dword [ebp + eax*4]
movsx edx, cl
push edx
not cx
mov ecx, dword [edx + ebp - 0x7b]
sub dx, dx
sets dl
dec edx
mov dword [esp], ebx
lea ebx, [edx + edx + 0x4db85602]
cpuid
jne 0x10088879
fcom qword [ebx]
sahf
mul dword [ebx]
inc edi
sub al, 0x94
div bh
mov esi, dword [ebx]
add byte [esi + esi*8 + 0x483ba7f7], dl
xchg esp, eax
div bh
call [edi - 0x5a7d4ba0]
jae 0x102408b7
int3
xor bl, dl
xor cl, cl
adc edx, esp
call fcn.10201f97
mov ecx, 0xfc2c788a
mov ecx, dword [edi]
mov edx, 0x95b36abd
add edi, 4
mov eax, edx
dec dl
inc dx
xor ecx, ebx
lea edx, [edx + eax*2 - 0x5ff0806b]
sal al, 0xa1
sar al, 0xe3
lea ecx, [ecx + edx - 0x4885d738]
xor al, 6
and ax, dx
xor ecx, 0x5909579b
xadd dl, dh
bt edx, eax
add dl, ah
sbb ecx, 0xf43b870d
call fcn.101d0ccb
ja 0x10196b63
ror dx, 1
ror dword [esp + eax*2 - 0x1a211], 0x77
dec dx
xor bx, dx
bts ecx, 0x19
sar dword [esp + eax*8 - 0x68844], 0xc1
adc ecx, ecx
lea ebp, [eax + ebp - 0xd10b]
lea eax, [ecx + ecx*4 - 0x46ea4b50]
mov word [ebp + ecx - 0x6767be9b], dx
sub dword [esp + ecx - 0x6767be97], ecx
movzx edx, cx
ror ecx, cl
pop edx
pop edx
js fcn.1009dcc4