Function at 0x140012d20
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.14005bcd0
sub rsp, rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x38], rdx
mov r14, rcx
lea rax, [0x141e6daec]
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.140007cb0
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141e7b110]
mov edx, 7
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
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, [0x141e61815]
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.1400070d0
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141e7b110]
mov edx, 5
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
mov r12, rax
xor bl, 0x51
xor esi, 0x1b214689
mov byte [rax + 4], bl
mov dword [rax], esi
lea rax, [0x141e6f3c8]
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.1400074c0
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141e7b110]
mov edx, 7
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
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, [0x141e663a0]
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.140007d10
mov rsi, qword [rax]
movzx ebx, byte [rax + 8]
movzx eax, byte [0x141e7b110]
mov edx, 9
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
mov r15, rax
xor bl, 0x32
movabs rax, 0xb1a3b6cf5ad5c263
xor rsi, rax
mov qword [r15], rsi
mov byte [r15 + 8], bl
lea rax, [0x141e6ce6d]
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.140007d70
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx ebx, byte [rax + 6]
movzx eax, byte [0x141e7b110]
mov edx, 7
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
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, [0x141e67de4]
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.140007ad0
mov esi, dword [rax]
movzx ebx, byte [rax + 4]
movzx eax, byte [0x141e7b110]
mov edx, 5
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
xor bl, 0x51
xor esi, 0x279a9384
mov byte [rax + 4], bl
mov qword [rsp + 0x60], rax
mov dword [rax], esi
lea rax, [0x141e632b9]
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.140007d40
mov rsi, qword [rax]
movzx eax, byte [0x141e7b110]
mov edx, 8
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
mov rbx, rax
movabs rax, 0xbe461b315e656021
xor rsi, rax
mov qword [rbx], rsi
lea rax, [0x141e6bb30]
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.140007430
mov esi, dword [rax]
movzx edi, word [rax + 4]
movzx eax, byte [0x141e7b110]
mov edx, 6
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
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 [0x141e7b110]
mov edx, pe_nt_image_headers64
xor ecx, ecx
mov rsi, rax
call fcn.140041110
test rax, rax
je 0x140013c84
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.140028fc0
test rax, rax
je 0x140013c84
mov rsi, qword [rax]
inc qword [rsi]
je 0x140013c84
mov rax, qword [rsi + 0x110]
cmp rax, 0x3f
jbe 0x1400132eb
lea rdx, [rsi + 0x10]
lea rcx, [rsi + 0x120]
mov rax, qword [rsi + 0x158]
test rax, rax
jle 0x1400132e4
cmp qword [rsi + 0x160], 0
js 0x1400132e4
add rax, 0xffffffffffffff00
mov qword [rsi + 0x158], rax
call fcn.140029320
jmp 0x1400132e9
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 0x1400133c7
lea rax, [0x141e666d3]
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.1400079e0
mov r14, qword [rax]
mov rsi, qword [rax + 8]
movzx eax, byte [0x141e7b110]
mov ebx, 0x10
mov edx, 0x10
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
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 0x140013484
lea rax, [0x141e65dd8]
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.140007c30
mov r14, qword [rax]
mov ebp, dword [rax + 8]
movzx esi, word [rax + 0xc]
movzx r15d, byte [rax + 0xe]
movzx eax, byte [0x141e7b110]
mov ebx, 0xf
mov edx, 0xf
xor ecx, ecx
call fcn.140041110
test rax, rax
je 0x140013c84
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.1400123d0
lea rcx, [rsp + 0x120]
mov rdx, rsi
mov r8, rdi
call fcn.1400123d0
mov r14, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
movzx eax, byte [0x141e7b110]
xor ecx, ecx
mov rdx, rbx
call fcn.140041110
test rax, rax
je 0x140013c84
mov r12, rax
mov rcx, rax
mov rdx, qword [rsp + 0x48]
mov r8, rbx
call fcn.14005c828
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.1400344d0
mov r15, qword [rsp + 0x148]
mov rsi, qword [rsp + 0x150]
mov rbx, qword [rsp + 0x158]
cmp qword [rsp + 0x108], 0
je 0x140013553
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, r14
call fcn.14004e948
mov rcx, rsi
mov rdx, rbx
call fcn.140035330
test rax, rax
jne 0x140013c84
test rbx, rbx
js 0x140013c84
mov qword [rsp + 0x90], r15
mov r14, qword [rsp + 0x128]
mov r15, qword [rsp + 0x130]
je 0x1400135a8
movzx eax, byte [0x141e7b110]
xor ecx, ecx
mov rdx, rbx
call fcn.140041110
mov r12, rax
test rax, rax
jne 0x1400135ae
jmp 0x140013c84
mov r12d, 1
mov rcx, r12
mov rdx, rsi
mov r8, rbx
call fcn.14005c828
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.1400344d0
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 0x14001362b
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, r14
call fcn.14004e948
mov rcx, r15
mov rdx, rbx
call fcn.140035330
test rax, rax
jne 0x140013c84
test rbx, rbx
js 0x140013c84
je 0x140013668
movzx eax, byte [0x141e7b110]
xor ecx, ecx
mov rdx, rbx
call fcn.140041110
mov r14, rax
test rax, rax
jne 0x14001366e
jmp 0x140013c84
mov r14d, 1
mov rcx, r14
mov qword [rsp + 0x78], r15
mov rdx, r15
mov r8, rbx
call fcn.14005c828
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.1400344d0
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.140033830
test rax, rax
jne 0x140013c84
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 0x140013c86
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 0x140013c84
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x70], rsi
lea rcx, [rsp + 0x148]
mov rdx, rbx
call fcn.140033ac0
cmp dword [rsp + 0x148], 2
je 0x140013c84
mov rsi, qword [rsp + 0x180]
mov r14, qword [rsp + 0x50]
cmp rsi, 0x2a1fffff
mov qword [rsp + 0x80], r13
ja 0x140013852
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.14004e8d0
test eax, eax
je 0x140013ce4
lea rbx, [rsp + 0x148]
mov r8d, 0x1000
mov rcx, rbx
xor edx, edx
call fcn.14005c768
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 0x140013c84
sub r13, r12
jne 0x140013820
mov r12, qword [rsp + 0x28]
mov rcx, r14
call fcn.14004eaa0
test r15, r15
js 0x140013c84
je 0x1400138ae
movzx eax, byte [0x141e7b110]
xor ecx, ecx
mov rdx, r15
call fcn.140041110
test rax, rax
je 0x140013c84
mov r14, rax
mov rcx, rax
mov rdx, r12
mov r8, r15
call fcn.14005c828
movzx eax, byte [0x141e7b110]
xor ecx, ecx
mov rdx, r15
call fcn.140041110
mov rbx, rax
test rax, rax
jne 0x1400138c9
jmp 0x140013c84
mov r14d, 1
mov ecx, 1
mov rdx, r12
mov r8, r15
call fcn.14005c828
mov ebx, 1
movabs rsi, 0x8000000000000000
mov rcx, rbx
mov rdx, r14
mov r8, r15
call fcn.14005c828
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 0x1400139bd
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, r14
call fcn.14004e948
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.140037280
mov rbp, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xd8]
cmp r14, 2
jne 0x140013a0e
mov rbx, rbp
jmp 0x140013a52
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, [0x141e66a72]
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.140007780
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 0x140013c84
mov rcx, rbp
call fcn.14004eaa0
mov rcx, r15
call fcn.14004eaa0
test r14, r14
je 0x140013ad2
mov rcx, rbx
call fcn.14004eaa0
test sil, 1
mov rbx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xa0]
jne 0x140013afa
mov rcx, qword [rsp + 0x68]
call fcn.14004eaa0
test r12b, 1
jne 0x140013b0a
mov rcx, qword [rsp + 0x28]
call fcn.14004eaa0
lea rcx, [rsp + 0x148]
call fcn.140004830
cmp qword [rsp + 0x40], 0
mov rsi, qword [rsp + 0xb8]
mov r12, qword [rsp + 0x90]
je 0x140013b42
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, qword [rsp + 0x30]
call fcn.14004e948
cmp qword [rsp + 0x38], 0
je 0x140013b5b
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, r13
call fcn.14004e948
cmp qword [rsp + 0x88], 0
je 0x140013b79
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, qword [rsp + 0x78]
call fcn.14004e948
test r12, r12
mov r12, qword [rsp + 0x80]
je 0x140013b99
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, qword [rsp + 0x70]
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, qword [rsp + 0x48]
call fcn.14004e948
mov r8, qword [rsp + 0x58]
dec qword [r8]
jne 0x140013bca
dec qword [r8 + 8]
jne 0x140013bca
mov rcx, qword [0x141e7b0f0]
xor edx, edx
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, rdi
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, r12
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, rsi
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, rbx
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, r14
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, r15
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, qword [rsp + 0x60]
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, qword [rsp + 0x98]
call fcn.14004e948
mov rcx, qword [0x141e7b0f0]
xor edx, edx
mov r8, qword [rsp + 0xc0]
call fcn.14004e948
nop
add rsp, 0x1148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2
lea rax, [0x141e6eab8]
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.140007cf0
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.14004e9d0
ud2