Function at 0x140073880
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x118
mov r13, rdx
mov r14, rcx
mov r15, qword [rdx]
mov rsi, qword [rdx + 8]
mov rdi, qword [rdx + 0x10]
mov rcx, qword [r15]
mov rdx, rsi
mov r8, rdi
call fcn.14006bc6e
cmp eax, 0x70
je 0x1400738ce
mov rcx, qword [r15]
mov rdx, rsi
mov r8, rdi
call fcn.14006bc6e
cmp eax, 0x50
jne 0x140074562
cmp qword [r15 + 0x98], 0
jne 0x140074562
mov qword [r15 + 0x98], 0xffffffffffffffff
mov qword [r15 + 0xb0], 0
mov rax, qword [r13]
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
mov rcx, qword [rax]
call fcn.14006bc6e
mov r12d, eax
mov rsi, qword [r13]
mov rbp, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
mov rcx, rsi
mov rdx, rbp
mov r8, rbx
call fcn.14006f131
test al, al
je 0x140073a9e
mov rcx, qword [rsi]
mov rdx, rbp
mov r8, rbx
call fcn.14006bc6e
cmp eax, 0x7b
jne 0x140073b26
mov dword [rsp + 0x104], r12d
lea r12, [r15 + 0xa0]
lea rdi, [rsp + 0x60]
mov rcx, rdi
mov rdx, rsi
mov r8, rbp
mov r9, rbx
call fcn.14006c8f4
mov rax, qword [rdi + 0x28]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rdi + 0x18]
movaps xmmword [rsp + 0x40], xmm0
mov rcx, rsi
mov rdx, rbp
mov r8, rbx
call fcn.14006f131
test al, al
je 0x140073bc7
mov rcx, qword [rsi]
mov rdx, rbp
mov r8, rbx
call fcn.14006bc6e
cmp eax, 0x7d
je 0x140073bc7
mov rcx, qword [rsi]
mov rdx, rbp
mov r8, rbx
call fcn.14006bc6e
mov edi, eax
cmp eax, 0x7f
ja 0x1400739ee
mov rdx, qword [r15 + 0xb0]
cmp rdx, qword [r15 + 0xa8]
jne 0x1400739da
mov rcx, r12
call fcn.140016628
mov rdx, qword [r15 + 0xb0]
mov rax, qword [r15 + 0xa0]
mov byte [rax + rdx], dil
inc qword [r15 + 0xb0]
jmp 0x140073979
mov dword [rsp + 0x60], 0
mov eax, edi
cmp edi, 0x800
jae 0x140073a1d
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x60], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x61], dil
mov eax, 2
jmp 0x140073a84
cmp edi, 0x10000
jae 0x140073a4f
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x60], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x62], dil
mov eax, 3
jmp 0x140073a84
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x60], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x61], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x62], al
and dil, 0x3f
or dil, 0x80
mov byte [rsp + 0x63], dil
mov eax, 4
lea r8, [rsp + rax]
add r8, 0x60
mov rcx, r12
lea rdx, [rsp + 0x60]
call fcn.140016677
jmp 0x140073979
mov rax, qword [r13]
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x88], rcx
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x70], rax
mov rcx, rbx
xor edx, edx
call fcn.14000d520
mov rsi, rax
mov rdi, rdx
mov rcx, rax
mov rdx, rbp
mov r8, rbx
call fcn.1400931b0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [r14 + 0x58], xmm0
movups xmmword [r14 + 0x68], xmm1
movups xmmword [r14 + 0x78], xmm2
mov dword [r14 + 8], 0xa
mov qword [r14 + 0x40], rsi
mov qword [r14 + 0x48], rdi
mov qword [r14 + 0x50], rbx
mov qword [r14], 1
jmp 0x140074547
mov rdi, qword [r13]
mov rax, qword [rdi + 0x10]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rdi]
movaps xmmword [rsp + 0x40], xmm0
mov rcx, qword [rdi]
mov rdx, rbp
mov r8, rbx
call fcn.14006bc6e
cmp eax, 0x5c
jne 0x140073c70
lea r12, [rsp + 0x60]
mov rcx, r12
mov rdx, rdi
mov r8, rbp
mov r9, rbx
call fcn.14006c8f4
mov rdi, qword [r13 + 8]
mov rbx, qword [r13 + 0x10]
mov rcx, rbx
xor edx, edx
call fcn.14000d520
mov rbp, rax
mov rsi, rdx
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.1400931b0
mov dword [r14 + 8], 0x1c
mov qword [r14 + 0x40], rbp
mov qword [r14 + 0x48], rsi
mov qword [r14 + 0x50], rbx
movups xmm0, xmmword [r12]
movups xmm1, xmmword [r12 + 0x10]
movups xmm2, xmmword [r12 + 0x20]
movups xmmword [r14 + 0x58], xmm0
movups xmmword [r14 + 0x68], xmm1
movups xmmword [r14 + 0x78], xmm2
jmp 0x140073b1a
mov rcx, qword [rsi]
cmp rcx, rbx
jne 0x140073ca1
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x88], rax
movups xmm0, xmmword [rsi]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [rsi]
movaps xmmword [rsp + 0x60], xmm0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x70], rax
mov rcx, rbx
xor edx, edx
call fcn.14000d520
mov rsi, rax
mov rdi, rdx
mov rcx, rax
mov rdx, rbp
mov r8, rbx
call fcn.1400931b0
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
movaps xmm2, xmmword [rsp + 0x80]
movups xmmword [r14 + 0x58], xmm0
movups xmmword [r14 + 0x68], xmm1
movups xmmword [r14 + 0x78], xmm2
mov dword [r14 + 8], 0xa
movups xmm0, xmmword [rsp + 0x60]
movups xmm1, xmmword [rsp + 0x70]
movups xmm2, xmmword [rsp + 0x80]
movups xmmword [r14 + 0xc], xmm0
movups xmmword [r14 + 0x1c], xmm1
movups xmmword [r14 + 0x2c], xmm2
mov eax, dword [rsp + 0x90]
mov dword [r14 + 0x3c], eax
jmp 0x140073b0e
mov esi, eax
mov rcx, rdi
mov rdx, rbp
mov r8, rbx
call fcn.14006f131
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
xor eax, eax
jmp 0x14007449d
mov rdx, rbp
mov r8, rbx
call fcn.14006bc6e
cmp eax, 0x7d
jne 0x140074562
mov rcx, rsi
mov rdx, rbp
mov r8, rbx
call fcn.14006c9a8
mov rdx, qword [r15 + 0xa0]
mov r12, qword [r15 + 0xb0]
mov qword [rsp + 0x20], 2
lea r9, [0x1403eb03c]
lea rsi, [rsp + 0x60]
mov rcx, rsi
mov qword [rsp + 0x38], rdx
mov r8, r12
call fcn.14001c305
cmp dword [rsi + 0x20], 1
jne 0x140073e74
mov r9, qword [rsp + 0xb8]
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x78]
cmp r9, 0xffffffffffffffff
je 0x140073f81
mov rbx, qword [rsp + 0xa8]
lea rdi, [rbx + r11]
dec rdi
cmp rdi, rcx
jae 0x1400740e0
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x98]
mov rbp, r11
mov qword [rsp + 0xc8], rsi
sub rbp, rsi
mov qword [rsp + 0xe8], rbp
mov rsi, rdx
neg rsi
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x30], rdx
dec rdx
mov qword [rsp + 0xf8], rdx
mov qword [rsp + 0x108], r8
mov qword [rsp + 0x28], rax
movzx edi, byte [r8 + rdi]
bt rax, rdi
jae 0x140073dfc
mov rax, qword [rsp + 0x30]
cmp rax, r9
mov rsi, r9
cmova rsi, rax
cmp rsi, r11
mov rdx, r11
cmova r11, rsi
lea rdi, [r8 + rbx]
cmp r11, rsi
je 0x140073e04
lea rbp, [rbx + rsi]
cmp rbp, rcx
jae 0x140074562
lea r8, [rsi + 1]
mov al, byte [r10 + rsi]
cmp al, byte [rdi + rsi]
mov rsi, r8
je 0x140073dbf
add rbx, qword [rsp + 0xf0]
add rbx, r8
xor r9d, r9d
mov r8, qword [rsp + 0x108]
mov r11, rdx
jmp 0x140073e5a
add rbx, r11
xor r9d, r9d
jmp 0x140073e5f
mov rsi, qword [rsp + 0xf8]
mov r11, rdx
lea rax, [rsi + 1]
cmp r9, rax
jae 0x14007432f
cmp rsi, r11
jae 0x140074562
lea rax, [rbx + rsi]
cmp rax, rcx
jae 0x140074562
mov al, byte [r10 + rsi]
lea rbp, [rsi - 1]
cmp al, byte [rdi + rsi]
mov rsi, rbp
je 0x140073e0f
add rbx, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xe8]
mov r8, qword [rsp + 0x108]
mov rax, qword [rsp + 0x28]
lea rdi, [rbx + r11]
dec rdi
cmp rdi, rcx
jb 0x140073d97
jmp 0x1400740e0
cmp byte [rsp + 0x9a], 0
jne 0x1400740e0
mov rcx, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x68]
mov al, byte [rsp + 0x98]
mov r8, qword [rsp + 0x88]
mov edx, eax
xor dl, 1
mov byte [rsp + 0x98], dl
test r8, r8
je 0x140073ec3
cmp rbx, r8
jbe 0x140073ebd
cmp byte [rcx + r8], 0xbf
jg 0x140073ec3
jmp 0x140074566
jne 0x140074566
cmp r8, rbx
je 0x1400740d0
movzx edx, byte [rcx + r8]
test dl, dl
jns 0x140073f29
mov edi, edx
and edi, 0x1f
movzx esi, byte [rcx + r8 + 1]
and esi, 0x3f
cmp dl, 0xdf
jbe 0x140073f17
movzx r9d, byte [rcx + r8 + 2]
shl esi, 6
and r9d, 0x3f
or r9d, esi
cmp dl, 0xf0
jb 0x140073f20
movzx edx, byte [rcx + r8 + 3]
and edi, 7
shl edi, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, edi
jmp 0x140073f29
shl edi, 6
or edi, esi
mov edx, edi
jmp 0x140073f29
shl edi, 0xc
or r9d, edi
mov edx, r9d
test al, al
jne 0x14007432c
cmp edx, 0x110000
je 0x1400740d8
mov eax, 1
cmp edx, 0x80
jb 0x140073f66
mov eax, 2
cmp edx, 0x800
jb 0x140073f66
cmp edx, 0x10000
mov eax, 4
sbb rax, 0
add r8, rax
mov rax, qword [rsp + 0x98]
test eax, 0xff0000
je 0x140073e9b
jmp 0x1400740e0
mov rbx, qword [rsp + 0xa8]
lea rax, [rbx + r11]
dec rax
cmp rax, rcx
jae 0x1400740e0
mov rdx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x98]
mov qword [rsp + 0x110], rbp
cmp rsi, r11
mov r9, r11
cmova r9, rsi
lea rdi, [rsi - 1]
mov qword [rsp + 0x30], rdi
mov rdi, rsi
neg rdi
mov qword [rsp + 0x28], rdi
lea rdi, [r10 + rsi]
dec rdi
mov qword [rsp + 0xf8], rdi
mov qword [rsp + 0xf0], rsi
add rsi, r8
dec rsi
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xc8], rdx
movzx eax, byte [r8 + rax]
bt rdx, rax
jae 0x140074056
mov rax, r8
mov r8, rbx
neg r8
mov rbp, rax
add rax, rbx
mov rsi, qword [rsp + 0xf0]
cmp r9, rsi
je 0x14007405b
lea rdi, [rbx + rsi]
cmp rdi, rcx
jae 0x140074562
mov dl, byte [r10 + rsi]
lea rdi, [rsi + 1]
dec r8
cmp dl, byte [rax + rsi]
mov rsi, rdi
je 0x140074026
neg r8
mov rbx, r8
mov r8, rbp
jmp 0x1400740b6
add rbx, r11
jmp 0x1400740be
mov rax, qword [rsp + 0xe8]
add rax, rbx
mov rdx, qword [rsp + 0x30]
lea rsi, [rdx + rbx]
xor edi, edi
mov r8, rbp
cmp qword [rsp + 0x28], rdi
je 0x14007432f
cmp qword [rsp + 0x30], r11
jae 0x140074562
lea rdx, [rsi + rdi]
cmp rdx, rcx
jae 0x140074562
mov rdx, qword [rsp + 0xf8]
mov dl, byte [rdx + rdi]
lea rbp, [rdi - 1]
cmp dl, byte [rax + rdi]
mov rdi, rbp
je 0x140074074
add rbx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0xc8]
lea rax, [rbx + r11]
dec rax
cmp rax, rcx
jb 0x140074004
jmp 0x1400740e0
test al, al
jne 0x14007432f
mov byte [rsp + 0x9a], 1
mov rbp, qword [rsp + 0x38]
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r12
movabs rax, 0x3a0000003a
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], 1
xor edi, edi
mov r8, r12
lea rdx, [rdi + rbp]
cmp r8, 0x10
jae 0x140074146
xor ebx, ebx
test r8, r8
je 0x140074142
cmp byte [rdx + rbx], 0x3a
je 0x140074157
inc rbx
cmp r8, rbx
jne 0x140074131
mov rbx, r8
xor eax, eax
jmp 0x14007415c
mov cl, 0x3a
call fcn.14001b051
mov rbp, qword [rsp + 0x38]
mov rbx, rdx
jmp 0x14007415c
mov eax, 1
cmp rax, 1
jne 0x14007418b
add rbx, rdi
mov rdi, rbx
inc rdi
je 0x140074183
cmp r12, rdi
jb 0x140074183
mov al, byte [rbp + rbx]
cmp al, byte [rsp + 0x8c]
je 0x140074275
mov r8, r12
sub r8, rdi
jae 0x140074120
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], r12
movabs rax, 0x3d0000003d
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x80], 1
xor edi, edi
mov r8, r12
lea rdx, [rdi + rbp]
cmp r8, 0x10
jae 0x1400741ec
xor esi, esi
test r8, r8
je 0x1400741e8
cmp byte [rdx + rsi], 0x3d
je 0x1400741fd
inc rsi
cmp r8, rsi
jne 0x1400741d7
mov rsi, r8
xor eax, eax
jmp 0x140074202
mov cl, 0x3d
call fcn.14001b051
mov rbp, qword [rsp + 0x38]
mov rsi, rdx
jmp 0x140074202
mov eax, 1
cmp rax, 1
jne 0x14007422d
add rsi, rdi
mov rdi, rsi
inc rdi
je 0x140074225
cmp r12, rdi
jb 0x140074225
mov al, byte [rbp + rsi]
cmp al, byte [rsp + 0x8c]
je 0x14007429a
mov r8, r12
sub r8, rdi
jae 0x1400741c6
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
mov rcx, r12
xor edx, edx
call fcn.14000d520
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
mov rcx, rax
mov rdx, rbp
mov r8, r12
call fcn.1400931b0
xor ebp, ebp
mov al, 1
mov rbx, r12
jmp 0x14007448c
test rbx, rbx
je 0x1400743f9
cmp rbx, r12
jae 0x1400743f0
cmp byte [rbp + rbx], 0xbf
jg 0x1400743f9
mov rcx, rbp
jmp 0x140074344
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
mov rcx, rbp
mov rdx, r12
mov r8, rsi
call fcn.14007462f
mov rsi, rax
mov rbx, rdx
mov rcx, rdx
xor edx, edx
call fcn.14000d520
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rdx
mov rcx, rax
mov rdx, rsi
mov r8, rbx
call fcn.1400931b0
mov rcx, rbp
mov rdx, r12
mov r8, rdi
call fcn.140074661
mov r12, rax
mov rdi, rdx
mov rcx, rdx
xor edx, edx
call fcn.14000d520
mov rsi, rax
mov rbp, rdx
mov rcx, rax
mov rdx, r12
mov r8, rdi
call fcn.1400931b0
mov r10, rsi
mov r9, rbp
mov r8, rdi
xor ebp, ebp
jmp 0x14007448a
mov rbx, r8
test rbx, rbx
mov rcx, qword [rsp + 0x38]
je 0x140074354
cmp rbx, r12
jae 0x14007434f
cmp byte [rcx + rbx], 0xbf
jg 0x140074354
mov rdx, r12
xor r8d, r8d
jmp 0x140074569
cmp r12, rbx
jne 0x140074344
mov rcx, rbx
xor edx, edx
call fcn.14000d520
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
mov rcx, rax
mov rdx, qword [rsp + 0x38]
mov r8, rbx
call fcn.1400931b0
mov rsi, qword [rsp + 0x38]
mov r8, rbx
add r8, 2
je 0x14007439f
cmp r12, r8
jbe 0x14007439d
cmp byte [rsi + r8], 0xbf
jg 0x14007439f
mov rcx, rsi
mov rdx, r12
jmp 0x140074433
jne 0x140074392
add rsi, r8
sub r12, r8
mov rcx, r12
xor edx, edx
call fcn.14000d520
mov rbp, rax
mov rdi, rdx
mov rcx, rax
mov rdx, rsi
mov r8, r12
call fcn.1400931b0
mov r10, rbp
mov r9, rdi
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
mov al, 2
mov r8, r12
mov bpl, 2
jmp 0x14007448c
cmp r12, rbx
jne 0x140074292
mov rcx, rbx
xor edx, edx
call fcn.14000d520
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
mov rcx, rax
mov rdx, rbp
mov r8, rbx
call fcn.1400931b0
mov rax, r12
sub rax, rdi
jbe 0x14007443b
cmp byte [rbp + rdi], 0xbf
jg 0x14007443d
mov rcx, rbp
mov rdx, r12
mov r8, rdi
mov r9, r12
jmp 0x14007456c
jne 0x14007442a
add rbp, rdi
mov r12, rbp
mov rcx, rax
xor edx, edx
mov rdi, rax
call fcn.14000d520
mov rsi, rax
mov rbp, rdx
mov rcx, rax
mov rdx, r12
mov r8, rdi
call fcn.1400931b0
mov r10, rsi
mov r9, rbp
mov r8, rdi
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0xd0], xmm0
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rax
mov bpl, 1
mov al, 2
mov rdi, qword [r13]
mov r12d, dword [rsp + 0x104]
mov rdx, qword [rsp + 0x28]
cmp r12d, 0x50
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rcx
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x40], xmm0
mov rcx, qword [rsp + 0x30]
mov qword [r14 + 0x40], rcx
mov qword [r14 + 0x48], rdx
mov qword [r14 + 0x50], rbx
mov qword [r14 + 0x58], r10
mov qword [r14 + 0x60], r9
mov qword [r14 + 0x68], r8
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x70], rcx
movaps xmm0, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x60], xmm0
mov rcx, qword [rdi + 0x10]
mov qword [rsp + 0x88], rcx
movups xmm1, xmmword [rdi]
movups xmmword [rsp + 0x78], xmm1
movups xmmword [r14 + 8], xmm0
mov rcx, qword [rsp + 0x70]
mov qword [r14 + 0x18], rcx
mov rcx, qword [rsp + 0x78]
mov qword [r14 + 0x20], rcx
mov rcx, qword [rsp + 0x80]
mov qword [r14 + 0x28], rcx
mov rcx, qword [rsp + 0x88]
mov qword [r14 + 0x30], rcx
mov byte [r14 + 0x38], al
mov byte [r14 + 0x39], bpl
mov dword [r14 + 0x3c], esi
sete byte [r14 + 0x70]
mov qword [r14], 0
inc qword [r15 + 0x98]
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
mov rdx, rbx
mov r9, rbx
call fcn.140094a0f
ud2