Function at 0x180043d60
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x18006af78]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov qword [rsp + 0x58], r8
mov r15, rdx
mov r13d, ecx
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], ILRemoveLastID
mov byte [rbp + 0x30], 0
add ecx, 0xa20
mov dword [rsp + 0x40], ecx
mov ebx, dword [rsp + 0x50]
cmp r13d, ecx
jae 0x180044622
movabs rdx, 0x2fffffff40
mov ecx, dword [rsp + 0x50]
mov qword [rsp + 0x48], rcx
mov esi, dword [rsp + 0x50]
movaps xmm2, xmmword [rbp - 0x40]
movups xmmword [rsp + 0x68], xmm2
mov eax, dword [rsp + 0x40]
movabs r9, 0x2aaaaaaaaaaaaaab
movabs rdi, 0x1fffffff8
cmp r13d, 0x403
ja 0x180044295
je 0x180044206
cmp r13d, 0x19f
ja 0x180044031
je 0x180044020
mov eax, r13d
sub eax, 0xd9
je 0x180044001
sub eax, 1
je 0x180043e7d
cmp eax, 0xa1
jne 0x180044571
mov rax, qword [r15 + 0x1d8]
mov rcx, qword [rax + 0x10]
sub rcx, qword [rax]
cmp rcx, rdx
jl 0x18004456c
mov dword [r15], 1
mov r14, qword [rsp + 0x60]
mov r13d, 0x68b
mov r8, r14
xor edx, edx
lea ecx, [rdx + 0x5b]
call fcn.180048360
jmp 0x180043fe3
mov r8, qword [0x18006b058]
mov edx, 0x27
xor ecx, ecx
call fcn.180010700
test al, al
je 0x180043fe3
nop dword [rax + rax]
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x28], ILRemoveLastID
mov byte [rbp + 0x10], 0
mov qword [rbp], 0
mov qword [rbp + 8], ILRemoveLastID
mov byte [rbp - 0x10], 0
mov edi, 0xf4
xor r14d, r14d
mov eax, edi
sub eax, 0xf4
je 0x180043f0d
cmp eax, 1
jne 0x180043f34
lea r8, [rbp + 0x10]
cmp qword [rbp + 0x28], 0x10
cmovae r8, qword [rbp + 0x10]
mov r9, qword [r15 + 0x80]
lea edx, [rax + 0x5d]
lea rcx, [rbp - 0x10]
call fcn.18003c050
mov rdx, qword [r15 + 0x48]
lea rcx, [rbp - 0x10]
call qword [r15 + 0x40]
jmp 0x180043f2c
mov qword [rsp + 0x28], r14
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x30]
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0x43]
call fcn.18001e0f0
test al, al
je 0x18004458a
inc edi
cmp edi, 0xf6
jb 0x180043ed0
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x180043f79
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180043f74
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800445bc
call fcn.18005cbb4
mov qword [rbp], 0
mov qword [rbp + 8], ILRemoveLastID
mov byte [rbp - 0x10], 0
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x180043fc8
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180043fc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18004460a
call fcn.18005cbb4
mov r8, qword [0x18006b058]
mov edx, 0x27
xor ecx, ecx
call fcn.180010700
test al, al
jne 0x180043ea0
movups xmm2, xmmword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x58]
movabs rdx, 0x2fffffff40
jmp 0x180044571
mov qword [rsp + 0x78], 0
mov qword [rbp - 0x80], 0
mov rax, qword [r8 + 0x10]
mov qword [rsp + 0x60], rax
jmp 0x180044571
xor eax, eax
cmp dword [r8], eax
setne al
mov dword [r15 + 0x7c], eax
jmp 0x180044571
cmp r13d, 0x21d
je 0x18004413d
cmp r13d, 0x2bf
je 0x1800440d3
cmp r13d, 0x361
jne 0x180044575
mov rcx, qword [r15 + 0x1d8]
lea r8, [rcx + 0x10]
lea rdx, [rcx + 8]
mov rax, qword [rdx]
cmp qword [r8], rax
jne 0x18004408c
mov qword [rsp + 0x20], rdx
xor edx, edx
lea r9d, [rdx + 0x6b]
call fcn.180051b80
test eax, eax
je 0x180043e59
movups xmm2, xmmword [rsp + 0x68]
mov rax, qword [r15 + 0x1d8]
mov rcx, qword [rax + 0x10]
movaps xmm0, xmmword [rbp - 0x70]
movups xmmword [rcx], xmm0
movaps xmm1, xmmword [rbp - 0x60]
movups xmmword [rcx + 0x10], xmm1
movaps xmm0, xmmword [rbp - 0x50]
movups xmmword [rcx + 0x20], xmm0
movups xmmword [rcx + 0x30], xmm2
movaps xmm0, xmmword [rbp - 0x30]
movups xmmword [rcx + 0x40], xmm0
movaps xmm1, xmmword [rbp - 0x20]
movups xmmword [rcx + 0x50], xmm1
mov rax, qword [r15 + 0x1d8]
add qword [rax + 0x10], 0x60
jmp 0x180043fe8
mov qword [rbp - 0x70], 2
xor eax, eax
mov dword [rbp - 0x44], eax
mov rax, qword [rsp + 0x60]
mov qword [rbp - 0x68], rax
movups xmm2, xmmword [r8 + 0x38]
movups xmmword [rsp + 0x68], xmm2
movsd xmm0, qword [r8 + 0x48]
movsd qword [rbp - 0x30], xmm0
movups xmm1, xmmword [r8 + 0x50]
movups xmmword [rbp - 0x28], xmm1
movsd xmm0, qword [r8 + 0x60]
movsd qword [rbp - 0x18], xmm0
mov rdx, qword [rsp + 0x78]
mov qword [rbp - 0x60], rdx
mov rax, qword [rbp - 0x80]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x50], rdx
mov eax, dword [r8 + 0x1c]
mov dword [rbp - 0x48], eax
movabs rdx, 0x2fffffff40
jmp 0x180044571
mov r14, qword [rsp + 0x60]
test r14, r14
je 0x180044154
cmp byte [r14], 0x21
jne 0x1800441bc
cmp byte [r14 + 1], 0
jne 0x1800441bc
mov edi, reloc.SHELL32.dll_PathMakeUniqueName
nop dword [rax]
cmp edi, 0x2f
je 0x1800441a1
cmp edi, 0xb2
je 0x180044180
cmp edi, 0x135
jne 0x1800441ae
test r14, r14
je 0x180043e65
jmp 0x1800441ae
xor r9d, r9d
xor r8d, r8d
mov edx, 0xd8
lea rcx, str.SUBROUTINETYPE_I_d_
call fcn.18005b9b0
mov r14, rax
mov qword [rsp + 0x60], rax
jmp 0x1800441ae
mov r8, r14
xor edx, edx
lea ecx, [rdx + 0x5b]
call fcn.180048360
add edi, 0x83
cmp edi, 0x1b8
jb 0x180044160
mov qword [rsp + 0x78], 0x40
mov qword [rsp + 0x20], 0
mov r9d, 0xc8
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x78]
call fcn.1800112b0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1800441fa
add rax, 0x40
mov qword [rbp - 0x80], rax
jmp 0x180043fe3
mov dword [r15], 1
jmp 0x180043e65
mov rax, qword [r15 + 0x1d8]
mov rcx, qword [rax + 0x10]
sub rcx, qword [rax]
mov rax, r9
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x48], rdx
mov rax, qword [r8 + 8]
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x50]
mov edx, 0x8d
xor ecx, ecx
call fcn.180053b30
test eax, eax
jne 0x180043fe3
mov eax, PathMakeUniqueName
nop dword [rax]
cmp eax, 0x2d
je 0x180044282
cmp eax, 0x5fa
je 0x180044622
jmp 0x180044284
xor ebx, ebx
add eax, 0x5cd
cmp eax, 0xb9a
jbe 0x180044270
jmp 0x180043fe3
cmp r13d, 0x68b
ja 0x180044534
je 0x180043e60
cmp r13d, 0x4a5
je 0x180044311
cmp r13d, 0x547
je 0x1800442cc
cmp r13d, 0x5e9
je 0x180044622
jmp 0x180044575
movsxd rax, ecx
mov rcx, qword [r15 + 0x1d8]
lea rdx, [rax + rax*2]
shl rdx, 5
mov rax, qword [rcx]
movaps xmm0, xmmword [rbp + 0xa0]
movups xmmword [rax + rdx - 0x18], xmm0
movsd xmm1, qword [rbp + 0xb0]
movsd qword [rax + rdx - 8], xmm1
mov rcx, qword [rsp + 0x48]
mov ebx, ecx
movabs rdx, 0x2fffffff40
jmp 0x180044571
mov r8d, 0xc5
mov rdx, r15
lea rcx, [rbp + 0x50]
call fcn.18004dd00
test eax, eax
je 0x180044620
mov rcx, qword [rsp + 0x48]
cmp dword [rbp + 0x50], 8
je 0x18004451e
movsxd r12, ecx
nop dword [rax]
mov r14d, 0x14
nop word [rax + rax]
mov eax, r14d
sub eax, 0x14
je 0x180044494
sub eax, 1
je 0x1800443b5
cmp eax, 1
jne 0x180044507
mov r8d, 0xc5
mov rdx, r15
lea rcx, [rbp + 0x50]
call fcn.18004dd00
test eax, eax
jne 0x180044502
mov eax, 0x35
nop dword [rax]
cmp eax, 0x35
je 0x1800443a2
cmp eax, 0x1026
je 0x180044622
jmp 0x1800443a4
xor ebx, ebx
add eax, 0xff1
cmp eax, 0x1fe2
jbe 0x180044390
jmp 0x180044502
test esi, esi
jne 0x1800443e0
mov eax, 0x7e
nop
cmp eax, 0x7e
je 0x1800443d2
cmp eax, 0x2274
je 0x180044622
jmp 0x1800443d4
xor ebx, ebx
add eax, 0x21f6
cmp eax, 0x43ec
jbe 0x1800443c0
lea rdi, [r12 + r12*2]
shl rdi, 5
mov rax, qword [r15 + 0x1d8]
mov r9, qword [rax]
mov rax, qword [r9 + rdi - 0x48]
cmp qword [r9 + rdi - 0x40], rax
jne 0x180044467
lea eax, [rcx - 1]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
shl rax, 5
lea rdx, [r9 + 0x18]
add rdx, rax
lea r8, [r9 + 0x20]
add r8, rax
lea rcx, [r9 + 0x10]
add rcx, rax
mov qword [rsp + 0x20], rdx
xor edx, edx
lea r9d, [rdx + 0x6b]
call fcn.180051b80
test eax, eax
jne 0x180044467
mov dword [r15], 1
mov eax, 0x114
cmp eax, 0x114
je 0x180044618
add eax, 0x87d8
cmp eax, 0x87d8
jbe 0x180044441
movabs rdi, 0x1fffffff8
jmp 0x180044502
mov rax, qword [r15 + 0x1d8]
mov rcx, qword [rax]
mov rax, qword [rcx + rdi - 0x40]
mov dword [rax], esi
mov rax, qword [r15 + 0x1d8]
mov rcx, qword [rax]
add qword [rcx + rdi - 0x40], 4
movabs rdi, 0x1fffffff8
jmp 0x180044502
mov rax, qword [r15 + 0x1d8]
lea rcx, [r12 + r12*2]
shl rcx, 5
mov rax, qword [rax]
mov rdx, qword [rax + rcx - 0x40]
sub rdx, qword [rax + rcx - 0x50]
and rdx, 0xfffffffffffffffc
cmp rdx, rdi
jl 0x1800444e0
mov dword [r15], 1
mov ecx, 0x3b
mov eax, ecx
sub eax, 0x3b
je 0x1800444d7
cmp eax, 1
je 0x180044622
jmp 0x1800444d9
xor ebx, ebx
inc ecx
cmp ecx, 0x3d
jb 0x1800444c5
mov dword [rsp + 0x28], 0xa2
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8, r15
xor edx, edx
xor ecx, ecx
call fcn.18004d3d0
mov esi, eax
mov rcx, qword [rsp + 0x48]
inc r14d
cmp r14d, 0x17
jb 0x180044350
cmp dword [rbp + 0x50], 8
jne 0x180044340
movups xmm2, xmmword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
movabs rdx, 0x2fffffff40
jmp 0x180044571
cmp r13d, 0x72d
je 0x180044559
cmp r13d, 0x7cf
je 0x180044555
cmp r13d, 0x871
je 0x180044622
jmp 0x180044575
xor ebx, ebx
jmp 0x180044575
mov r8, qword [r8 + 8]
xor edx, edx
lea ecx, [rdx + 0x5b]
call fcn.180048360
jmp 0x180043fe3
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x40]
add r13d, 0xa2
cmp r13d, eax
jae 0x180044622
jmp 0x180043dea
mov rdx, qword [rbp + 8]
cmp rdx, 0x10
jb 0x1800445c8
inc rdx
mov rcx, qword [rbp - 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800445c3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800445c3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005cbb4
mov qword [rbp], r14
mov qword [rbp + 8], ILRemoveLastID
mov byte [rbp - 0x10], 0
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x180044622
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180044611
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180044611
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005cbb4
jmp 0x180044622
xor r14d, r14d
mov ebx, r14d
jmp 0x180044622
xor ebx, ebx
mov rdx, qword [rbp + 0x48]
cmp rdx, 0x10
jb 0x180044660
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18004465b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18004465b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18005cbb4
mov eax, ebx
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.18005d0c0
mov rbx, qword [rsp + 0x210]
add rsp, 0x1d0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret