Function at 0x14003c190
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x98
call fcn.1400035e0
sub rsp, rax
mov rax, qword [0x1401ad1c0]
mov qword [rsp + 0x40], rax
test rcx, rcx
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0x78], rdi
mov rdi, qword [rsp + 0xc0]
mov rbx, r8
mov rsi, rdx
je 0x14003c5b4
test rdx, rdx
je 0x14003c5b4
cmp byte [rdx], 1
je 0x14003c5b4
test r8, r8
je 0x14003c5ad
test r9d, r9d
jle 0x14003c5ad
mov qword [rsp + 0x88], rbp
mov qword [rsp + 0x70], r12
mov eax, r9d
cdq
mov qword [rsp + 0x68], r13
and edx, 0x7f
add eax, edx
movzx edx, byte [rcx + 0x14]
sar eax, 7
dec edx
mov r12d, eax
je 0x14003c576
dec edx
je 0x14003c4cc
dec edx
je 0x14003c270
mov eax, 0xfffffffb
mov r12, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x88]
mov r13, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
call fcn.14006b6a0
add rsp, 0x98
ret
test r12d, r12d
mov eax, dword [rcx]
mov ebx, r12d
mov dword [rsp + 0x20], eax
mov eax, dword [rcx + 4]
mov dword [rsp + 0x24], eax
mov eax, dword [rcx + 8]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0xc]
mov dword [rsp + 0x2c], eax
jle 0x14003c5a1
mov qword [rsp + 0x60], r14
movzx r14d, byte [rsp + 0x2f]
mov qword [rsp + 0x58], r15
movzx r15d, byte [rsp + 0x2e]
nop
xor ebp, ebp
nop
nop
nop
nop
mov eax, dword [rsp + 0x20]
mov r9d, dword [rsi + 0x4c]
lea r8, [rsi + 0x54]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x24]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x28]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x2c]
mov dword [rsp + 0x3c], eax
call fcn.140055af0
movzx r9d, byte [rsp + 0x22]
movzx eax, byte [rsp + 0x30]
mov edx, ebp
mov r11d, ebp
and al, 0x80
shr edx, 3
and r11d, 7
movzx ecx, r11b
shr al, cl
xor byte [rdx + rdi], al
movzx r8d, byte [rdx + rdi]
movzx edx, byte [rsp + 0x21]
movzx eax, byte [rsp + 0x20]
movzx ecx, dl
shr cl, 7
add al, al
or cl, al
movzx eax, dl
movzx edx, byte [rsp + 0x23]
mov byte [rsp + 0x20], cl
add al, al
movzx ecx, r9b
shr cl, 7
or cl, al
movzx eax, r9b
movzx r9d, byte [rsp + 0x24]
mov byte [rsp + 0x21], cl
add al, al
movzx ecx, dl
shr cl, 7
or cl, al
movzx eax, dl
movzx edx, byte [rsp + 0x25]
mov byte [rsp + 0x22], cl
add al, al
movzx ecx, r9b
shr cl, 7
or cl, al
movzx eax, r9b
movzx r9d, byte [rsp + 0x26]
mov byte [rsp + 0x23], cl
add al, al
movzx ecx, dl
shr cl, 7
or cl, al
movzx eax, dl
movzx edx, byte [rsp + 0x27]
mov byte [rsp + 0x24], cl
add al, al
movzx ecx, r9b
shr cl, 7
or cl, al
movzx eax, r9b
movzx r9d, byte [rsp + 0x28]
mov byte [rsp + 0x25], cl
add al, al
movzx ecx, dl
shr cl, 7
or cl, al
movzx eax, dl
movzx edx, byte [rsp + 0x29]
mov byte [rsp + 0x26], cl
movzx ecx, r9b
add al, al
shr cl, 7
or cl, al
mov byte [rsp + 0x27], cl
movzx ecx, dl
shr cl, 7
movzx eax, r9b
movzx r9d, byte [rsp + 0x2a]
add al, al
inc ebp
or cl, al
movzx eax, dl
movzx edx, byte [rsp + 0x2b]
mov byte [rsp + 0x28], cl
add al, al
movzx ecx, r9b
shr cl, 7
or cl, al
movzx eax, r9b
movzx r9d, byte [rsp + 0x2c]
add al, al
mov byte [rsp + 0x29], cl
movzx ecx, dl
shr cl, 7
movzx r10d, r9b
or cl, al
movzx eax, dl
movzx edx, byte [rsp + 0x2d]
add al, al
mov byte [rsp + 0x2a], cl
movzx ecx, dl
shr cl, 7
shr r10b, 7
or r10b, al
movzx eax, r9b
mov r9b, cl
add al, al
movzx ecx, r15b
mov byte [rsp + 0x2b], r10b
or r9b, al
shr cl, 7
movzx eax, dl
add al, al
mov dl, cl
movzx ecx, r14b
or dl, al
shr cl, 7
movzx eax, r15b
add al, al
mov r15b, cl
mov ecx, 7
or r15b, al
movzx eax, r14b
sub cl, r11b
shr r8b, cl
add al, al
mov byte [rsp + 0x2c], r9b
and r8b, 1
mov byte [rsp + 0x2d], dl
mov byte [rsp + 0x2e], r15b
mov r14b, r8b
or r14b, al
cmp ebp, 0x80
mov byte [rsp + 0x2f], r14b
jl 0x14003c2c0
dec ebx
test ebx, ebx
jg 0x14003c2b0
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
shl r12d, 7
mov eax, r12d
jmp 0x14003c237
mov eax, dword [r8]
mov r9d, dword [rsi + 0x4c]
mov rdx, rdi
xor eax, dword [rcx]
mov dword [rsp + 0x30], eax
mov eax, dword [r8 + 4]
xor eax, dword [rcx + 4]
mov dword [rsp + 0x34], eax
mov eax, dword [r8 + 8]
xor eax, dword [rcx + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [r8 + 0xc]
lea r8, [rsi + 0x54]
xor eax, dword [rcx + 0xc]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x3c], eax
call fcn.140055af0
lea ebp, [r12 - 1]
add rbx, 0x10
test ebp, ebp
jle 0x14003c5a1
nop
mov eax, dword [rbx]
mov r9d, dword [rsi + 0x4c]
add rdi, 0x10
xor eax, dword [rdi - 0x10]
lea r8, [rsi + 0x54]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], eax
mov eax, dword [rdi - 0xc]
mov rdx, rdi
xor eax, dword [rbx + 4]
mov dword [rsp + 0x34], eax
mov eax, dword [rdi - 8]
xor eax, dword [rbx + 8]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi - 4]
xor eax, dword [rbx + 0xc]
mov dword [rsp + 0x3c], eax
call fcn.140055af0
dec ebp
add rbx, 0x10
test ebp, ebp
jg 0x14003c520
shl r12d, 7
mov eax, r12d
jmp 0x14003c237
test eax, eax
mov ebp, eax
jle 0x14003c5a1
nop
mov r9d, dword [rsi + 0x4c]
lea r8, [rsi + 0x54]
mov rdx, rdi
mov rcx, rbx
call fcn.140055af0
dec ebp
add rbx, 0x10
add rdi, 0x10
test ebp, ebp
jg 0x14003c580
shl r12d, 7
mov eax, r12d
jmp 0x14003c237
xor eax, eax
jmp 0x14003c249
mov eax, 0xfffffffb
jmp 0x14003c249