Function at 0x1401b9dc0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, r9
mov rdi, rdx
mov eax, r8d
and eax, 0xf
cmp eax, 4
jbe 0x1401b9e04
cmp eax, 5
jne 0x1401b9e26
cmp qword [0x140790528], 0
je 0x1401b9e83
test r8d, 0x800
jne 0x1401ba11d
jmp 0x1401ba157
cmp eax, 2
jae 0x1401b9e4c
test eax, eax
je 0x1401b9ea1
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, 7
jbe 0x1401b9e67
cmp eax, 8
jne 0x1401b9f4a
mov rdx, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_GetProcAddress]
je 0x1401b9eb1
cmp eax, 4
jne 0x1401b9f19
mov rcx, rdi
call fcn.1400f3c50
movzx eax, al
jmp 0x1401ba4d7
je 0x1401ba12d
mov rdx, rdi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.1402944a0
movzx eax, byte [0x140729ee9]
cmp al, 0xee
jne 0x1401b9f6a
test r8b, 0x20
jne 0x1401b9fb2
jmp 0x1401ba28a
cmp qword [0x140790530], 0
jne 0x1401ba405
jmp 0x1401b9f05
mov ebp, r8d
mov ebx, dword [0x140729f60]
mov r9, rbx
xor r9, 0x1e263a4
mov r14, rcx
mov r8d, 0xa65138c1
call fcn.1401b9dc0
test rax, rax
je 0x1401ba185
xor ebx, 0x5c08adba
mov rcx, rax
mov rdx, rbx
mov r8d, 0xfd2fce58
mov r9, rsi
call fcn.1401b9dc0
mov r8d, ebp
test r8b, 0x10
mov rcx, r14
jne 0x1401ba4d7
movzx eax, byte [0x140729f07]
cmp al, 0x89
je 0x1401ba28a
jmp 0x1401ba312
cmp qword [0x140790520], 0
jne 0x1401ba4cd
movzx eax, byte [0x140729ec9]
cmp al, 0x22
jne 0x1401b9ff9
mov al, 0x22
test r8d, 0x100
jne 0x1401ba2c3
jmp 0x1401ba138
cmp qword [0x140790518], 0
je 0x1401b9fe5
mov rbx, rcx
test r8b, 0x20
je 0x1401ba345
jmp 0x1401ba4d7
mov dl, 0x4f
nop dword [rax]
mov al, 0x92
lock cmpxchg byte [0x140729ee9], dl
je 0x1401b9f8b
cmp al, 0xee
jne 0x1401b9f70
test r8b, 0x40
jne 0x1401b9fb2
jmp 0x1401ba1d2
movq xmm0, qword [0x140729ee0]
paddb xmm0, xmmword [0x1405ee410]
movq qword [0x140729ee0], xmm0
add byte [0x140729ee8], 0x78
mov al, 0xee
xchg byte [0x140729ee9], al
movzx eax, byte [0x140729efd]
cmp al, 0x70
je 0x1401ba0f4
mov dl, 0x67
nop word cs:[rax + rax]
mov al, 0xf2
lock cmpxchg byte [0x140729efd], dl
je 0x1401ba026
cmp al, 0x70
jne 0x1401b9fd0
jmp 0x1401ba0f4
movzx eax, byte [0x140729ea9]
cmp al, 0xc3
je 0x1401ba1b1
jmp 0x1401ba149
mov dl, 0x93
mov al, 0xc1
lock cmpxchg byte [0x140729ec9], dl
je 0x1401ba0cf
cmp al, 0x22
je 0x1401ba2c3
test r8b, 0x40
jne 0x1401b9ffb
mov ebp, r8d
mov r14, rcx
mov ebx, esi
jmp 0x1401b9edb
lea rbx, [0x1405ee5a0]
lea r14, [rbx + 0x506e3b66]
add rbx, 0x506e3b65
mov r9d, 0x506e3b66
mov r10d, 0x506e3b65
movabs r15, 0x4ec4ec4ec4ec4ec5
lea r12, [0x140729ef0]
nop dword [rax + rax]
mov rax, r9
mul r15
mov r11, rdx
mov rax, r10
mul r15
shr rdx, 2
imul rax, rdx, 0xfffffffffffffff3
movzx edx, byte [r9 + r12 - 0x506e3b66]
xor dl, byte [rbx + rax]
xor dl, 0xc7
mov byte [r9 + r12 - 0x506e3b66], dl
cmp r9, 0x506e3b72
je 0x1401ba0ec
test r8b, 0x10
je 0x1401ba0cf
shr r11, 2
imul rax, r11, 0xfffffffffffffff3
movzx edx, byte [r9 + r12 - 0x506e3b65]
xor dl, byte [r14 + rax]
xor dl, 0xc7
mov byte [r9 + r12 - 0x506e3b65], dl
add r14, 2
add r9, 2
add rbx, 2
add r10, 2
jmp 0x1401ba060
movabs rax, 0x81931802d3df48e4
xor qword [0x140729ec0], rax
xor byte [0x140729ec8], 0xa5
jmp 0x1401ba2b2
mov al, 0x70
xchg byte [0x140729efd], al
lea rax, [0x140729ee0]
lea r9, [0x140729ef0]
mov rdi, rcx
mov rcx, rax
mov r8d, 0xb5478932
call fcn.1401b9dc0
mov rcx, rdi
mov qword [0x140790528], rax
mov rdx, rsi
call qword [0x140790528]
mov eax, eax
jmp 0x1401ba4d7
mov rcx, rdi
mov rdx, rsi
call fcn.1405c502c
cmp al, 0xc3
je 0x1401ba1b1
test r8d, 0x1000
je 0x1401ba4ad
mov dl, 0xae
mov al, 0x6c
lock cmpxchg byte [0x140729ea9], dl
jne 0x1401ba138
movq xmm0, qword [0x140729ea0]
paddb xmm0, xmmword [0x1405ee420]
movq qword [0x140729ea0], xmm0
add byte [0x140729ea8], 0x6f
test r8b, r8b
jns 0x1401ba185
mov al, 0xc3
xchg byte [0x140729ea9], al
jmp 0x1401ba1b1
xor eax, eax
jmp 0x1401ba4d7
mov al, 0xa0
lock cmpxchg byte [0x140729f07], dl
je 0x1401ba255
cmp al, 0x89
je 0x1401ba28a
test r8d, 0x400
jne 0x1401ba190
movzx eax, byte [0x140729ebd]
cmp al, 0x86
je 0x1401ba322
mov dl, 0xae
mov al, 0x5b
lock cmpxchg byte [0x140729ebd], dl
jne 0x1401ba301
mov eax, 1
mov edx, 0x31cde442
mov r8d, 0xce321bca
mov r9d, 0x31cde443
mov r10d, 0x92492493
lea r11, [0x140729eb0]
lea rbx, [0x1405ee580]
nop dword [rax]
mov r14d, r8d
shr r14d, 1
imul r14, r10
shr r14, 0x22
lea ebp, [r14 + r14]
shl r14d, 4
sub r14d, ebp
lea r15d, [r9 + r14]
movzx ebp, byte [r15 + rbx]
xor bpl, 0x59
add byte [rax + r11 - 1], bpl
cmp rax, 0xd
je 0x1401ba29a
add r14d, edx
mov r14d, r14d
movzx ebp, byte [r14 + rbx]
xor bpl, 0x59
add byte [rax + r11], bpl
add rax, 2
add edx, 0xfffffffe
add r8d, 2
add r9d, 0xfffffffe
jmp 0x1401ba200
movdqa xmm0, xmmword [0x140729f00]
paddb xmm0, xmmword [0x1405ee430]
movd dword [0x140729f00], xmm0
add byte [0x140729f04], 0x22
add byte [0x140729f05], 0xdc
add byte [0x140729f06], 0x3f
mov al, 0x89
xchg byte [0x140729f07], al
movzx eax, byte [0x140729f1f]
cmp al, 0x51
jne 0x1401ba2a4
jmp 0x1401ba3e5
mov al, 0x86
xchg byte [0x140729ebd], al
jmp 0x1401ba322
mov dl, 0x1a
mov al, 0x8c
lock cmpxchg byte [0x140729f1f], dl
jne 0x1401ba2f9
test r8b, r8b
js 0x1401ba359
mov al, 0x22
xchg byte [0x140729ec9], al
movzx eax, byte [0x140729edd]
cmp al, 0xca
je 0x1401ba13c
mov cl, 3
nop word cs:[rax + rax]
mov al, 6
lock cmpxchg byte [0x140729edd], cl
je 0x1401ba417
cmp al, 0xca
jne 0x1401ba2e0
jmp 0x1401ba4ad
cmp al, 0x51
je 0x1401ba3e5
test r8d, 0x200
je 0x1401ba2a4
cmp al, 0x86
jne 0x1401ba1c0
test r8d, 0x2000
jne 0x1401ba322
mov dl, 0xae
jmp 0x1401ba190
mov rbx, rcx
lea rcx, [0x140729ea0]
lea r9, [0x140729eb0]
mov r8d, 0xb5478932
call fcn.1401b9dc0
mov qword [0x140790518], rax
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call qword [0x140790518]
jmp 0x1401ba4d7
mov ecx, 0x8ed9b6ef
add rcx, 0x4d31605f
xor r8d, r8d
movabs r9, 0x4924924924924925
lea r10, [0x1405ee5b0]
mov r11d, 0xdc0b174f
lea rbx, [0x140729f10]
mov r14d, 0xdc0b174e
nop dword [rax]
mov rax, rcx
shr rax, 1
mul r9
shr rdx, 1
imul rax, rdx, 0xfffffffffffffff2
add rax, r10
lea rdx, [rax + r8]
movzx ebp, byte [r8 + rbx]
xor bpl, byte [r14 + rdx]
xor bpl, 0x76
mov byte [r8 + rbx], bpl
cmp r8, 0xe
je 0x1401ba3dd
add rax, r11
movzx edx, byte [r8 + rbx + 1]
xor dl, byte [rax + r8]
xor dl, 0x76
mov byte [r8 + rbx + 1], dl
add r8, 2
add rcx, 2
jmp 0x1401ba390
mov al, 0x51
xchg byte [0x140729f1f], al
lea rcx, [0x140729f00]
lea r9, [0x140729f10]
mov r8d, 0xb5478932
call fcn.1401b9dc0
mov qword [0x140790530], rax
mov rcx, rdi
mov edx, esi
call qword [0x140790530]
mov eax, eax
jmp 0x1401ba4d7
mov ecx, 0x8ed9b6ef
lea r8, [rcx + 1]
xor r10d, r10d
movabs r11, 0x4ec4ec4ec4ec4ec5
lea rax, [0x1405ee590]
mov edi, 0x8ed9b6ea
add rdi, rax
lea rbx, [0x140729ed0]
nop word cs:[rax + rax]
mov rax, r8
mul r11
mov r9, rdx
mov rax, rcx
mul r11
shr rdx, 2
imul rax, rdx, 0xfffffffffffffff3
add rax, rdi
movzx eax, byte [r10 + rax + 5]
xor al, 0x3d
add byte [r10 + rbx], al
cmp r10, 0xc
je 0x1401ba4a5
shr r9, 2
imul rax, r9, 0xfffffffffffffff3
add rax, rdi
add rax, 6
movzx eax, byte [rax + r10]
xor al, 0x3d
add byte [r10 + rbx + 1], al
add r10, 2
add r8, 2
add rcx, 2
jmp 0x1401ba450
mov al, 0xca
xchg byte [0x140729edd], al
lea rcx, [0x140729ec0]
lea r9, [0x140729ed0]
mov r8d, 0xb5478932
call fcn.1401b9dc0
mov qword [0x140790520], rax
mov ecx, esi
call qword [0x140790520]
xor eax, eax
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret