Function at 0x180040c80
Capabilities:
Encode data using base64

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x20], r9
mov qword [r11 + 0x18], r8
mov qword [r11 + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rbx, qword [rsp + 0x38]
mov r15, rcx
mov ecx, dword [rsp + 0xb0]
mov rbp, r8
mov dword [rsp + 0x34], ecx
lea eax, [rcx + 0x201]
mov dword [rsp + 0x2c], eax
cmp ecx, eax
jae 0x180040ddd
movzx edi, byte [rsp + 0x26]
movzx r8d, byte [r11 - 0x63]
mov rax, qword [rsp + 0x40]
mov r14, qword [rsp + 0x40]
mov byte [rsp + 0x20], dil
mov byte [r11 + 0x28], r8b
movzx r11d, byte [r11 - 0x64]
movzx r10d, byte [rsp + 0xb0]
movzx esi, byte [rsp + 0xb0]
movzx r12d, byte [rsp + 0xb0]
movzx r13d, byte [rsp + 0xb0]
mov qword [rsp + 0x40], rax
mov eax, dword [rsp + 0x2c]
mov byte [rsp + 0x21], r11b
mov byte [rsp + 0x28], r10b
mov byte [rsp + 0x30], sil
nop word [rax + rax]
cmp ecx, 0xc0
ja 0x180041253
je 0x18004120c
mov eax, ecx
sub eax, 0x19
je 0x1800411b7
sub eax, 0x39
je 0x1800412d0
sub eax, 0x2f
je 0x1800411b2
cmp eax, 0x39
jne 0x18004116b
mov rax, qword [rbp]
cmp rax, 2
jbe 0x180040f7d
nop word [rax + rax]
mov r8d, 0xe2
lea r9, [r14 + 4]
xor edx, edx
nop dword [rax]
cmp edx, 0xc
ja case.default.0x180040db1
lea rcx, [0x180000000]
mov ecx, dword [rcx + rdx*4 + 0x412ec]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
cmp sil, 0x40
jae 0x1800412e5
mov rax, qword [rsp + 0xa8]
cmp r9, qword [rax]
jbe case.default.0x180040db1
mov eax, 0xf
cmp eax, 0xf
je 0x180040df8
cmp eax, 0x7b
jne 0x180040dff
mov rax, rbx
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rbx, 0xffffffffffffffff
add eax, 0x6c
cmp eax, 0xe7
jb 0x180040dd3
jmp case.default.0x180040db1
cmp r10b, 0x40
jae 0x1800412e5
cmp r13b, 0x40
jae 0x1800412e5
jmp case.default.0x180040db1
movzx r11d, byte [r15]
mov byte [rsp + 0x21], r11b
mov byte [rsp + 0x24], r11b
jmp 0x180040f3d
movzx eax, r10b
lea rcx, [0x180000000]
lea rbp, [0x180000000]
movzx eax, byte [rax + rcx + 0x969d0]
mov rcx, qword [rsp + 0x98]
mov byte [r14 + rcx], al
movzx eax, r13b
movzx eax, byte [rax + rbp + 0x969d0]
mov rbp, qword [rsp + 0xa0]
mov byte [r14 + rcx + 1], al
add r14, 2
add r9, 2
jmp case.default.0x180040db1
movzx eax, byte [rsp + 0xb0]
movzx r13d, r11b
movzx r12d, byte [rsp + 0xb0]
and r13b, 3
shr al, 4
and r12b, 0xf
shl r13b, 4
add r13b, al
shl r12b, 2
movzx eax, dil
shr al, 6
add r12b, al
jmp case.default.0x180040db1
movzx r10d, r11b
shr r10b, 2
mov byte [rsp + 0x28], r10b
jmp case.default.0x180040db1
movzx esi, dil
and sil, 0x3f
mov byte [rsp + 0x30], sil
jmp case.default.0x180040db1
movzx eax, r12b
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x969d0]
mov rcx, qword [rsp + 0x98]
mov byte [r14 + rcx], al
inc r14
inc r9
jmp case.default.0x180040db1
add qword [rbp], 0xfffffffffffffffd
jmp case.default.0x180040db1
movzx eax, sil
jmp 0x180040ee2
movzx edi, byte [r15]
mov byte [rsp + 0x20], dil
mov byte [rsp + 0x26], dil
jmp 0x180040f3d
cmp r12b, 0x40
jae 0x1800412e5
jmp case.default.0x180040db1
movzx ecx, byte [r15]
mov byte [rsp + 0xb0], cl
mov byte [rsp + 0x25], cl
inc r15
inc r8d
inc edx
cmp r8d, 0xef
jb 0x180040d90
mov rax, qword [rbp]
cmp rax, 2
ja 0x180040d80
mov rdx, qword [rsp + 0x98]
movzx r8d, byte [rsp + 0xb0]
mov ecx, dword [rsp + 0x34]
mov r9, qword [rsp + 0xa8]
test rax, rax
je 0x18004116b
mov ebp, 0x96
mov esi, 9
cmp esi, 9
ja case.default.0x180040fb3
mov eax, esi
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x41320]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
cmp r12b, 0x40
jmp 0x180041139
movzx eax, r13b
lea rcx, [0x180000000]
movzx eax, byte [rax + rcx + 0x969d0]
mov byte [r14 + rdx], al
inc r14
jmp case.default.0x180040fb3
mov rax, qword [rsp + 0xa0]
mov rdi, qword [rax]
test rdi, rdi
je 0x180041035
mov r8, rdi
lea rcx, [rsp + 0x24]
mov rdx, r15
call fcn.18006fd90
movzx r11d, byte [rsp + 0x24]
add r15, rdi
movzx edi, byte [rsp + 0x26]
movzx r10d, r11b
movzx r8d, byte [rsp + 0x25]
shr r10b, 2
mov byte [rsp + 0x28], r10b
mov byte [rsp + 0x20], dil
mov byte [rsp + 0xb0], r8b
mov byte [rsp + 0x21], r11b
jmp case.default.0x180040fb3
movzx edi, byte [rsp + 0x20]
movzx r10d, r11b
shr r10b, 2
mov byte [rsp + 0x28], r10b
jmp case.default.0x180040fb3
mov rax, qword [rsp + 0xa0]
cmp qword [rax], 1
jne 0x180041068
mov cl, 0x3d
mov byte [r14 + rdx], cl
inc r14
jmp case.default.0x180040fb3
movzx eax, r12b
lea rcx, [0x180000000]
movzx ecx, byte [rax + rcx + 0x969d0]
mov byte [r14 + rdx], cl
inc r14
jmp case.default.0x180040fb3
mov byte [r14 + rdx], 0x3d
inc r14
jmp case.default.0x180040fb3
movzx r13d, r11b
movzx eax, r8b
and r13b, 3
shr al, 4
shl r13b, 4
add r13b, al
jmp case.default.0x180040fb3
cmp r13b, 0x40
jmp 0x180041139
lea rax, [r14 + 4]
cmp rax, qword [r9]
jbe 0x1800410ed
mov eax, pe_nt_image_headers64
cmp eax, 0x108
je 0x1800410da
cmp eax, 0x630
je 0x180040ddd
jmp 0x1800410e1
mov rbx, 0xffffffffffffffff
add eax, 0x528
cmp eax, 0xa50
jbe 0x1800410c6
movzx eax, r10b
jmp 0x180040fc2
xor dil, dil
mov word [rsp + 0x25], 0
xor r8b, r8b
mov byte [rsp + 0x20], dil
xor r11b, r11b
mov byte [rsp + 0xb0], r8b
mov byte [rsp + 0x21], r11b
mov byte [rsp + 0x24], r11b
jmp case.default.0x180040fb3
movzx r12d, r8b
movzx eax, dil
and r12b, 0xf
shr al, 6
shl r12b, 2
add r12b, al
cmp r10b, 0x40
jae 0x1800412e5
mov rdx, qword [rsp + 0x98]
dec ebp
mov r9, qword [rsp + 0xa8]
dec esi
cmp ebp, 0x8c
ja 0x180040f90
mov rbp, qword [rsp + 0xa0]
mov ecx, dword [rsp + 0x34]
mov eax, dword [rsp + 0x2c]
add ecx, 0x39
mov dword [rsp + 0x34], ecx
cmp ecx, eax
jae 0x180040ddd
movzx r10d, byte [rsp + 0x28]
movzx r11d, byte [rsp + 0x21]
movzx edi, byte [rsp + 0x20]
movzx esi, byte [rsp + 0x30]
mov rdx, qword [rsp + 0x98]
movzx r8d, byte [rsp + 0xb0]
mov r9, qword [rsp + 0xa8]
jmp 0x180040d30
xor r14d, r14d
jmp 0x18004116b
mov eax, dword [rbp]
lea r8, [r15 + 0x48]
lea r9, [rsp + 0x38]
mov dword [rsp + 0x38], eax
xor edx, edx
mov ecx, 0xab
call fcn.180014510
test rax, rax
je 0x180041167
mov r9d, 0x6a
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.1800131c0
cmp eax, 1
jne 0x180041167
movsd xmm0, qword [0x18009efa8]
movsd qword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x38]
jmp 0x180040de0
cmp dword [r15], 2
mov qword [rsp + 0x40], r15
je 0x18004116f
mov edi, 0x51
mov eax, edi
sub eax, 0x50
je 0x180040ddd
cmp eax, 1
jne 0x180041247
lea ecx, [rax + 1]
call fcn.180079a6c
mov rcx, rax
lea rdx, str.Parsing_D3D_byte_code_failed
call fcn.18006bd20
dec edi
cmp edi, 0x4f
ja 0x180041220
jmp 0x180041167
mov eax, ecx
sub eax, 0xf3
je 0x18004128e
sub eax, 6
je 0x18004127c
sub eax, 0x33
je 0x180041274
cmp eax, 0x39
je 0x180040ddd
jmp 0x18004116b
mov rbx, r14
jmp 0x18004116b
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x18], 0
jmp 0x18004116b
cmp r14, qword [r9]
jb 0x1800412bf
mov eax, 0x92
cmp eax, 0x92
je 0x1800412ac
cmp eax, 0x1918
je 0x180040ddd
jmp 0x1800412b3
mov rbx, 0xffffffffffffffff
add eax, 0x1886
cmp eax, 0x310c
jbe 0x180041298
mov byte [r14 + rdx], 0
jmp 0x18004116b
movsd xmm0, qword [rbp + 8]
movsd qword [rsp + 0x38], xmm0
mov rax, qword [rsp + 0x38]
jmp 0x180040de0
call fcn.180075408
int3