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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x140079010]
xor rax, rsp
mov qword [rbp - 0x10], rax
movsxd r12, dword [rcx + 0x3c]
xor ebx, ebx
mov r13, rdx
mov rdi, rcx
mov esi, ebx
mov r11d, dword [r12 + rcx + 0x88]
add r11, rcx
mov r15d, dword [r11 + 0x24]
mov r10d, dword [r11 + 0x20]
add r15, rcx
add r10, rcx
cmp rdx, 0x10000
jae 0x140043b75
mov r8d, dword [r11 + 0x10]
movzx edx, r13w
cmp edx, r8d
jb 0x140043eac
mov ecx, dword [r11 + 0x14]
add ecx, r8d
cmp edx, ecx
jae 0x140043eac
mov ecx, dword [r11 + 0x1c]
sub edx, r8d
add rcx, rdi
mov rsi, qword [rcx + rdx*8]
jmp 0x140043bc7
mov r14d, dword [r11 + 0x18]
mov r9d, ebx
test r14d, r14d
je 0x140043bca
mov r8d, dword [r10]
mov rax, r13
add r8, rdi
sub r8, r13
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140043ba3
inc rax
test ecx, ecx
jne 0x140043b90
test edx, edx
je 0x140043bb5
inc r9d
add r10, 4
cmp r9d, r14d
jb 0x140043b81
jmp 0x140043bca
mov ecx, dword [r11 + 0x1c]
mov eax, r9d
add rcx, rdi
movzx edx, word [r15 + rax*2]
mov esi, dword [rcx + rdx*4]
add rsi, rdi
cmp rsi, r11
jb 0x140043e4a
mov eax, dword [r12 + rdi + 0x8c]
add rax, r11
cmp rsi, rax
jae 0x140043e4a
mov rcx, rsi
call fcn.14005d7b4
mov r15, rax
test rax, rax
je 0x140043eac
mov edx, ebx
nop dword [rax]
mov ecx, edx
cmp byte [rcx + rax], bl
je 0x140043c0e
inc edx
cmp edx, 0xffffffff
jb 0x140043c00
mov eax, ebx
mov rcx, r15
cmp byte [rcx], 0x2e
je 0x140043c26
inc eax
inc rcx
cmp eax, edx
jbe 0x140043c13
mov r12, rbx
jmp 0x140043c2c
mov r12d, eax
add r12, r15
mov byte [r12], bl
mov dl, 3
mov dword [rbp - 0x20], 0xdf178297
xor r9b, r9b
mov dword [rbp - 0x1c], 0x99b5c711
mov dword [rbp - 0x18], 0x8fe44814
mov word [rbp - 0x14], 0x6c00
mov byte [rbp - 0x12], 0xb4
mov dword [rbp - 0x30], 0x34a7af9e
mov dword [rbp - 0x2c], 0x251c12f8
mov dword [rbp - 0x28], 0xbdae81a5
mov word [rbp - 0x24], 0xb700
nop
xor r8b, r8b
nop dword [rax]
nop word [rax + rax]
movzx eax, dl
movzx ecx, r8b
shl al, 5
inc r8b
xor al, dl
shr dl, 1
and al, 0xe0
shl al, 2
or dl, al
xor byte [rbp + rcx - 0x30], dl
cmp r8b, 0xc
jb 0x140043c80
add r9b, al
cmp r9b, dl
jb 0x140043c70
mov rax, qword gs:[0x60]
test rax, rax
ror byte [rdi], 0x84
out 0, al
add byte [rax], al
mov rdi, qword [rax + 0x18]
test rdi, rdi
je 0x140043da2
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140043da2
mov ecx, ebx
cmp byte [rbp - 0x30], bl
je 0x140043ce8
nop dword [rax]
inc ecx
cmp byte [rbp + rcx - 0x30], bl
sal byte [rbp - 8], 1
mov r14, qword [rdi + 0x30]
inc ecx
test r14, r14
je 0x140043d7e
mov r11d, ecx
nop word [rax + rax]
mov rsi, qword [rdi + 0x60]
mov r10, rbx
test r11, r11
je 0x140043d4b
nop dword [rax]
movzx edx, byte [rsi + r10*2]
movzx r9d, byte [rbp + r10 - 0x30]
lea ecx, [rdx - 0x41]
cmp cl, 0x19
lea eax, [rdx + 0x20]
movzx r8d, al
lea eax, [r9 + 0x20]
cmova r8d, edx
movzx ecx, al
lea edx, [r9 - 0x41]
cmp dl, 0x19
cmova ecx, r9d
cmp cl, r8b
jne 0x140043d72
inc r10
cmp r10, r11
jb 0x140043d10
mov ecx, ebx
nop dword [rax]
mov eax, ecx
cmp byte [rbp + rax - 0x30], bl
je 0x140043d5f
inc ecx
cmp ecx, 0xffffffff
jb 0x140043d50
mov edx, ecx
invalid
invalid