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

Disassembly:
mov dword [rsp + 0x20], r9d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r13, qword [rcx + 0x10]
mov r14, rcx
xor ebx, ebx
mov qword [rsp + 0x90], r13
mov rcx, r13
mov ebp, r9d
mov rdi, r8
mov rsi, rdx
mov r15d, ebx
call fcn.140112390
movzx r12d, byte [rsi + 0x46]
mov r8d, eax
shr r12b, 4
not r12b
mov dword [rsp + 0x88], eax
and r12b, 2
or r12b, 0x44
mov byte [rsp + 0x80], r12b
cmp byte [rsp + 0xc8], bl
jne 0x1400eac32
movsx ecx, word [rsp + 0xb0]
mov r9d, r8d
mov eax, dword [rsp + 0xa8]
mov r8d, ebp
mov dword [rsp + 0x28], ecx
mov rcx, r13
movzx edx, r12b
mov dword [rsp + 0x20], eax
call fcn.140108a80
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x1400eac59
mov rcx, qword [rsi + 0x68]
mov rdx, qword [rsi]
add rcx, 0x50
call fcn.1400ec320
test rax, rax
jne 0x1400eac62
cmp qword [rsi + 0x20], rbx
jne 0x1400eac62
test rdi, rdi
je 0x1400eae3b
mov ebp, ebx
mov rbx, rdi
test rdi, rdi
je 0x1400eaca3
movzx r15d, byte [rsp + 0xc0]
cmp byte [rbx + 0x10], 0x6d
jne 0x1400eac9a
test byte [rbx + 0x11], 3
je 0x1400eac9a
mov r9d, r15d
mov r8, rsi
mov rdx, rbx
mov rcx, r14
call fcn.1400aabe0
test rax, rax
je 0x1400eac9a
or ebp, dword [rax + 0x1c]
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400eac75
mov rdx, rsi
mov rcx, r14
call fcn.1400e15b0
mov edx, dword [r14 + 0x54]
mov r15d, eax
movsx ecx, word [rsi + 0x3e]
xor eax, eax
mov r8d, dword [rsp + 0xa8]
inc ecx
or r15d, ebp
mov dword [rsp + 0x20], eax
lea ebp, [rdx + 1]
add edx, ecx
mov dword [r14 + 0x54], edx
mov r9d, ebp
lea edx, [rax + 0x21]
mov dword [rsp + 0xc8], ebp
mov rcx, r13
call fcn.1401089e0
xor eax, eax
mov ebx, eax
cmp ax, word [rsi + 0x3e]
jge 0x1400ead34
lea r12d, [rbp + 1]
mov ebp, dword [rsp + 0x98]
nop
cmp r15d, 0xffffffff
je 0x1400ead11
cmp ebx, 0x1f
jg 0x1400ead2a
bt r15d, ebx
jae 0x1400ead2a
lea eax, [r12 + rbx]
mov r9d, ebx
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov rdx, rsi
mov rcx, r13
call fcn.1400dae00
movsx eax, word [rsi + 0x3e]
inc ebx
cmp ebx, eax
jl 0x1400ead00
mov ebp, dword [r13 + 0x3c]
mov rbx, rdi
test rdi, rdi
je 0x1400eae10
mov r15d, dword [rsp + 0xc8]
mov r12d, dword [rsp + 0x88]
cmp byte [rbx + 0x10], 0x6d
jne 0x1400ead82
cmp byte [rbx + 0x11], 1
jne 0x1400ead82
movzx eax, byte [rsp + 0xc0]
mov r9d, r15d
mov dword [rsp + 0x28], r12d
mov r8, rsi
mov rdx, rbx
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400d2af0
mov rbx, qword [rbx + 0x40]
test rbx, rbx
jne 0x1400ead54
cmp ebp, dword [r13 + 0x3c]
mov ebp, dword [rsp + 0x98]
movzx r12d, byte [rsp + 0x80]
jge 0x1400eae17
mov eax, dword [rsp + 0xa8]
mov edx, r12d
mov r9d, dword [rsp + 0x88]
mov r8d, ebp
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.1401089e0
mov r8, qword [r13 + 8]
mov rcx, qword [r13]
test r8, r8
je 0x1400eae17
cmp byte [rcx + 0x51], bl
jne 0x1400eae17
test eax, eax
jns 0x1400eadde
mov eax, dword [r13 + 0x3c]
dec eax
cdqe
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 + 1]
mov r8, qword [rbx + 0x10]
call fcn.140087680
xor eax, eax
mov byte [rbx + 1], 0xf2
mov qword [rbx + 0x10], rax
movsx eax, word [rsp + 0xb0]
mov dword [rbx + 0x10], eax
jmp 0x1400eae17
mov ebp, dword [rsp + 0x98]
mov r15d, dword [rsp + 0xc8]
xor ebx, ebx
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov r8d, r15d
mov qword [rsp + 0x20], rbx
mov rdx, rsi
mov rcx, r14
call fcn.1400e04e0
cmp qword [rsi + 0x18], 0
jne 0x1400eaef8
mov r9d, dword [rsp + 0xa0]
mov r8d, ebp
mov rdx, rsi
mov qword [rsp + 0x20], rbx
mov rcx, r14
call fcn.1400eb0f0
mov r9d, ebx
mov r8d, ebp
movzx ebx, byte [rsp + 0xb8]
mov rcx, r13
test bl, bl
setne r9b
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x5f]
call fcn.1401089e0
test bl, bl
je 0x1400eaef8
mov r8, qword [r13 + 8]
mov rbp, qword [rsi]
mov rcx, qword [r13]
test r8, r8
je 0x1400eaef8
cmp byte [rcx + 0x51], 0
jne 0x1400eaef8
movsxd rax, dword [r13 + 0x3c]
lea rdx, [rax + rax*2]
lea rbx, [r8 + rdx*8]
movsx edx, byte [r8 + rdx*8 - 0x17]
mov r8, qword [rbx - 8]
call fcn.140087680
xor ecx, ecx
mov qword [rbx - 8], rcx
test rbp, rbp
jne 0x1400eaecb
mov byte [rbx - 0x17], cl
jmp 0x1400eaefa
mov rax, rbp
cmp byte [rbp], cl
je 0x1400eaeda
inc rax
cmp byte [rax], cl
jne 0x1400eaed3
mov rcx, qword [r13]
sub eax, ebp
and eax, 0x3fffffff
mov rdx, rbp
mov r8d, eax
call fcn.1400d6690
mov qword [rbx - 8], rax
mov byte [rbx - 0x17], 0xff
xor ecx, ecx
mov rax, qword [r14]
test dword [rax + 0x2c], 0x80000
je 0x1400eb04c
mov r9, qword [rsi + 0x68]
lea r12, [0x14024c050]
mov r11, qword [rsi]
mov r10, qword [r9 + 0x60]
test r10, r10
je 0x1400eaf65
mov eax, ecx
mov r8, r11
movzx ecx, byte [r11]
test cl, cl
je 0x1400eaf4f
nop
movzx ecx, cl
lea r8, [r8 + 1]
movzx edx, byte [rcx + r12]
lea ecx, [rax*8]
xor edx, ecx
movzx ecx, byte [r8]
xor eax, edx
test cl, cl
jne 0x1400eaf30
xor edx, edx
div dword [r9 + 0x50]
mov ecx, edx
add rcx, rcx
mov rbx, qword [r10 + rcx*8 + 8]
mov ebp, dword [r10 + rcx*8]
jmp 0x1400eaf6d
mov rbx, qword [r9 + 0x58]
mov ebp, dword [r9 + 0x54]
test ebp, ebp
je 0x1400eb04c
mov r10, qword [rbx + 0x18]
dec ebp
test r10, r10
jne 0x1400eaf8a
mov rax, r11
neg rax
sbb edx, edx
jmp 0x1400eafeb
test r11, r11
je 0x1400eafef
movzx r9d, byte [r10]
mov r8, r11
test r9b, r9b
je 0x1400eafd7
movzx eax, r9b
sub r10, r11
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r8]
movzx r9d, al
movzx ecx, al
movzx eax, byte [rdx + r12]
cmp byte [rcx + r12], al
jne 0x1400eafd7
movzx eax, byte [r10 + r8 + 1]
inc r8
movzx r9d, al
test al, al
jne 0x1400eafb0
movzx eax, byte [r8]
movzx ecx, byte [rax + r12]
movzx eax, r9b
movzx edx, byte [rax + r12]
sub edx, ecx
test edx, edx
je 0x1400eaffc
mov rbx, qword [rbx]
test ebp, ebp
jne 0x1400eaf75
jmp 0x1400eb04c
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x1400eb04c
xor ebp, ebp
nop word [rax + rax]
xor r9d, r9d
mov r8, rbx
mov rdx, rsi
mov rcx, r14
call fcn.1400837c0
test rax, rax
je 0x1400eb043
mov dword [rsp + 0x28], ebp
mov r9d, r15d
mov r8, rsi
mov dword [rsp + 0x20], 2
mov rdx, rax
mov rcx, r14
call fcn.1400d2af0
mov rbx, qword [rbx + 0x18]
test rbx, rbx
jne 0x1400eb010
test rdi, rdi
je 0x1400eb09f
mov r13d, dword [rsp + 0x88]
nop dword [rax]
cmp byte [rdi + 0x10], 0x6d
jne 0x1400eb08e
cmp byte [rdi + 0x11], 2
jne 0x1400eb08e
movzx eax, byte [rsp + 0xc0]
mov r9d, r15d
mov dword [rsp + 0x28], r13d
mov r8, rsi
mov rdx, rdi
mov dword [rsp + 0x20], eax
mov rcx, r14
call fcn.1400d2af0
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1400eb060
mov r13, qword [rsp + 0x90]
mov rdx, qword [r13 + 0x30]
mov eax, 0xffffffff
sub eax, dword [rsp + 0x88]
js 0x1400eb0c8
mov r8, qword [rdx + 0x80]
test r8, r8
je 0x1400eb0c8
movsxd rcx, eax
mov eax, dword [r13 + 0x3c]
mov dword [r8 + rcx*4], eax
mov eax, dword [r13 + 0x3c]
dec eax
mov dword [rdx + 0x64], eax
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret