Function at 0x14005dda0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x20]
sub rsp, 0x120
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x170], rbx
mov rax, qword [0x140115fa8]
xor rax, rsp
mov qword [rbp + 0x10], rax
mov r15, rdx
mov rsi, rcx
mov rax, qword [rdx]
lea rdx, [rsp + 0x38]
mov rcx, r15
call qword [rax + 0x90]
mov r12, qword [rax + 8]
xor ebx, ebx
mov edi, ebx
mov rcx, rsi
call fcn.1400534e0
cmp eax, 0xb
jne 0x14005df4e
mov rcx, rsi
call fcn.140097300
test al, al
je 0x14005df4e
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e190
mov r14, rax
mov rcx, rax
call fcn.14009c0e0
test al, al
je 0x14005df4e
mov r8, rsi
mov rdx, r15
lea rcx, [rsp + 0x70]
call fcn.14004b630
nop
mov r8, rsi
mov rdx, r15
lea rcx, [rbp - 0x40]
call fcn.14004b630
nop
mov rcx, rsi
call fcn.140097450
mov r15, qword [rax + 0x28]
mov rcx, rsi
call fcn.140097450
mov rsi, qword [rax + 0x28]
mov rax, qword [r14]
lea rdx, [rsp + 0x70]
mov rcx, r14
call qword [rax + 0x28]
mov rax, qword [r14]
lea rdx, [rbp - 0x40]
mov rcx, r14
call qword [rax + 0x30]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x70]
call qword [rax + 0x20]
test al, al
jne 0x14005df0a
lea rdx, [rbp - 0x80]
mov rcx, r15
call fcn.140060fc0
lea rbx, [rax + 2]
lea rdx, [rbp - 0x58]
lea rcx, [rsi + 0x98]
call fcn.140061260
add rbx, rax
mov ecx, ebx
or ecx, 1
bsr edx, ecx
lea edx, [rdx + rdx*8]
add edx, 0x49
shr rdx, 6
add rdx, rbx
add rdi, rdx
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [rax + 0x88]
mov rcx, qword [rsp + 0x78]
mov rax, qword [rcx]
lea r8, [rbp - 0x40]
lea rdx, [rsp + 0x70]
call qword [rax + 0x20]
test al, al
je 0x14005dea4
mov rcx, qword [rbp - 0x38]
mov rax, qword [rcx]
lea rdx, [rbp - 0x40]
call qword [rax + 0x78]
cmp dword [rbp - 0x10], 9
jne 0x14005df28
lea rcx, [rbp - 0x30]
call fcn.140024410
nop
mov rcx, qword [rsp + 0x78]
mov r8, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [r8 + 0x78]
cmp dword [rbp - 0x60], 9
jne 0x14005df49
lea rcx, [rbp - 0x80]
call fcn.140024410
nop
jmp case.default.0x14005dfc2
cmp dword [rsi + 0x3c], 3
jne 0x14005df67
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004d7b0
mov r14d, eax
jmp 0x14005df9c
mov rax, qword [rsi + 0x50]
mov rcx, qword [rax + 0x20]
cmp byte [rcx + 0x4b], bl
je 0x14005df7c
mov r14d, 1
jmp 0x14005df9c
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004f640
mov rcx, rbx
mov r14d, 1
test al, al
cmovne rcx, r14
mov r14, rcx
mov rcx, rsi
call fcn.1400534e0
dec eax
cmp eax, 0x11
ja case.default.0x14005dfc2
cdqe
lea rdx, [0x140000000]
mov ecx, dword [rdx + rax*4 + 0x5e490]
add rcx, rdx
jmp rcx
cmp dword [rsi + 0x3c], 3
jne 0x14005e011
test r14, r14
je case.default.0x14005dfc2
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e9c0
test eax, eax
jns 0x14005dfef
mov eax, 0xa
jmp 0x14005dfff
or eax, 1
bsr eax, eax
lea eax, [rax + rax*8]
add eax, 0x49
shr rax, 6
add rdi, rax
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005dfd3
jmp case.default.0x14005dfc2
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e010
test eax, eax
jns 0x14005e02d
mov edi, 0xa
jmp case.default.0x14005dfc2
or eax, 1
bsr eax, eax
jmp 0x14005e10a
cmp dword [rsi + 0x3c], 3
jne 0x14005e085
test r14, r14
je case.default.0x14005dfc2
nop word [rax + rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004ea90
or rax, 1
bsr rcx, rax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e050
jmp case.default.0x14005dfc2
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e0d0
or rax, 1
bsr rcx, rax
lea edi, [rcx*8 + 0x49]
add edi, ecx
jmp 0x14005e113
cmp dword [rsi + 0x3c], 3
jne 0x14005e0ed
test r14, r14
je case.default.0x14005dfc2
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e9c0
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
or ecx, 1
bsr eax, ecx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e0b1
jmp case.default.0x14005dfc2
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e010
mov ecx, eax
sar ecx, 0x1f
add eax, eax
xor ecx, eax
or ecx, 1
bsr eax, ecx
lea edi, [rax*8 + 0x49]
add edi, eax
shr rdi, 6
mov rax, rdi
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.140047d70
mov rbx, qword [rsp + 0x170]
add rsp, 0x120
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
cmp dword [rsi + 0x3c], 3
jne 0x14005e192
test r14, r14
je case.default.0x14005dfc2
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004ea90
mov rcx, rax
sar rcx, 0x3f
add rax, rax
xor rcx, rax
or rcx, 1
bsr rax, rcx
lea ecx, [rax*8 + 0x49]
add ecx, eax
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e150
jmp case.default.0x14005dfc2
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e0d0
mov rcx, rax
sar rcx, 0x3f
add rax, rax
xor rcx, rax
or rcx, 1
bsr rax, rcx
jmp 0x14005e10a
cmp dword [rsi + 0x3c], 3
jne 0x14005e203
test r14, r14
je case.default.0x14005dfc2
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004ee20
or eax, 1
bsr ecx, eax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e1d0
jmp case.default.0x14005dfc2
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004f190
or eax, 1
bsr ecx, eax
lea edi, [rcx*8 + 0x49]
add edi, ecx
jmp 0x14005e113
cmp dword [rsi + 0x3c], 3
jne 0x14005e269
test r14, r14
je case.default.0x14005dfc2
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004eef0
or rax, 1
bsr rcx, rax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rdi, rcx
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e234
jmp case.default.0x14005dfc2
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004f250
jmp 0x14005e093
lea rdi, [r14*4]
jmp case.default.0x14005dfc2
lea rdi, [r14*8]
jmp case.default.0x14005dfc2
mov rdi, r14
jmp case.default.0x14005dfc2
cmp dword [rsi + 0x3c], 3
jne 0x14005e2dc
test r14, r14
je case.default.0x14005dfc2
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004eb60
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
add rdi, rax
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e2b0
jmp case.default.0x14005dfc2
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e200
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x40]
mov rdi, rax
jmp case.default.0x14005dfc2
cmp dword [rsi + 0x3c], 3
jne 0x14005e33b
test r14, r14
je case.default.0x14005dfc2
nop dword [rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004eb60
mov rcx, rax
call fcn.14002e680
add rdi, rax
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e310
jmp case.default.0x14005dfc2
xor r9d, r9d
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e200
mov rcx, rax
call fcn.14002e680
mov rdi, rax
jmp case.default.0x14005dfc2
cmp dword [rsi + 0x3c], 3
jne 0x14005e3b1
test r14, r14
je case.default.0x14005dfc2
nop dword [rax + rax]
mov r9d, ebx
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004e740
mov ecx, dword [rax + 0x10]
test ecx, ecx
jns 0x14005e38f
mov eax, 0xa
jmp 0x14005e39f
or ecx, 1
bsr eax, ecx
lea eax, [rax + rax*8]
add eax, 0x49
shr rax, 6
add rdi, rax
inc ebx
movsxd rax, ebx
cmp rax, r14
jb 0x14005e370
jmp case.default.0x14005dfc2
mov r8, rsi
mov rdx, r15
mov rcx, r12
call fcn.14004db90
mov ecx, dword [rax + 0x10]
test ecx, ecx
js 0x14005e023
jmp 0x14005e104
mov r13d, ebx
test r14, r14
je case.default.0x14005dfc2
nop dword [rax + rax]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], 0xf
mov byte [rsp + 0x48], 0
mov r8, rsi
mov rdx, r15
mov rcx, r12
cmp dword [rsi + 0x3c], 3
jne 0x14005e416
lea rax, [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, r13d
call fcn.14004ed50
jmp 0x14005e420
lea r9, [rsp + 0x48]
call fcn.14004f0b0
mov rdx, qword [rax + 0x10]
mov eax, edx
or eax, 1
bsr ecx, eax
lea ecx, [rcx + rcx*8]
add ecx, 0x49
shr rcx, 6
add rcx, rdx
add rdi, rcx
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x14005e475
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005e470
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005e489
call fcn.140047a18
inc r13d
movsxd rax, r13d
cmp rax, r14
jae case.default.0x14005dfc2
jmp 0x14005e3e0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3