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

Disassembly:
pop rsi
bt rdx, 0x90
mov eax, edx
movsxd r11, r11d
adc rbp, r11
and rax, r9
movd r8d, xmm2
lea rbx, [rbx + r9*8 - 0x1085556c]
jg 0x14085039b
call fcn.140834074
not ecx
btc di, 0x81
bswap ecx
movzx edx, dil
rol r8b, 0x61
call fcn.14084052d
xor r8, rbp
jmp r8
movsx r9d, cl
lea r10, [r10 + rdx - 0x487c]
movsx edi, dx
sub r11, 0x2baf5b1a
xor eax, esi
dec rdx
dec eax
btc rdi, 0x3f
lea r8, [r9 + rcx*4 + 0x69b4c9ae]
rol eax, 3
jmp 0x140812a00
lea rbx, [rbx + rdx + 0x10]
lea rcx, [r11*8 + 0x5aa62e32]
jae 0x140874287
mov edx, 0xdaf099c
add edx, 0xeda49493
lea r8, [rdx + rdx*2 + 0x1d1a861a]
mov r11, qword [rbx + riz]
movzx edi, dl
sub r8, 0x2018639
mov r8, qword [rbx + rdi - 0x27]
lea rcx, [rdi + rdi*4 + 0x1931efb3]
neg rcx
mov qword ss:[r11 + rdi - 0x2f], r8
sar edx, cl
mov eax, dword [rdi + r10 - 0x2f]
xor eax, esi
lea r11, [rdx + rdi + 0x5bb7e79e]
not eax
lea eax, [rax + rdi*4 + 0x483dbcd2]
neg r11w
xor eax, 0xb6b5e182
dec eax
inc cx
push rsi
xor dword [rsp + rdi*2 - 0x5e], eax
movzx r8d, cl
or r8d, r8d
pop rsi
shl r8d, 0xb5
movsxd rax, eax
lea r9, [r8 + rcx*2 - 0x4774c1c3]
sub dil, 0xb6
add rbp, rax
mov eax, r9d
xor rax, rdx
movzx r8d, byte [rdi + r10 - 0x75]
lea r10, [r10 + rdi*2 - 0xed]
push r9
add ecx, 0xc694c1b5
sub byte [rsp + rdi*8 - 0x3c6], ch
xor r8b, sil
xchg rcx, r9
dec cl
neg r9b
rol r8b, 1
xor dword [rsp + rdi*4 - 0x1e0], edi
dec r8b
mov word [rsp + rax - 0x6c53ba86], ax
sar word [rsp + rdi - 0x76], cl
and dx, word [rsp + rdi*2 - 0xf0]
not r8b
call fcn.1408050e1
add r11w, 0x295
imul dx, di
call fcn.14080cf10
movsx edi, ax
sub rcx, 0x298ef5a8
mov cl, byte [rax + rbx - 0x6dbba0b0]
lea r8, [rdi*8 + 0x317e313]
mul ax
lea rbx, [rbx + rax - 0x6dbbfbc2]
add dl, dh
sal r9b, cl
movsx r11d, ax
mov word [rax + rbx - 0x6dbbfbc4], r9w
cqo
lea r9, [rdi + 0x360fec2e]
jmp 0x14084e843
movzx ecx, ax
call fcn.140872f00
lea r10, [r10 + rax - 0x39f70014]
xor r11b, sil
mov edi, r8d
lea rdx, [r8 + r8*2 - 0x6e69f870]
neg r11b
cwd
add r11b, 0x8e
shl di, 0x8e
or eax, 0x46323200
neg r11b
lea rcx, [rdx*4 - 0x365f9e68]
push rdx
add r11b, 0xb9
add qword [rsp + r8 - 0x5eeb], r8
inc edx
not r11b
xor sil, r11b
imul al
cwd
lea r11, [rsp + r11 + 8]
xchg dh, cl
cwd
mov dword [r11 + rax - 0x7ff701b9], r9d
lea rdi, [rdi + rdx - 0x3d4c9a75]
mov ecx, dword [r8 + r10 - 0x5eeb]
btc di, 0x17
sal qword [rsp + rax - 0x7ff701b9], 0xb0
lea r10, [rax + r10 - 0x7ff701b5]
dec dword [rsp + rax - 0x7ff701b6]
sbb rdi, qword [rsp + rax - 0x7ff701b9]
xor ecx, esi
xchg al, dl
bts di, r8w
neg r8b
not ecx
sbb ecx, 0xaf1ea534
rol rdi, 0xf4
rol ecx, 2
cqo
xadd dil, al
or qword [rsp + r8*8 - 0x2f0a8], r8
sbb ecx, 0xe3b01484
rol edi, 0xf1
imul byte [rsp + rax - 0x7ff701ac]
mov qword [rsp + rax - 0x7ff706b4], rsi
push rdi
cdq
xor dword [rsp + r8*2 - 0xbc27], r8d
xor dword [rsp + rax - 0x7ff706ac], ecx
lea r11, [rdx*4 - 0x7d70215e]
mov rsi, qword [rsp + r8 - 0x5e0d]
cbw
dec r8d
movsxd rcx, ecx
add rbp, rcx
lea rax, [r11*4 + 0x44a94e1d]
mov qword [rsp + r8*2 - 0xbc28], rbp
ret 8
shr r8w, 6
jb 0x140845714
xor edx, esi
not edx
or eax, r9d
call fcn.1407f99e8
mov eax, 0x99083433
movzx r9d, al
mul rax
mov r8w, word [rbx + r9*8 - 0x198]
movzx edi, dx
sbb al, r9b
mov r9w, word [rbx + r9 - 0x31]
movzx r11d, dil
not r8w
not r9w
or edx, edi
movzx ecx, ax
not di
or r8w, r9w
mov word [rbx + rdx*4 + 2], r8w
mov eax, dword [rdx + r10]
call fcn.140825da0
jae 0x1407fe43a
mov edi, dword [r10]
mov r11d, 0x63be7d15
movsx eax, r11b
lea r8, [rax - 0x7cd39dfb]
lea r10, [r10 + r11 - 0x63be7d11]
jmp 0x140808535
bts eax, edx
xor dword [rsp + rdx*2], r11d
sal eax, cl
pop rsi
movsxd r11, r11d
seta dil
add ecx, r9d
or eax, ecx
adc rbp, r11
btc edx, r9d
mov rax, qword [rbx + rdx*2 - 0x2000]
shl rcx, cl
je 0x140857ebe
btr cx, r9w
add cl, byte [rdx + rbx - 0xff8]
add r9, r9
lea rbx, [rbx + r8*8 - 0x7ff2e]
sal edx, 0xbb
xchg edx, r8d
movsx r11d, r8w
shl rax, cl
xor r9d, edx
bts r9w, r8w
mov qword [rbx + r8*8], rax
jae 0x1408704a1
mov r9d, 0x803915a5
mov r11, qword [rbx + riz]
movzx eax, r9b
mov eax, dword [rbx + rax*8 - 0x520]
push r9
call fcn.140852864
shl ax, 0x22
xor dword [rsp + rdx + 8], edi
mov rsi, qword [rsp + r8 - 0xeb]
ror cl, 0xc1
bts r8, 0x81
pop r11
movsxd rdi, edi
mov qword [rsp + r8 - 0xf3], rdx
sar dword [rsp + rdx + 4], 0x64
shr byte [rsp + rdx*4 + 2], 0xe1
adc rbp, rdi
pop rax
jmp fcn.140847ec1
and dl, 0x28
xor r9d, esi
movsx r8d, dil
imul dx, r11w
sbb r9d, 0xbb2e2181
neg r9d
ror rcx, cl
rol edx, 0xc9
movsx eax, r11w
lea r9d, [r9 + rdx + 0x5e9e30b0]
sal ax, 0x2e
neg r9d
sar dil, 0xe7
lea r9d, [r9 + r11*2 + 0x34bee582]
and dil, 0xa3
push rax
mov qword [rsp + r11*2 - 0xeb14], rsi
div cl
xor dword [rsp + r11*4 - 0x1d628], r9d
pop rsi
neg ax
btc r8, 0xb3
mov dword [rbx + r11*2 - 0xeb18], r9d
xchg dil, r11b
push rdi
movzx edx, byte [r10 + r11*2 - 0xe9f8]
shl r8, 0x14
and r8d, ecx
lea r10, [r10 + rdi - 0x4000081]
bswap rcx
xor dl, sil
sar r11, 0xd1
xor dl, 3
btc r8d, r11d
inc dil
not dl
sbb dl, r8b
mov r9d, edi
sar qword [rsp + r11*2], cl
xor dl, 0x23
sar r11, cl
xor sil, dl
not dword [rsp + r11 + 2]
sar r9b, 0x86
lea rdx, [rsp + rdx + 8]
setbe byte [rsp + r11 + 4]
mov cx, word [rdx + r11]
mov word [r11 + rbx - 6], cx
call fcn.140860646
mov rcx, rbx
mov qword [rbx + riz - 8], rcx
push rax
sar word [rsp], 0x2b
mov ecx, dword [r10 + riz]
js 0x140855186
mov ecx, 0x492ec214
movzx eax, cx
push rcx
movzx r8d, word [r10 + rax - 0xc214]
movzx r11d, byte [rsp + rax*2 - 0x18428]
lea rdi, [rcx + r11*2 + 0x4948914]
xor r8w, si
inc r8w
sal qword [rsp + rax*2 - 0x18428], cl
shr dil, 0x83
rol r8w, 1
ror edi, cl
btc rax, 0xb9
lea r9, [r11 + rdi*8 + 0x1491409d]
dec r8w
xadd byte [rsp + rcx - 0x492ec212], dil
and r11, rax
rol r8w, 1
or r9w, di
inc word [rsp + rcx - 0x492ec214]
mov edx, 0x970b7581
xor si, r8w
lea r8, [rsp + r8 + 8]
shr byte [rsp + rcx - 0x492ec20e], 0x27
setnp r11b
movzx dx, byte [r11 + r8]
mov ax, dx
bts r9d, 0x89
bts di, r11w
mov r9w, word [rbx + r11*2]
ror word [rsp + r11], 0xe6
pop rcx
adc ax, r9w
mov word [rbx + r11*4], ax
movsx edx, r11b
movzx r8d, dl
bt edx, 0xb
xor edx, dword [r10 + rdx + 2]
movzx r9d, r8b
lea r10, [r10 + r11*2 + 6]
push r9
push r8
xor edx, esi
lea edx, [r11 + rdx + 0x7806788d]
push rdi
xor edx, 0x229b042b
movzx eax, r11w
pop rax
neg edx
push rcx
inc edx
sub byte [rsp + r11 + 0xe], cl
lea r8, [rdi + rcx - 0x2f77c063]
and word [rsp + r11*4 + 5], 0x889d
neg edx
and ax, 0xd993
bswap edx
xchg byte [rsp + r11*2 + 7], al
rol edx, 1
xor rax, rax
or qword [rsp + r11*4 + 0x10], rsi
shr byte [rsp + r11*2 + 9], 0xe7
sub r8, 0x1eac42bc
btc r11w, r8w
xor dword [rsp + r11*2 + 8], edx
call fcn.14084d120
neg r8d
btc rdx, r9
shl byte [rsp + rcx - 0x5132011a], 0xa1
cmove ax, word [rsp + r11 - 0x5a60bb5a]
inc r8d
sal eax, cl
neg r8d
xchg rdi, rax
ror r9w, 2
rol r8d, 1
inc r8d
ror di, 0xa9
jb 0x14083e813
mov qword [rsp + r9 - 0xc047], rsi
movzx esi, dil
xor dword [rsp + r9 - 0xc047], r8d
inc sil
bt ax, 0x89
pop rsi
movsxd r8, r8d
sal edi, cl
cwde
adc rbp, r8
cwde
mov dx, word [rcx + rbx - 0x51320120]
lea r8, [r9*2 - 0x5d5f4e53]
movzx r8d, word [r10 + rcx - 0x51320119]
and cl, 0x1f
not rax
shl r9w, 0xaa
lea r10, [rcx + r10 - 0x51320117]
xor r8w, si
xor cx, 0x9508
neg r8w
not r8w
cdqe
call fcn.140858955
setnp r8b
inc r11d
sar byte [rsp + rdx*2 - 0x606], 0xa6
cmovbe edi, dword [rsp + rdx - 0x302]
idiv r8d
not r11d
and r9w, 0x84af
dec r11d
rol dword [rsp + rdx*8 - 0x347ba5ae], 0x2f
neg r11d
xchg word [rsp + rdx - 0x68f74b3], r9w
movzx ecx, byte [rsp + rdx*2 - 0xd1ee96b]
not ax
mov qword [rsp + rdx - 0x68f74b6], rsi
xor dword [rsp + rdx - 0x68f74b6], r11d
shl edi, 4
movsx esi, ax
pop rsi
movsxd r11, r11d
and cx, 0x8bb5
adc rbp, r11
jmp fcn.140847ec1
btr r9w, r11w
bswap edx
mov qword [rsp + rax - 0x2d], rsi
xor dword [rsp + rax*8 - 0x168], edx
pop rsi
push rcx
call fcn.140809780
xor eax, esi
neg eax
bswap eax
ror eax, 2
mov r9d, 0xc2bc362c
movsx edi, r9w
lea r8, [r9 + r9 + 0x6aa6a49c]
xor eax, 0x12b0610b
movsx edx, word [rsp + rdi*2 - 0x6c54]
bt r9, 0x8b
movzx ecx, dil
dec eax
mov qword [rsp + rdi - 0x362c], 0xffffffff99b77985
mov qword [rsp + rdi*2 - 0x6c58], rsi
and dl, dh
sal r9w, 0xe8
movsx r11d, dx
xor dword [rsp + rdi - 0x362c], eax
pop rsi
call fcn.1407f6adb
movsx r11d, cx
shr dword [rsp + 1], 0x9f
sbb eax, 0x8002918
ror di, cl
movsx edx, di
push rdx
ror eax, 2
bswap eax
mov qword [rsp + 8], rsi
bswap edi
sal byte [rsp + 2], cl
xor dword [rsp + 8], eax
pop rsi
pop rsi
inc cx
movsx r9d, dil
movsxd rax, eax
cmovs r9d, edi
or r11, rcx
adc rbp, rax
movsx eax, r11b
push rcx
mov r11, qword [rbx + riz]
btr r9, 0x2b
xadd di, r9w
mov r8, qword [rbx + riz + 8]
add edx, 0x69143a81
neg byte [rsp + rdx - 0x6913fa62]
sal ax, cl
add r11, r8
mov byte [rsp + rdx - 0x6913fa62], 0xb1
mov rax, r11
movzx r11d, byte [rsp + rdx - 0x6913fa66]
mov r11w, word [rbx + r11*8 - 8]
lea rbx, [rbx + rdx - 0x6913fa56]
mov word ss:[rax + rdx - 0x6913fa68], r11w
shr cx, cl
movzx r8d, cl
mov qword [rsp + rdx - 0x6913fa68], rbp
ret
dec eax
dec r8b
neg edi
shr r8b, 0xe2
bswap eax
push rsi
xadd rdx, r11
xor dword [rsp + rdx + 0x2baf129a], eax
dec rdi
call fcn.1408415f3
ja 0x140857a3c
xor ecx, esi
rol dword [rsp], 0x9c
xchg word [rsp + 5], r11w
mov word [rsp + 1], r11w
not ecx
movzx r8d, r11b
dec r11w
sub r8d, r8d
lea ecx, [rcx + r8*2 + 0x483dbd8e]
xor ecx, 0xb6b5e182
movzx edx, r11w
rol eax, 0xb9
dec ecx
or r8d, r11d
sal byte [rsp + rdx*2 - 0x1fff9], 0x25
dec r11b
mov qword [rsp + rdx*4 - 0x3fffc], rsi
mov r9d, edx
lea rdi, [r9 + rax*4 - 0x4bf608df]
dec rdi
xor dword [rsp + rdx*4 - 0x3fffc], ecx
neg ax
shr r9b, 0x23
bt r11, 0xba
pop rsi
ror r8w, 0x88
shl r9b, 0x47
or rdx, rdi
movsxd rcx, ecx
adc rbp, rcx
movzx ecx, byte [r10 + r9 - 0xff7c]
sal dl, 0xa1
lea r10, [r9 + r10 - 0xff7b]
xor cl, sil
neg cl
shl dx, 0x8e
adc di, r8w
sbb cl, 0xb6
ror cl, 1
imul r8w
ror dil, 0xe4
adc cl, 0x8d
add di, dx
rol r8, 0xa
ror r11, 0xac
neg cl
xchg dil, r9b
dec cl
shl edx, 0x15
bt dx, r8w
bswap r9d
not cl
xor sil, cl
xchg r11w, ax
add rcx, rsp
or ax, word [rcx + rdx*4]
mov word [rbx + rdx*4 - 0xa], ax
or di, di
xor r9b, r11b
lea rbx, [rbx + rdx*2 - 0xa]
jns fcn.140847ec1
mov dword [rbx + r9*2 - 0x421555a], r8d
setp cl
movsx r8d, r9b
ja fcn.140847ec1
mov r11d, 0x74be7db1
movzx r8d, r11b
mov r11d, dword [r10 + r8*2 - 0x162]
inc r8b
ror r8, 0x84
lea rdi, [r8 + r8*4 + 0x4c2b4eb1]
lea r10, [r10 + r8*8 - 0x54]
lea rdx, [r8 + rdi*4 - 0x74f3dec8]
xor r11d, esi
lea r9, [r8 + rdx*2 + 0x343a509c]
movsx eax, dx
xor r11d, 0xce3b0f9b
inc r8w
neg r11d
not r8w
sal r8b, 0xc1
jle 0x140858bad
mov eax, 0xc73c73a5
cqo
mov r8, qword [rdx + rbx]
bt rax, rax
cqo
mov rax, qword [rdx + rbx + 8]
movsx r11d, dl
jae 0x14081510f
mov eax, 0x6dbba0b2
movsx edx, al
movzx ecx, dx
movzx r9w, byte [rbx + rax - 0x6dbba0b2]
jmp 0x14080186b
xor sil, r8b
lea r8, [rsp + r8 + 0x10]
mov byte [r8 + rax*2], dl
shr r11, 0x9f
add word [rsp + rax + 0xe], ax
or dil, 0x2c
mov ecx, dword [r10 + r11]
inc eax
cqo
lea r10, [rax + r10 + 3]
neg qword [rsp + rax + 7]
neg r9w
xor ecx, esi
xchg r11b, dl
not ecx
neg di
sbb dil, byte [rsp + rax + 0xc]
bswap ecx
bswap edi
or qword [rsp + rax + 7], r11
lea ecx, [rcx + rax - 0x538b6920]
sbb eax, dword [rsp + rax + 6]
neg dx
ror ecx, 2
push rdi
cdq
movsx r8d, word [rsp + rdi - 0x1361a240]
add ecx, edx
mov qword [rsp + r11 + 0x10], rsi
and r11b, r11b
dec word [rsp + r11 + 9]
xor dword [rsp + rdi - 0x1361a23e], ecx
mov rsi, qword [rsp + rdi - 0x1361a23e]
movsxd rcx, ecx
shr rdx, 0x60
add rbp, rcx
lea rcx, [rdi + r8*4 - 0x7e5e1159]
mov qword [rsp + rdi*2 - 0x26c3449c], rbp
ret 0x10
sbb r11d, 0xf987e810
push rdx
not r11d
cqo
rol r11d, 1
sal dx, 0x4e
dec r9w
lea rcx, [rax + rdx - 0x36f0aa42]
mov qword [rsp + r8*8 - 0x7ff30], rsi
cwde
ja 0x140816b47
xor r8d, esi
push 0x758a263f
mov r11d, dword [rsp + 2]
sar qword [rsp + r11*2 - 0xeb14], 0x49
adc r8d, 0xd81da495
bswap r8d
sar word [rsp + r11*8 - 0x3ac4a], 0xa5
mov ecx, 0x87186f86
shr qword [rsp + r11*4 - 0x1d628], 0x63
ror r8d, 2
mov r9d, r11d
not r9w
pop rdi
lea r8d, [rcx + r8 + 0x72f42612]
push rsi
xor dword [rsp + r11*2 - 0xeb14], r8d
pop rsi
lea rdx, [r9 - 0x7d55bafb]
btc edi, edx
movsxd r8, r8d
adc rbp, r8
btc rdx, 0xa0
mov r9d, dword [r10 + r11 - 0x7586]
jb 0x14081d1b5
movzx r8d, byte [r10]
mov ecx, 0x1132011e
mov r11d, ecx
xor r8b, sil
btc r11d, ecx
movzx r9d, cx
sbb r8b, 0x8d
inc r9
sub r11d, ecx
adc rcx, r11
not r8b
lea rax, [r11 + r11*8 + 0x4c8c19b8]
sbb r8b, 0xa
cqo
rol edx, 0x26
sbb r11, 0xffffffffe59f44a2
rol r8b, 1
lea rdi, [rdx*2 + 0x5e80cb3d]
xor sil, r8b
cdq
mov word [rbx + rcx - 0x51320120], r8w
shl dx, 0x22
mov r8d, dword [r10 + r11 - 0x5a60bb5d]
sbb edi, 0xe8850c9e
xor r8d, esi
push rdx
inc r8d
not r8d
ror r8d, 1
cwde
jmp 0x140821e5a
lea rax, [rdi + r8*8 - 0x3462afc9]
mov dword [rbx + rcx*4 - 0x1d830], edx
dec ax
lea rdi, [rdi + rdi*8 - 0x4b7853ce]
and di, word [rsp + rcx - 0x75e1]
lea rbx, [rbx + rcx - 0x760f]
push rdi
pop rdi
pop r11
pop rdi
pop rax
pop rcx
pop r8
pop rdi
jno fcn.140847ec1
mov edx, 0xb4260c19
movsx r9d, dx
movsx ecx, dl
mov r11d, dword [r10 + r9*4 - 0x3064]
mov edi, 0x2109e94
lea r10, [r10 + r9*4 - 0x3060]
and rcx, r9
add r9d, edi
xor r11d, esi
lea r8, [rcx + rdx + 0x7ba103bc]
xor r8b, cl
xadd ecx, r8d
lea r11d, [r11 + r9*2 - 0x73c6804]
ror r11d, 1
sub r11d, 0xe9b1d338
bt rdi, 0x9c
inc r8b
neg r11d
sub r11d, 0xf1364a86
shl r8d, cl
xor r11d, 0x2c3e760d
sub r8, rdi
sbb dx, r8w
dec dil
push rsi
sal edi, cl
xor dword [rsp + r9*4 - 0x842aab4], r11d
movzx esi, r8b
ror r8b, 0x22
jae 0x1407f84e0
jae 0x1407fa106
mov r11d, 0x62a889a
lea rax, [r11 + r11*8 - 0x71766e7f]
mov r9d, dword [rbx + rax + 0x39f7a115]
movsx r8d, ax
lea rbx, [r11 + rbx - 0x62a8896]
cbw
neg rax
movzx r11d, byte [r11 + r10 - 0x62a889a]
jbe 0x14080f647
xor dx, 0x4880
mov qword ss:[r8 + r11*2], rax
inc r11b
setge cl
mov eax, dword [r10 + rdx*4 - 0x12200]
shl cl, 0x26
ja 0x1407facfa