Function at 0x1400123b0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x1148
call fcn.14005afd0
sub rsp, rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdx
mov r14, rcx
lea rax, [0x141d0f21a]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0x40deda2f1f8c725a
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.140006ed0
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d1d110]
mov edx, 7
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
mov r13, rax
mov qword [rsp + 0x30], r14
shl ebx, 0x10
or edi, ebx
mov eax, edi
shr eax, 0x10
xor al, 0x3d
movzx eax, al
mov byte [r13 + 6], al
shl rax, 0x30
mov ecx, edi
shr ecx, 8
xor cl, 0xf3
movzx ecx, cl
shl rcx, 0x28
or rcx, rax
xor dil, 0x84
movzx eax, dil
shl rax, 0x20
or rax, rcx
xor esi, 0xd793a2e3
mov dword [r13], esi
shr rax, 0x20
mov word [r13 + 4], ax
lea rax, [0x141d02f43]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0xdc7d25ce969dd53a
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.140007fb0
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141d1d110]
mov edx, 5
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
mov r12, rax
xor bl, 0x51
xor esi, 0x1b214689
mov byte [rax + 4], bl
mov dword [rax], esi
lea rax, [0x141d10af6]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0xb264c3ff081f4207
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.1400073d0
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d1d110]
mov edx, 7
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
mov r14, rax
shl ebx, 0x10
or edi, ebx
mov eax, edi
shr eax, 0x10
xor al, 0xe9
movzx eax, al
mov byte [r14 + 6], al
shl rax, 0x30
mov ecx, edi
shr ecx, 8
xor cl, 0xa
movzx ecx, cl
shl rcx, 0x28
or rcx, rax
xor dil, 0xbc
movzx eax, dil
shl rax, 0x20
or rax, rcx
xor esi, 0x43ec8482
mov dword [r14], esi
shr rax, 0x20
mov word [r14 + 4], ax
lea rax, [0x141d07ace]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0x2d8705b5855bd96a
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.140007a40
mov rsi, qword [rax]
movzx ebx, byte [rax + 8]
movzx eax, byte [0x141d1d110]
mov edx, 9
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
mov r15, rax
xor bl, 0x32
movabs rax, 0xb1a3b6cf5ad5c263
xor rsi, rax
mov qword [r15], rsi
mov byte [r15 + 8], bl
lea rax, [0x141d0e59b]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0xc56107fadac484ac
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.140008240
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141d1d110]
mov edx, 7
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
mov rbp, rax
shl ebx, 0x10
or edi, ebx
mov eax, edi
shr eax, 0x10
xor al, 0xc0
movzx eax, al
mov byte [rbp + 6], al
shl rax, 0x30
mov ecx, edi
shr ecx, 8
xor cl, 0x1b
movzx ecx, cl
shl rcx, 0x28
or rcx, rax
xor dil, 0xc4
movzx eax, dil
shl rax, 0x20
or rax, rcx
xor esi, 0x2d7663c3
mov dword [rbp], esi
shr rax, 0x20
mov word [rbp + 4], ax
lea rax, [0x141d09512]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0x2c6db785918f5fb6
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.1400076e0
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141d1d110]
mov edx, 5
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
xor bl, 0x51
xor esi, 0x279a9384
mov byte [rax + 4], bl
mov qword [rsp + 0x60], rax
mov dword [rax], esi
lea rax, [0x141d049e7]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0xa6a5651769404699
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.1400074b0
mov rsi, qword [rax]
movzx eax, byte [0x141d1d110]
mov edx, 8
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
mov rbx, rax
movabs rax, 0xbe461b315e656021
xor rsi, rax
mov qword [rbx], rsi
lea rax, [0x141d0d25e]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0x740470046215b43d
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.140007540
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx eax, byte [0x141d1d110]
mov edx, 6
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
mov ecx, edi
shr ecx, 8
xor cl, 0xeb
movzx edx, cl
shl rdx, 0x28
xor dil, 0x62
movzx ecx, dil
shl rcx, 0x20
or rcx, rdx
xor esi, 0xb2b61709
mov dword [rax], esi
shr rcx, 0x20
mov word [rax + 4], cx
movzx ecx, byte [0x141d1d110]
mov edx, pe_nt_image_headers64
xor ecx, ecx
mov rsi, rax
call fcn.140040a50
test rax, rax
je 0x140013314
mov rdi, rax
mov qword [rax], r13
mov qword [rax + 8], 7
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 5
mov qword [rax + 0x20], r14
mov qword [rax + 0x28], 7
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], 9
mov qword [rax + 0x40], rbp
mov qword [rax + 0x48], 7
mov rax, qword [rsp + 0x60]
mov qword [rdi + 0x50], rax
mov qword [rdi + 0x58], 5
mov qword [rdi + 0x60], rbx
mov qword [rdi + 0x68], 8
mov qword [rsp + 0xc0], rsi
mov qword [rdi + 0x70], rsi
mov qword [rdi + 0x78], 6
call fcn.140028640
test rax, rax
je 0x140013314
mov rsi, qword [rax]
inc qword [rsi]
je 0x140013314
mov rax, qword [rsi + 0x110]
cmp rax, 0x3f
jbe 0x14001297b
lea rdx, [rsi + 0x10]
lea rcx, [rsi + 0x120]
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x140012974
cmp qword [rsi + 0x160], 0
js 0x140012974
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
call fcn.1400289a0
jmp 0x140012979
call fcn.1400059d0
xor eax, eax
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xb0], r14
lea rcx, [rax + 1]
cmp dword [rsi + rax*4 + 0x10], 0
mov qword [rsp + 0x58], rsi
mov qword [rsi + 0x110], rcx
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xa8], r15
js 0x140012a57
lea rax, [0x141d07e01]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0xc0ab14c96b6b356e
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.1400071d0
mov r14, qword [rax]
mov rsi, qword [rax + 8]
movzx eax, byte [0x141d1d110]
mov ebx, 0x10
mov edx, 0x10
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
movabs rcx, 0xbcac46d1941d02d2
xor rsi, rcx
movabs rcx, 0xb352c56dd02762f1
xor r14, rcx
mov qword [rax], r14
mov qword [rsp + 0x48], rax
mov qword [rax + 8], rsi
jmp 0x140012b14
lea rax, [0x141d07506]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0xe9a7780e2014163b
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.140007770
mov r14, qword [rax]
mov ebp, dword [rax + 8]
movzx esi, word [rax + 0xc]
movzx r15d, byte [rax + 0xe]
movzx eax, byte [0x141d1d110]
mov ebx, 0xf
mov edx, 0xf
xor ecx, ecx
call fcn.140040a50
test rax, rax
je 0x140013314
shl r15d, 0x10
or esi, r15d
mov r8d, esi
shr r8d, 0x10
xor r8b, 0x3d
mov ecx, esi
shr ecx, 8
xor cl, 0xbf
xor sil, 0xf0
xor ebp, 0xe38b0036
movabs rdx, 0x3f57763eab683fb1
xor r14, rdx
mov qword [rax], r14
mov dword [rax + 8], ebp
mov byte [rax + 0xc], sil
mov byte [rax + 0xd], cl
mov qword [rsp + 0x48], rax
mov byte [rax + 0xe], r8b
lea rcx, [rsp + 0x108]
mov rsi, qword [rsp + 0x58]
mov rdx, rsi
mov r8, rdi
call fcn.140011a60
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, rdi
call fcn.140011a60
mov r14, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
movzx eax, byte [0x141d1d110]
xor ecx, ecx
mov rdx, rbx
call fcn.140040a50
test rax, rax
je 0x140013314
mov r12, rax
mov rcx, rax
mov rdx, qword [rsp + 0x48]
mov r8, rbx
call fcn.14005bb28
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x158], rbx
mov byte [rsp + 0x160], 0
lea rcx, [rsp + 0x148]
mov rdx, r14
mov r8, r15
call fcn.140033e10
mov r15, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x158]
cmp qword [rsp + 0x108], 0
je 0x140012be3
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, r14
call fcn.14004dc58
mov rcx, rsi
mov rdx, rbx
call fcn.140034c70
test rax, rax
jne 0x140013314
test rbx, rbx
js 0x140013314
mov qword [rsp + 0x90], r15
mov r14, qword [rsp + 0x128]
mov r15, qword [rsp + 0x130]
je 0x140012c38
movzx eax, byte [0x141d1d110]
xor ecx, ecx
mov rdx, rbx
call fcn.140040a50
mov r12, rax
test rax, rax
jne 0x140012c3e
jmp 0x140013314
mov r12d, 1
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.14005bb28
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], r12
mov qword [rsp + 0x158], rbx
mov byte [rsp + 0x160], 0
lea rcx, [rsp + 0x148]
mov rdx, r14
mov r8, r15
call fcn.140033e10
mov rax, qword [rsp + 0x148]
mov qword [rsp + 0x88], rax
mov r15, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x158]
cmp qword [rsp + 0x120], 0
je 0x140012cbb
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, r14
call fcn.14004dc58
mov rcx, r15
mov rdx, rbx
call fcn.140034c70
test rax, rax
jne 0x140013314
test rbx, rbx
js 0x140013314
je 0x140012cf8
movzx eax, byte [0x141d1d110]
xor ecx, ecx
mov rdx, rbx
call fcn.140040a50
mov r14, rax
test rax, rax
jne 0x140012cfe
jmp 0x140013314
mov r14d, 1
mov rcx, r14
mov qword [rsp + 0x78], r15
mov rdx, r15
mov r8, rbx
call fcn.14005bb28
mov qword [rsp + 0x148], rbx
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], rbx
mov byte [rsp + 0x160], 0
lea rcx, [rsp + 0x148]
mov rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x40]
call fcn.140033e10
mov r14, qword [rsp + 0x148]
mov r12, qword [rsp + 0x150]
mov r15, qword [rsp + 0x158]
mov dword [rsp + 0x148], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x150], xmm0
mov dword [rsp + 0x160], 7
mov qword [rsp + 0x164], 0
mov word [rsp + 0x16c], 0
mov byte [rsp + 0x169], 1
mov byte [rsp + 0x16c], 1
mov byte [rsp + 0x16b], 1
lea r8, [rsp + 0x148]
mov rcx, r12
mov rdx, r15
call fcn.1400332f0
test rax, rax
jne 0x140013314
mov rbx, rdx
mov qword [rsp + 0x50], rdx
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
mov qword [rsp + 0x40], rax
neg rax
jo 0x140013316
mov rdx, qword [rcx + 8]
mov r8, qword [rcx + 0x10]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x30], rdx
call fcn.140001980
test rax, rax
jne 0x140013314
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x70], rsi
lea rcx, [rsp + 0x148]
mov rdx, rbx
call fcn.140033580
cmp dword [rsp + 0x148], 2
je 0x140013314
mov rsi, qword [rsp + 0x180]
mov r14, qword [rsp + 0x50]
cmp rsi, 0x2a1fffff
mov qword [rsp + 0x80], r13
ja 0x140012ee2
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x148], 0
lea r8, [rsp + 0x148]
mov rcx, r14
xor edx, edx
mov r9d, 2
call fcn.14004dbe0
test eax, eax
je 0x140013374
lea rbx, [rsp + 0x148]
mov r8d, 0x1000
mov rcx, rbx
xor edx, edx
call fcn.14005ba68
mov r13d, 0x2a200000
sub r13, rsi
lea rbp, [rsp + 0x50]
nop word [rax + rax]
cmp r13, 0x1000
mov r12d, 0x1000
cmovb r12, r13
mov rcx, rbp
mov rdx, rbx
mov r8, r12
call fcn.140001980
test rax, rax
jne 0x140013314
sub r13, r12
jne 0x140012eb0
mov r12, qword [rsp + 0x28]
mov rcx, r14
call fcn.14004dda8
test r15, r15
js 0x140013314
je 0x140012f3e
movzx eax, byte [0x141d1d110]
xor ecx, ecx
mov rdx, r15
call fcn.140040a50
test rax, rax
je 0x140013314
mov r14, rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.14005bb28
movzx eax, byte [0x141d1d110]
xor ecx, ecx
mov rdx, r15
call fcn.140040a50
mov rbx, rax
test rax, rax
jne 0x140012f59
jmp 0x140013314
mov r14d, 1
mov ecx, 1
mov rdx, r12
mov r8, r15
call fcn.14005bb28
mov ebx, 1
movabs rsi, 0x8000000000000000
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.14005bb28
mov qword [rsp + 0x148], r15
mov qword [rsp + 0x150], rbx
mov qword [rsp + 0x158], r15
mov byte [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 8
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x1d0], 0
mov qword [rsp + 0x1e0], 0
mov word [rsp + 0x1e8], 0
mov qword [rsp + 0x180], rsi
mov dword [rsp + 0x20c], 0
mov word [rsp + 0x208], 0
mov word [rsp + 0x210], 0
mov dword [rsp + 0x1a0], 6
mov dword [rsp + 0x1b0], 6
mov dword [rsp + 0x1c0], 6
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x200], 0
test r15, r15
je 0x14001304d
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, r14
call fcn.14004dc58
mov r13, r12
mov dword [rsp + 0x20c], 0x8000000
mov dword [rsp + 0x138], 0
lea rcx, [rsp + 0xc8]
lea rdx, [rsp + 0x148]
lea r8, [rsp + 0x138]
call fcn.140036bc0
mov rbp, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd8]
cmp r14, 2
jne 0x14001309e
mov rbx, rbp
jmp 0x1400130e2
mov r15, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xe0]
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0xe8], 0
sete sil
cmp qword [rsp + 0xf8], 0
sete r12b
lea rax, [0x141d081a0]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc8]
mov rcx, qword [rsp + 0xc8]
movabs rax, 0x54ec8d73a9e282fc
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0xc8]
mov rdx, qword [rsp + 0xc8]
call fcn.140007370
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
movzx eax, word [rax + 0x20]
cmp r14d, 2
je 0x140013314
mov rcx, rbp
call fcn.14004dda8
mov rcx, r15
call fcn.14004dda8
test r14, r14
je 0x140013162
mov rcx, rbx
call fcn.14004dda8
test sil, 1
mov rbx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xa0]
jne 0x14001318a
mov rcx, qword [rsp + 0x68]
call fcn.14004dda8
test r12b, 1
jne 0x14001319a
mov rcx, qword [rsp + 0x28]
call fcn.14004dda8
lea rcx, [rsp + 0x148]
call fcn.140004830
cmp qword [rsp + 0x40], 0
mov rsi, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x90]
je 0x1400131d2
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, qword [rsp + 0x30]
call fcn.14004dc58
cmp qword [rsp + 0x38], 0
je 0x1400131eb
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, r13
call fcn.14004dc58
cmp qword [rsp + 0x88], 0
je 0x140013209
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, qword [rsp + 0x78]
call fcn.14004dc58
test r12, r12
mov r12, qword [rsp + 0x80]
je 0x140013229
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, qword [rsp + 0x48]
call fcn.14004dc58
mov r8, qword [rsp + 0x58]
dec qword [r8]
jne 0x14001325a
dec qword [r8 + 8]
jne 0x14001325a
mov rcx, qword [0x141d1d0f0]
xor edx, edx
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, rdi
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, r12
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, rsi
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, rbx
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, r14
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, r15
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, qword [rsp + 0x60]
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.14004dc58
mov rcx, qword [0x141d1d0f0]
xor edx, edx
mov r8, qword [rsp + 0xc0]
call fcn.14004dc58
nop
add rsp, 0x1148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x141d101e6]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rcx, qword [rsp + 0x148]
movabs rax, 0x932234fd14fa2e64
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x148]
mov rdx, qword [rsp + 0x148]
call fcn.1400072d0
mov rcx, qword [rax]
mov rcx, qword [rax + 8]
mov rcx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov ecx, dword [rax + 0x20]
movzx eax, word [rax + 0x24]
ud2
call fcn.14004dcd8
ud2