Function at 0x140004b0d
Capabilities:
Encode data using xor

Disassembly:
mov rcx, rbx
mov qword [rbp - 0x40], rax
call fcn.140003bbc
mov edx, dword [r12 + 0x54]
mov r8, r12
mov rcx, rbx
mov qword [rbp - 0x48], rax
call fcn.140003bbc
mov edx, dword [r12 + 0xf0]
mov r8, r12
mov rcx, rbx
mov qword [rbp - 0x38], rax
call fcn.140003bbc
mov edx, dword [r12 + 0x118]
mov r8, r12
mov rcx, rbx
mov qword [rbp - 0x50], rax
call fcn.140003bbc
mov edx, dword [r12 + 0xb8]
mov r8, r12
mov rcx, rbx
mov qword [rbp - 0x68], rax
call fcn.140003bbc
mov edx, dword [r12 + 0x70]
mov r8, r12
mov rcx, rbx
mov qword [rbp - 0x58], rax
call fcn.140003bbc
mov qword [rbp - 0x60], rax
mov rax, qword [rsi + 0xc8]
mov edx, dword [rax + 0xf8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
mov rdx, r12
mov rcx, rsi
mov r8, rax
mov rbx, rax
call fcn.14000334c
mov rdx, rbx
mov rcx, rsi
call fcn.140003b0c
mov edx, dword [r12 + 0x98]
mov r8, r12
mov rcx, rax
mov r13, rax
call fcn.140003bbc
mov qword [rsi + 0xb0], rax
mov r8, r12
mov edx, dword [r12 + 0xc]
mov rcx, r13
call fcn.140003bbc
mov qword [rsi + 0xd0], rax
mov r8, r12
mov edx, dword [r12 + 0x58]
mov rcx, r13
call fcn.140003bbc
mov qword [rsi + 0x80], rax
mov rax, qword [rsi + 0xc8]
mov edx, dword [rax + 0xf8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
mov r8, r12
mov rcx, rsi
mov rdx, rax
mov r14, rax
call fcn.14000472c
cmp byte [r14 + 1], 0
jne 0x140004c2f
cmp byte [r14 + 5], 0
je 0x140004c6a
mov edi, 0x28
nop dword [rax + rax]
mov rbx, qword [rsi + 0xa0]
lea rcx, [rsp + 0x40]
mov edx, 8
call fcn.14000411c
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x40], 0xffffffffff21adf0
xor ecx, ecx
call rbx
sub rdi, 1
jne 0x140004c3c
xor ecx, ecx
call qword [rsi + 0x70]
cmp byte [r14 + 6], 0
jne 0x140004cdd
cmp byte [r14 + 7], 0
jne 0x140004cdd
mov edi, dword [r12 + 0x10]
lea r9, [rbp - 0x70]
add rdi, rax
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, rsi
call fcn.140002a6c
test eax, eax
jg 0x140004cdd
mov rbx, qword [rsi + 0xa0]
lea rcx, [rsp + 0x58]
mov edx, 8
call fcn.14000411c
lea rdx, [rsp + 0x58]
mov qword [rsp + 0x58], 0xfffffffffbea9ed0
xor ecx, ecx
call rbx
lea r9, [rbp - 0x70]
mov rdx, rdi
lea r8, [rsp + 0x70]
mov rcx, rsi
call fcn.140002a6c
test eax, eax
jle 0x140004c9d
mov edx, dword [r12 + 0x10c]
mov r8, r12
mov rcx, r13
mov qword [rbp - 0x20], rsi
call fcn.140003bbc
mov edx, dword [r12 + 0x74]
mov r8, r12
mov rcx, r13
mov qword [rbp - 0x18], rax
call fcn.140003bbc
mov edx, dword [r12 + 0xe0]
mov r8, r12
mov rcx, r15
mov qword [rbp - 0x10], rax
call fcn.140003bbc
mov qword [rbp - 0x30], rax
xor edi, edi
mov rax, qword [rsi + 0xc8]
mov r14d, edi
mov edx, dword [rax + 0xf8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
mov r8d, 0x104
xor ecx, ecx
mov rdx, rax
mov rbx, rax
call qword [rsi + 0x88]
mov qword [rsp + 0x30], rdi
lea r8d, [rdi + 1]
mov dword [rsp + 0x28], 0x80
xor r9d, r9d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov rcx, rbx
mov r13d, edi
call qword [rsi + 0xc0]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140004dd4
xor edx, edx
mov rcx, rax
call qword [rsi + 0x28]
mov r13d, eax
test eax, eax
je 0x140004dce
mov rax, qword [rsi + 0xc8]
mov edx, r13d
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
lea r9, [rbp + 0x68]
mov r8d, r13d
mov rdi, rax
mov rcx, rbx
xor eax, eax
mov rdx, rdi
mov dword [rbp + 0x68], eax
mov qword [rsp + 0x20], rax
call qword [rsi + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x140004dce
mov r14, rdi
mov rcx, rbx
call qword [rsi + 0x60]
mov edx, dword [r12 + 0x64]
mov r8, r12
mov rcx, r15
call fcn.140003bbc
movsxd r15, dword [r12 + 0x100]
mov qword [rsp + 0x70], rax
add r15, r14
xor eax, eax
mov dword [rbp + 0x58], eax
mov qword [rsp + 0x48], rax
mov r14d, dword [r15]
mov edi, dword [r15 + 4]
mov qword [rsp + 0x68], rax
mov eax, dword [r12 + 0xa4]
mov dword [rbp + 0x60], eax
mov eax, dword [r12 + 0xb4]
mov dword [rsp + 0x40], eax
mov eax, dword [r12 + 0xac]
xor eax, dword [r12 + 0x38]
cmp r14d, eax
jne 0x140004e56
lea rcx, [r15 + 8]
mov qword [rsp + 0x28], r12
lea r9, [rsp + 0x68]
mov qword [rsp + 0x20], rsi
mov r8d, edi
mov edx, r13d
call fcn.1400037ec
jmp 0x1400050a4
mov eax, r14d
test r14d, r14d
jne 0x140004e6b
mov rax, qword [rsi + 0xc8]
mov eax, dword [rax + 0xf8]
mov edx, eax
mov rax, qword [rsi + 0xc8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
lea rdx, [r15 + 8]
mov r8d, r14d
mov rcx, rax
mov rbx, rax
call fcn.140003eec
test r14d, r14d
je 0x140004eac
lea eax, [r14 - 1]
mov rdx, rbx
shr eax, 2
inc eax
xor dword [rdx], edi
lea rdx, [rdx + 4]
sub rax, 1
jne 0x140004ea0
mov rax, qword [rsi + 0xc8]
mov edx, dword [rax + 0xf8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
mov r15, rax
movzx eax, byte [rbx]
test al, al
je 0x140004ef1
mov rdx, r15
nop dword [rax]
nop word [rax + rax]
movsx ecx, al
lea rbx, [rbx + 1]
mov word [rdx], cx
lea rdx, [rdx + 2]
movzx eax, byte [rbx]
test al, al
jne 0x140004edc
mov rcx, rsi
call fcn.14000371c
mov rcx, r15
call fcn.140003eac
xor ecx, ecx
mov r13d, ecx
test eax, eax
je 0x140004f35
mov r9d, dword [r12 + 0x30]
mov rdx, r15
mov r8d, eax
nop dword [rax]
mov ecx, r9d
lea rdx, [rdx + 2]
imul ecx, r13d
movzx r13d, word [rdx - 2]
add r13d, ecx
sub r8, 1
jne 0x140004f1c
mov qword [rsp + 0x28], r12
lea r9, [rbp + 0x58]
lea r8, [rsp + 0x48]
mov dword [rsp + 0x20], r13d
lea rdx, [rbp - 0x30]
mov rcx, rsi
call fcn.140002fcc
test al, al
jne 0x140005080
mov rax, qword [rsi + 0xc8]
mov edx, dword [rax + 0xf8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
mov r12d, dword [rbp + 0x60]
mov r14, rax
xor eax, eax
mov edi, eax
cmp word [r14], 0
mov rcx, rax
je 0x140004f9f
mov rdx, r14
nop
mov word [rdx], ax
lea rcx, [rcx + 1]
cmp word [r14 + rcx*2], 0
lea rdx, [r14 + rcx*2]
jne 0x140004f8c
mov eax, edi
movzx eax, word [r15 + rax*2]
cmp ax, 0x3b
je 0x140004fca
mov rcx, r14
test ax, ax
je 0x140004fca
inc edi
mov word [rcx], ax
mov eax, edi
add rcx, 2
movzx eax, word [r15 + rdi*2]
cmp ax, 0x3b
jne 0x140004faf
mov rcx, r14
inc edi
call fcn.140003eac
test eax, eax
jne 0x140005009
mov rbx, qword [rsi + 0xa0]
lea edx, [rax + 8]
xor ecx, ecx
mov edi, ecx
lea rcx, [rsp + 0x60]
call fcn.14000411c
lea rdx, [rsp + 0x60]
mov qword [rsp + 0x60], 0xfffffffffd92a980
xor ecx, ecx
call rbx
xor eax, eax
jmp 0x140004f7d
lea r9, [rbp - 0x70]
mov rdx, r14
lea r8, [rsp + 0x48]
mov rcx, rsi
call fcn.140002a6c
mov ebx, eax
cmp eax, 4
mov eax, 0
jb 0x140004f7d
mov r8, qword [rsp + 0x48]
cmp dword [r8], r12d
jne 0x140004f7d
mov edx, eax
test ebx, ebx
je 0x140004f7d
mov eax, dword [rsp + 0x40]
mov rcx, r8
cmp dword [rcx], eax
je 0x140005060
inc edx
inc rcx
cmp edx, ebx
jb 0x14000504c
xor eax, eax
jmp 0x140004f7d
mov r12, qword [rsp + 0x78]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x28], r12
mov r9d, ebx
mov rcx, rsi
mov dword [rsp + 0x20], r13d
call fcn.14000316c
jmp 0x140005083
mov ebx, dword [rbp + 0x58]
mov rcx, qword [rsp + 0x48]
lea r8, [rsp + 0x68]
mov r9, rsi
mov qword [rsp + 0x20], r12
mov edx, ebx
call fcn.14000264c
test al, al
je 0x14000529a
mov r13, qword [rsp + 0x68]
mov ebx, dword [r13 + 0xc]
mov eax, ebx
mov r15d, dword [r13 + 8]
test ebx, ebx
jne 0x1400050c4
mov rax, qword [rsi + 0xc8]
mov eax, dword [rax + 0xf8]
mov edx, eax
mov rax, qword [rsi + 0xc8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
lea r9, [r13 + 0x10]
mov r8d, ebx
mov r14, rax
xor eax, eax
mov dword [rsp + 0x50], eax
mov rdx, r14
lea ecx, [rax + 2]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
call qword [rsi + 0x90]
test eax, eax
jne 0x14000529a
xor r15d, r15d
lea rcx, [r14 + 0x90]
mov ebx, r15d
call fcn.140003e6c
test eax, eax
jne 0x140005126
mov ebx, dword [r14 + 0x160]
mov eax, dword [r14 + 8]
lea r8, [rbp + 0x60]
mov r9d, dword [r12 + 0x60]
add rax, 0x3dd
add rax, r14
mov ecx, ebx
add rax, rcx
mov dword [rbp + 0x60], r15d
mov rdx, rax
mov qword [rbp + 0x68], rax
mov rcx, rsi
mov qword [rsp + 0x20], r12
call fcn.1400039ac
mov rcx, qword [rsi + 0xc8]
mov qword [rbp + 0x58], rax
mov edx, dword [rcx + 0xf8]
mov ecx, dword [rcx + 0x108]
call qword [rsi + 0x18]
lea rdi, [r14 + 0xf4]
mov rbx, rax
mov rcx, rdi
call fcn.140003e6c
test eax, eax
je 0x1400051b0
mov ecx, eax
lea rdx, [rcx + rdi]
lea r8, [rbx + rcx*2]
nop word [rax + rax]
movsx ecx, byte [rdx]
lea rdx, [rdx - 1]
mov word [r8], cx
lea r8, [r8 - 2]
add eax, 0xffffffff
jne 0x14000519c
mov ecx, eax
movsx eax, byte [rcx + rdi]
mov word [rbx + rcx*2], ax
mov ecx, r15d
cmp word [rbx], r15w
je 0x1400051cc
inc ecx
cmp word [rbx + rcx*2], r15w
jne 0x1400051c3
mov eax, ecx
cmp word [rbx + rax*2], 0x5c
je 0x1400051e5
nop dword [rax]
dec ecx
cmp word [rbx + rcx*2], 0x5c
jne 0x1400051dc
mov eax, ecx
mov rcx, rsi
inc rax
lea rdx, [rbx + rax*2]
call fcn.140003b0c
mov r15d, dword [rbp + 0x60]
movsxd rcx, dword [rax + 0x3c]
mov edi, dword [rcx + rax + 0x2c]
add rdi, rax
mov eax, r15d
test r15d, r15d
jne 0x14000521a
mov rax, qword [rsi + 0xc8]
mov eax, dword [rax + 0xf8]
mov edx, eax
mov rax, qword [rsi + 0xc8]
mov ecx, dword [rax + 0x108]
call qword [rsi + 0x18]
mov r8d, r15d
mov rdx, rdi
mov rcx, rax
call fcn.140003eec
mov rsi, qword [rsp + 0x70]
lea r9, [rbp + 0x50]
xor eax, eax
mov rdx, r15
mov dword [rbp + 0x50], eax
mov rcx, rdi
mov r8d, dword [r12 + 0x108]
call rsi
mov rdx, qword [rbp + 0x58]
mov r8d, r15d
mov rcx, rdi
call fcn.140003eec
mov r8d, dword [rbp + 0x50]
lea r9, [rbp + 0x50]
mov rdx, r15
mov rcx, rdi
call rsi
mov eax, dword [r12 + 0x108]
lea r9, [rbp - 0x80]
mov rdx, qword [rbp + 0x68]
mov r8, r13
mov rcx, r14
mov dword [rbp - 0x80], eax
mov qword [rbp - 0x7c], rdi
mov dword [rbp - 0x74], r15d
call rdi
add rsp, 0x108
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret