Function at 0x180035dd0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x128]
sub rsp, 0x1f0
mov qword [rbp + 0xa0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov r12b, dl
mov r15, rcx
xor r13d, r13d
test rcx, rcx
je 0x1800367bd
or rdi, 0xffffffffffffffff
lea esi, [rdi + 0x11]
mov r14d, dword [0x180195f94]
test rcx, rcx
jns 0x1800360fd
mov edx, 0x10000000
xor ecx, ecx
lea r8d, [r13 + 4]
call fcn.1800dcefc
mov rbx, rax
test rax, rax
je 0x180036295
xor edx, edx
mov r8d, 0x10000000
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov byte [rbx], 0xaa
lea rax, [rbx + 1]
mov byte [rax], 0x1f
mov edx, 0xffffffd
mov cl, 0x1f
xor cl, byte [rax - 1]
inc rax
mov byte [rax], cl
sub rdx, 1
jne 0x180035e62
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + r14*8]
mov ecx, dword [rcx + rax]
cmp dword [0x18019bd90], ecx
jle 0x180036082
lea rcx, [0x18019bd90]
call fcn.180157af0
cmp dword [0x18019bd90], edi
jne 0x180036082
lea rax, [rbp + 0x60]
mov qword [rbp + 0x130], rax
mov dword [rsp + 0x68], 0x65
mov byte [rsp + 0x6c], 0x33
mov byte [rsp + 0x6d], 0xc
mov byte [rsp + 0x6e], 0x17
mov byte [rsp + 0x6f], 0x11
mov byte [rsp + 0x70], sil
mov byte [rsp + 0x71], 4
mov byte [rsp + 0x72], 9
mov byte [rsp + 0x73], 0x23
mov byte [rsp + 0x74], 0x17
mov byte [rsp + 0x75], r13b
mov byte [rsp + 0x76], r13b
mov byte [rsp + 0x77], 0x20
mov byte [rsp + 0x78], 0x1d
xor eax, eax
mov byte [rsp + 0x79], al
mov al, byte [rsp + 0x6c]
mov rdx, r13
mov al, byte [rsp + rdx + 0x6c]
mov ecx, dword [rsp + 0x68]
xor cl, al
mov byte [rsp + rdx + 0x6c], cl
inc rdx
cmp rdx, 0xd
jb 0x180035f0a
mov byte [rsp + 0x79], r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r13
mov qword [rbp + 0x78], r13
lea rax, [rsp + 0x6c]
mov r8, rdi
inc r8
cmp byte [rax + r8], r13b
jne 0x180035f3d
lea rdx, [rsp + 0x6c]
lea rcx, [rbp + 0x60]
call fcn.18000c7ac
nop
mov byte [rsp + 0x54], 0x72
mov byte [rsp + 0x55], 0x6c
mov byte [rsp + 0x56], 0x79
mov byte [rsp + 0x57], 0x75
mov byte [rsp + 0x58], 0x6c
mov byte [rsp + 0x59], 0x73
mov byte [rsp + 0x5a], 0x3a
mov byte [rsp + 0x5b], 0x39
mov byte [rsp + 0x5c], r13b
mov al, byte [rsp + 0x54]
mov rcx, r13
mov al, byte [rsp + rcx + 0x54]
sub al, 7
mov byte [rsp + rcx + 0x54], al
inc rcx
cmp rcx, 8
jb 0x180035f89
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
lea rax, [rsp + 0x54]
mov r8, rdi
inc r8
cmp byte [rax + r8], r13b
jne 0x180035fb3
lea rdx, [rsp + 0x54]
lea rcx, [rbp + 0x20]
call fcn.18000c7ac
nop
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0xa8]
call fcn.1800ceb58
nop
mov qword [rsp + 0x20], r13
mov r9b, 1
lea r8, [rbp + 0x60]
mov rdx, rax
lea rcx, [0x18019b690]
call fcn.180069974
nop
mov rdx, qword [rbp + 0x38]
cmp rdx, rsi
jb 0x180036035
inc rdx
mov rcx, qword [rbp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036030
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036030
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
movdqa xmm0, xmmword [0x180165930]
movdqu xmmword [rbp + 0x30], xmm0
mov byte [rbp + 0x20], r13b
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x54]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xe]
lea rcx, [rsp + 0x6c]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x180162fc0]
call fcn.1801579fc
nop
lea rcx, [0x18019bd90]
call fcn.180157a84
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rsi, rax
lea rcx, [0x18019b6a0]
cmp qword [0x18019b6b8], 0x10
cmovae rcx, qword [0x18019b6a0]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x1800360e0
lea rcx, [0x18019b6a0]
cmp qword [0x18019b6b8], 0x10
cmovae rcx, qword [0x18019b6a0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18019b698], rax
mov r8, rax
lea rdx, [0x18019b6a0]
call fcn.1800150f8
mov r9d, 0x4000
mov r8d, 0x10000000
mov rdx, rbx
mov rcx, rsi
call qword [0x18019b690]
mov esi, 0x10
bt r15, 0x3d
jae 0x18003642a
mov dword [rbp - 0x80], 0x33221100
mov dword [rbp - 0x7c], 0x77665544
mov dword [rbp - 0x78], 0xbbaa9988
mov dword [rbp - 0x74], 0xffeeddcc
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], r13
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.180031bf8
mov rbx, qword [rbp - 0x10]
mov r8, rsi
lea rdx, [rbp - 0x80]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memmove]
lea rax, [rbx + 0x10]
mov qword [rbp - 8], rax
or qword [rbp - 0x70], 0xffffffffffffffff
or qword [rbp - 0x68], 0xffffffffffffffff
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r13
mov rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.180031bf8
mov rbx, qword [rbp - 0x28]
mov r8, rsi
lea rdx, [rbp - 0x70]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memmove]
lea rax, [rbx + 0x10]
mov qword [rbp - 0x20], rax
mov dword [rbp - 0x60], 0x3020100
mov dword [rbp - 0x5c], 0x7060504
mov dword [rbp - 0x58], 0xb0a0908
mov dword [rbp - 0x54], 0xf0e0d0c
mov dword [rbp - 0x50], 0x13121110
mov dword [rbp - 0x4c], 0x17161514
mov dword [rbp - 0x48], 0x1b1a1918
mov dword [rbp - 0x44], 0x1f1e1d1c
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r13
mov esi, 0x20
mov edx, esi
lea rcx, [rbp - 0x40]
call fcn.180031bf8
mov rbx, qword [rbp - 0x40]
mov r8d, esi
lea rdx, [rbp - 0x60]
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memmove]
lea rax, [rbx + 0x20]
mov qword [rbp - 0x38], rax
mov esi, 0x186a0
test r15d, r15d
je 0x180036217
lea esi, [r15 + r15*4]
shl esi, 2
call fcn.1800cf230
mov rbx, r13
test rsi, rsi
je 0x180036349
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], r13
movabs rax, 0xaaaaaaaaaaaaaaab
mul rbx
shr rdx, 1
lea rax, [rdx + rdx*2]
mov rcx, rbx
sub rcx, rax
jne 0x1800362a7
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
mov r9d, 0x6610
lea r8, [rbp + 8]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.1800201a0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], r13b
mov dword [rsp + 0x20], 1
jmp 0x1800362ef
test r12b, r12b
jne 0x1800362a0
call qword [sym.imp.KERNEL32.dll_GetLastError]
xor eax, eax
jmp 0x1800367c2
cmp rcx, 1
jne 0x180036307
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], cl
mov dword [rsp + 0x20], 2
mov r9d, 0x6610
lea r8, [rbp + 8]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x10]
call fcn.1800201a0
lea rax, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], r13b
mov dword [rsp + 0x20], 2
mov r9d, 0x6610
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 8]
call fcn.1800201a0
nop
mov rcx, qword [rbp + 8]
test rcx, rcx
je 0x18003633d
mov rdx, qword [rbp + 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036338
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180036388
call fcn.180157a14
inc rbx
cmp rbx, rsi
jb 0x180036228
call fcn.1800cf230
nop
mov rcx, qword [rbp - 0x40]
mov ebx, 0x1000
test rcx, rcx
je 0x1800363a0
mov rdx, qword [rbp - 0x30]
sub rdx, rcx
mov rax, rcx
cmp rdx, rbx
jb 0x18003638f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18003638f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.180157a14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r13
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1800363e5
mov rdx, qword [rbp - 0x18]
sub rdx, rcx
mov rax, rcx
cmp rdx, rbx
jb 0x1800363d4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800363d4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r13
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x18003642a
mov rdx, qword [rbp]
sub rdx, rcx
mov rax, rcx
cmp rdx, rbx
jb 0x180036419
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036419
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], r13
test r15d, r15d
je 0x1800367bd
mov rax, qword gs:[0x58]
mov ecx, 4
mov rax, qword [rax + r14*8]
mov ecx, dword [rcx + rax]
cmp dword [0x18019b824], ecx
jle 0x1800366a7
lea rcx, [0x18019b824]
call fcn.180157af0
cmp dword [0x18019b824], edi
jne 0x1800366a7
lea rax, [rbp + 0x80]
mov qword [rbp + 0x130], rax
mov dword [rsp + 0x40], 0x72
mov eax, dword [rsp + 0x40]
xor al, 0x43
mov byte [rsp + 0x44], al
mov eax, dword [rsp + 0x40]
inc al
xor al, 0x72
mov byte [rsp + 0x45], al
mov eax, dword [rsp + 0x40]
add al, 2
xor al, 0x65
mov byte [rsp + 0x46], al
mov eax, dword [rsp + 0x40]
add al, 3
xor al, 0x61
mov byte [rsp + 0x47], al
mov eax, dword [rsp + 0x40]
add al, 4
xor al, 0x74
mov byte [rsp + 0x48], al
mov eax, dword [rsp + 0x40]
add al, 5
xor al, 0x65
mov byte [rsp + 0x49], al
mov eax, dword [rsp + 0x40]
add al, 6
xor al, 0x45
mov byte [rsp + 0x4a], al
mov eax, dword [rsp + 0x40]
add al, 7
xor al, 0x76
mov byte [rsp + 0x4b], al
mov eax, dword [rsp + 0x40]
add al, 8
xor al, 0x65
mov byte [rsp + 0x4c], al
mov eax, dword [rsp + 0x40]
add al, 9
xor al, 0x6e
mov byte [rsp + 0x4d], al
mov eax, dword [rsp + 0x40]
add al, 0xa
xor al, 0x74
mov byte [rsp + 0x4e], al
mov eax, dword [rsp + 0x40]
add al, 0xb
xor al, 0x57
mov byte [rsp + 0x4f], al
xor eax, eax
mov byte [rsp + 0x50], al
mov al, byte [rsp + 0x44]
mov rdx, r13
mov al, byte [rsp + rdx + 0x44]
mov ecx, dword [rsp + 0x40]
add cl, dl
xor cl, al
mov byte [rsp + rdx + 0x44], cl
inc rdx
cmp rdx, 0xc
jb 0x18003651d
mov byte [rsp + 0x50], r13b
xorps xmm0, xmm0
movups xmmword [rbp + 0x80], xmm0
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x98], r13
lea rax, [rsp + 0x44]
mov r8, rdi
inc r8
cmp byte [rax + r8], r13b
jne 0x18003655b
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0x80]
call fcn.18000c7ac
nop
mov byte [rsp + 0x5d], 0x77
mov byte [rsp + 0x5e], 0x71
mov byte [rsp + 0x5f], 0x7e
mov byte [rsp + 0x60], 0x7a
mov byte [rsp + 0x61], 0x71
mov byte [rsp + 0x62], 0x78
mov byte [rsp + 0x63], 0x3f
mov byte [rsp + 0x64], 0x3e
mov byte [rsp + 0x65], r13b
mov al, byte [rsp + 0x5d]
mov rcx, r13
mov al, byte [rsp + rcx + 0x5d]
sub al, 0xc
mov byte [rsp + rcx + 0x5d], al
inc rcx
cmp rcx, 8
jb 0x1800365aa
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
lea rax, [rsp + 0x5d]
inc rdi
cmp byte [rax + rdi], r13b
jne 0x1800365d1
mov r8, rdi
lea rdx, [rsp + 0x5d]
lea rcx, [rbp + 0x40]
call fcn.18000c7ac
nop
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0xc8]
call fcn.1800ceb58
nop
mov qword [rsp + 0x20], r13
mov r9b, 1
lea r8, [rbp + 0x80]
mov rdx, rax
lea rcx, [0x18019bd10]
call fcn.180012978
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x18003665a
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180036655
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180036655
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180157a14
movdqa xmm0, xmmword [0x180165930]
movdqu xmmword [rbp + 0x50], xmm0
mov byte [rbp + 0x40], r13b
xor edx, edx
lea r8d, [rdx + 9]
lea rcx, [rsp + 0x5d]
call qword [sym.imp.VCRUNTIME140.dll_memset]
nop
xor edx, edx
lea r8d, [rdx + 0xd]
lea rcx, [rsp + 0x44]
call qword [sym.imp.VCRUNTIME140.dll_memset]
lea rcx, [0x180162fb4]
call fcn.1801579fc
nop
lea rcx, [0x18019b824]
call fcn.180157a84
lea rbx, [0x18019bd20]
mov rcx, rbx
cmp qword [0x18019bd38], 0x10
cmovae rcx, qword [0x18019bd20]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
jne 0x1800366f7
mov rcx, rbx
cmp qword [0x18019bd38], 0x10
cmovae rcx, qword [0x18019bd20]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [0x18019bd18], rax
mov r8, rax
mov rdx, rbx
call fcn.1800150f8
lea r9, [0x180164ad4]
xor r8d, r8d
lea edx, [r8 + 1]
xor ecx, ecx
call qword [0x18019bd10]
mov r14, rax
test rax, rax
je 0x18003677f
call fcn.1800cf230
mov rsi, rax
xor r8d, r8d
mov edx, r15d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov ebx, eax
call fcn.1800cf230
mov rdi, rax
cmp ebx, 0x102
jne 0x180036766
mov rdx, rax
sub rdx, rsi
lea ecx, [r15 - 0x1f4]
cmp rdx, rcx
jb 0x180036766
lea ecx, [r15 + 0x1f4]
cmp rdx, rcx
ja 0x180036766
test rsi, rsi
je 0x180036766
test rax, rax
jne 0x180036771
test r12b, r12b
jne 0x180036771
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
sub rdi, rsi
jmp 0x180036782
mov rdi, r13
xorps xmm1, xmm1
test rdi, rdi
js 0x180036791
cvtsi2sd xmm1, rdi
jmp 0x1800367a6
mov rax, rdi
shr rax, 1
and edi, 1
or rax, rdi
cvtsi2sd xmm1, rax
addsd xmm1, xmm1
divsd xmm1, qword [0x180165910]
mulsd xmm1, qword [0x180165910]
cvttsd2si rax, xmm1
jmp 0x1800367c2
mov eax, 1
mov rbx, qword [rsp + 0x238]
add rsp, 0x1f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret