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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov eax, pe_nt_image_headers64
mov r10, rcx
mov qword [rsp + 0x108], r9
mov r9, qword [rcx + 0x20]
mov ecx, r8d
sar eax, cl
mov r11d, edx
mov ecx, eax
neg eax
lea rdx, [r9 + 1]
and eax, r11d
or eax, ecx
mov ecx, 0x20
sub rcx, rdx
add rdx, r10
mov byte [r10 + r9], al
xor eax, eax
mov rdi, rdx
rep stosb byte [rdi], al
mov eax, dword [r10 + 0x28]
mov r14d, dword [r10 + 0x5c]
mov dword [rsp + 0x30], eax
mov eax, dword [r10 + 0x2c]
mov dword [rsp + 0x34], eax
mov eax, dword [r10 + 0x30]
mov dword [rsp + 0x38], eax
mov eax, dword [r10 + 0x34]
mov dword [rsp + 0x3c], eax
mov eax, dword [r10 + 0x38]
mov dword [rsp + 0x40], eax
mov eax, dword [r10 + 0x3c]
mov dword [rsp + 0x44], eax
mov eax, dword [r10 + 0x40]
mov dword [rsp + 0x48], eax
mov eax, dword [r10 + 0x44]
mov dword [rsp + 0x4c], eax
mov eax, dword [r10 + 0x48]
mov dword [rsp + 0x78], eax
mov eax, dword [r10 + 0x4c]
mov dword [rsp + 0x7c], eax
mov eax, dword [r10 + 0x50]
mov dword [rsp + 0x80], eax
mov eax, dword [r10 + 0x54]
mov dword [rsp + 0x84], eax
mov eax, dword [r10 + 0x58]
mov dword [rsp + 0x88], eax
mov eax, dword [r10 + 0x60]
mov dword [rsp + 0x8c], eax
mov eax, dword [r10 + 0x64]
mov dword [rsp + 0x94], 2
mov r13d, dword [r10 + 0x80]
mov dword [rsp + 0x90], eax
mov eax, dword [r10 + 0x68]
mov dword [rsp + 0xc], eax
mov eax, dword [r10 + 0x6c]
mov dword [rsp + 0x14], eax
mov eax, dword [r10 + 0x70]
mov dword [rsp + 0x18], eax
mov eax, dword [r10 + 0x74]
mov dword [rsp + 8], eax
mov eax, dword [r10 + 0x78]
mov dword [rsp + 0x10], eax
mov eax, dword [r10 + 0x7c]
mov dword [rsp + 4], eax
mov eax, dword [r10 + 0x84]
mov dword [rsp + 0x1c], eax
mov r15d, dword [r10]
bswap r15d
mov eax, dword [r10 + 4]
bswap eax
mov dword [rsp + 0x20], eax
mov edi, dword [r10 + 8]
bswap edi
mov r11d, dword [r10 + 0xc]
bswap r11d
mov r12d, dword [r10 + 0x10]
bswap r12d
mov eax, dword [r10 + 0x14]
bswap eax
mov dword [rsp + 0x28], eax
mov r9d, dword [r10 + 0x18]
bswap r9d
mov esi, dword [r10 + 0x1c]
bswap esi
mov eax, dword [rsp + 0x78]
mov edx, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x80]
xor edx, eax
mov eax, dword [rsp + 0x7c]
mov ebp, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x40]
xor ecx, eax
mov eax, dword [rsp + 0x38]
xor eax, ebx
mov ebx, dword [rsp + 0x84]
xor ebp, ebx
mov ebx, dword [rsp + 0x88]
xor r8d, ebx
mov ebx, dword [rsp + 0x8c]
mov dword [rsp + 0x58], r8d
mov r8d, dword [rsp + 0x44]
xor r8d, r14d
mov dword [rsp + 0x60], r8d
mov r8d, dword [rsp + 0x48]
xor r8d, ebx
mov ebx, dword [rsp + 0x90]
mov dword [rsp + 0x68], r8d
mov r8d, dword [rsp + 0x4c]
xor r8d, ebx
mov ebx, dword [rsp + 0x14]
xor ecx, ebx
mov ebx, dword [rsp + 0x58]
mov dword [rsp + 0x50], ecx
mov ecx, dword [rsp + 0x10]
xor ebx, ecx
mov ecx, dword [rsp + 4]
mov dword [rsp + 0x58], ebx
mov ebx, dword [rsp + 0x60]
xor ebx, ecx
mov ecx, dword [rsp + 0x1c]
mov dword [rsp + 0x60], ebx
mov ebx, dword [rsp + 0x68]
xor r8d, ecx
mov ecx, dword [rsp + 8]
xor ebx, r13d
xor ebp, ecx
mov ecx, dword [rsp + 0x18]
mov dword [rsp + 0x68], ebx
xor ebp, r8d
xor eax, ecx
mov dword [rsp + 0x70], ebp
mov ecx, dword [rsp + 0xc]
mov ebx, dword [rsp + 0x30]
xor eax, r8d
xor edx, ecx
mov ecx, dword [rsp + 0x20]
xor ebx, r15d
xor r15d, esi
xor edx, r8d
mov dword [rsp + 0x98], ebx
mov ebx, dword [rsp + 0x34]
mov ebp, r15d
xor ebx, ecx
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x9c], ebx
mov ebx, dword [rsp + 0x38]
xor ebx, edi
xor edi, esi
mov dword [rsp + 0x38], ebx
mov ebx, dword [rsp + 0x3c]
xor ebx, r11d
xor r11d, esi
mov dword [rsp + 0x3c], ebx
mov ebx, dword [rsp + 0x40]
xor ebx, r12d
mov dword [rsp + 0x40], ebx
mov ebx, dword [rsp + 0x44]
xor ebx, ecx
mov ecx, dword [rsp + 0x20]
mov dword [rsp + 0x44], ebx
mov ebx, dword [rsp + 0x48]
xor ebx, r9d
mov dword [rsp + 0x48], ebx
mov ebx, dword [rsp + 0x4c]
xor ebx, esi
mov dword [rsp + 0x4c], ebx
mov ebx, dword [rsp + 0x78]
xor ebx, esi
mov dword [rsp + 0x78], ebx
mov ebx, dword [rsp + 0x7c]
xor ebx, r15d
mov r15d, dword [rsp + 0x88]
mov dword [rsp + 0x7c], ebx
mov ebx, dword [rsp + 0x80]
xor ebx, ecx
mov ecx, dword [rsp + 0x28]
xor r15d, r11d
xor r14d, r12d
mov dword [rsp + 0x80], ebx
mov ebx, dword [rsp + 0x84]
xor r13d, r12d
xor ebx, edi
mov dword [rsp + 0x84], ebx
mov ebx, dword [rsp + 0x8c]
xor ebx, ecx
mov dword [rsp + 0x30], ebx
mov ebx, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x70]
xor ebx, r9d
xor r15d, ecx
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x34], ebx
mov ebx, dword [rsp + 0x30]
xor r14d, ecx
mov ecx, dword [rsp + 0x60]
xor ebx, ecx
mov ecx, dword [rsp + 0x68]
mov dword [rsp + 0x30], ebx
mov ebx, dword [rsp + 0x34]
xor ebx, ecx
mov ecx, dword [rsp + 0x18]
mov dword [rsp + 0x34], ebx
mov ebx, dword [rsp + 0xc]
xor ebp, ecx
mov ecx, dword [rsp + 4]
xor ebx, r9d
mov dword [rsp + 0xc], ebx
mov r12d, dword [rsp + 0xc]
xor r11d, ecx
mov ebx, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x1c]
xor r12d, r8d
mov dword [rsp + 0xc], r12d
mov r12d, dword [rsp + 0x14]
xor ebx, ecx
mov ecx, dword [rsp + 0x20]
xor r12d, r9d
xor r12d, esi
mov esi, dword [rsp + 0x50]
xor r12d, edx
xor ebp, esi
mov esi, dword [rsp + 8]
mov dword [rsp + 0x14], r12d
mov dword [rsp + 0x18], ebp
xor esi, ecx
xor esi, r9d
xor esi, eax
mov dword [rsp + 8], esi
mov esi, dword [rsp + 0x10]
xor r9d, esi
xor r9d, edi
mov edi, dword [rsp + 0x70]
xor r9d, edi
mov edi, dword [rsp + 0x58]
rol r9d, 2
xor r11d, edi
mov edi, dword [rsp + 0x60]
mov dword [rsp + 0x10], r9d
rol r11d, 2
xor r13d, edi
mov edi, dword [rsp + 0x68]
mov dword [rsp + 4], r11d
rol r13d, 2
xor ebx, edi
rol ebx, 2
rol r15d, 1
mov dword [rsp + 0x1c], ebx
mov r9d, dword [rsp + 0x78]
shl r15, 0x20
rol r14d, 1
mov edi, dword [rsp + 0x98]
mov esi, dword [rsp + 0x50]
shl r14, 0x20
xor r9d, r8d
mov ebx, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x48]
shl r9, 0x20
xor r8d, edi
mov edi, dword [rsp + 0x9c]
mov ecx, esi
or r8, r9
mov r9d, dword [rsp + 0x7c]
rol ebx, 1
shl rbx, 0x20
xor r9d, edx
xor edx, edi
mov edi, dword [rsp + 0x38]
shl r9, 0x20
or rdx, r9
mov r9d, dword [rsp + 0x80]
xor ecx, edi
mov edi, dword [rsp + 0x3c]
xor r9d, esi
mov esi, dword [rsp + 0x4c]
shl r9, 0x20
or rcx, r9
mov r9d, dword [rsp + 0x84]
xor r9d, eax
xor eax, edi
mov edi, dword [rsp + 0x70]
shl r9, 0x20
or rax, r9
mov r9d, dword [rsp + 0x40]
xor r9d, edi
mov edi, dword [rsp + 0x58]
or r15, r9
mov r9d, dword [rsp + 0x44]
xor r9d, edi
mov edi, dword [rsp + 0x60]
or r9, r14
xor r11d, edi
mov edi, dword [rsp + 0x68]
or rbx, r11
mov r11d, dword [rsp + 0x34]
xor esi, edi
lea rdi, [0x1404b2fc0]
rol r11d, 1
shl r11, 0x20
or r11, rsi
lea rsi, [0x1404b3000]
mov rbp, r8
mov r12, r9
xor rcx, rax
xor r11, r15
or rbp, rdx
or r12, rbx
xor rbp, rax
xor r12, r15
and rax, r8
and r15, r9
xor rdx, rax
xor rbx, r15
xor rax, rcx
xor r15, r11
and rcx, rbp
and r11, r12
not rdx
not rbx
xor rcx, rdx
xor r11, rbx
or rdx, rax
or rbx, r15
xor r8, rdx
xor r15, r11
and r11, rbx
xor rax, rcx
mov qword [rsp + 0x20], r11
mov r11d, r8d
xor r15, r8
and rcx, rdx
rol r11d, 2
xor rdx, rbp
mov rbp, r15
xor r9, rbx
xor r11d, r15d
rol r15d, 0xe
not rdx
xor r15d, r11d
shr rbp, 0x20
rol r11d, 0xa
shr r8, 0x20
xor r9, rdx
rol r8d, 2
xor r11d, r15d
rol r15d, 1
xor r8d, ebp
rol ebp, 0xe
xor ebp, r8d
rol r8d, 0xa
xor r8d, ebp
rol ebp, 1
shl r8, 0x20
shl rbp, 0x20
mov r14, r8
mov r8, r9
or rbp, r15
mov r15, qword [rdi]
or r14, r11
mov r11d, edx
shr rdx, 0x20
shr r8, 0x20
rol edx, 2
xor edx, r8d
rol r11d, 2
rol r8d, 0xe
xor r11d, r9d
rol r9d, 0xe
xor r8d, edx
rol edx, 0xa
xor r9d, r11d
xor edx, r8d
rol r11d, 0xa
shl rdx, 0x20
xor r11d, r9d
rol r8d, 1
or rdx, r11
shl r8, 0x20
xor r12, rbx
xor r12, rcx
rol r9d, 1
not r12
or r9, r8
mov r8d, ecx
shr rcx, 0x20
rol ecx, 2
mov rbx, r12
rol r8d, 2
shr rbx, 0x20
xor r8d, r12d
rol r12d, 0xe
xor ecx, ebx
rol ebx, 0xe
xor r12d, r8d
xor ebx, ecx
rol ecx, 0xa
xor ecx, ebx
rol r8d, 0xa
shl rcx, 0x20
xor r8d, r12d
rol ebx, 1
rol r12d, 1
or rcx, r8
shl rbx, 0x20
mov r8, qword [rsp + 0x20]
or rbx, r12
mov r12d, eax
xor r8, rax
rol r12d, 2
xor r12d, r8d
mov r11, r8
rol r8d, 0xe
xor r8d, r12d
shr r11, 0x20
rol r12d, 0xa
shr rax, 0x20
xor r14, qword [rsi]
add rsi, 8
rol eax, 2
xor r12d, r8d
rol r8d, 1
xor r15, rbp
xor eax, r11d
rol r11d, 0xe
add rdi, 8
xor r11d, eax
rol eax, 0xa
xor eax, r11d
rol r11d, 1
shl r11, 0x20
shl rax, 0x20
or r11, r8
mov r8, r14
lea r14, [0x1404b3040]
or rax, r12
cmp r14, rsi
jne 0x1401e72e8
mov dword [rsp + 0x3c], eax
shr rax, 0x20
lea rbp, [0x1404b2f80]
mov qword [rsp + 0x58], rax
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x48], ebx
shr rbx, 0x20
mov dword [rsp + 0x84], eax
mov qword [rsp + 0x68], rbx
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], r8d
shr r8, 0x20
mov dword [rsp + 0x38], ecx
shr rcx, 0x20
mov dword [rsp + 0x4c], r11d
shr r11, 0x20
mov qword [rsp + 0x20], r8
mov edi, dword [rsp + 0x20]
mov qword [rsp + 0x50], rcx
mov esi, dword [rsp + 0x50]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0x70], r11
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x34], edx
shr rdx, 0x20
mov dword [rsp + 0x40], r15d
shr r15, 0x20
mov dword [rsp + 0x78], edi
mov qword [rsp + 0x28], rdx
mov edi, dword [rsp + 0x28]
mov dword [rsp + 0x44], r9d
shr r9, 0x20
mov dword [rsp + 0x80], esi
mov dword [rsp + 0x88], r15d
mov dword [rsp + 0x90], eax
mov qword [rsp + 0x60], r9
mov r14d, dword [rsp + 0x60]
mov dword [rsp + 0x7c], edi
lea rdi, [0x1404b2fa0]
mov eax, dword [rsp + 0x14]
mov r11d, dword [rsp + 0xc]
mov ecx, dword [rsp + 0x18]
mov ebx, dword [rsp + 0xc]
or r11d, eax
mov eax, dword [rsp + 8]
mov r9d, dword [rsp + 4]
mov esi, dword [rsp + 4]
mov edx, dword [rsp + 0x1c]
xor ecx, eax
xor r11d, eax
mov r8d, eax
mov eax, dword [rsp + 0xc]
or r9d, r13d
and r8d, eax
mov eax, dword [rsp + 0x14]
xor eax, r8d
xor r8d, ecx
and ecx, r11d
not eax
xor ecx, eax
or eax, r8d
xor ebx, eax
xor r8d, ecx
xor r11d, eax
and ecx, eax
mov eax, dword [rsp + 0x10]
not r11d
xor edx, eax
xor r9d, eax
and eax, esi
xor r13d, eax
xor eax, edx
and edx, r9d
not r13d
xor edx, r13d
mov r12d, r13d
or r12d, eax
xor eax, edx
xor eax, ebx
rol ebx, 2
xor esi, r12d
and edx, r12d
xor ebx, eax
rol eax, 0xe
xor eax, ebx
rol ebx, 0xa
xor ebx, eax
rol eax, 1
xor r9d, r12d
xor esi, r11d
xor r9d, ecx
xor edx, r8d
rol r11d, 2
xor eax, dword [rbp]
not r9d
rol ecx, 2
xor r11d, esi
xor ebx, dword [rdi]
rol r8d, 2
xor ecx, r9d
rol esi, 0xe
mov dword [rsp + 0x10], eax
xor r8d, edx
rol r9d, 0xe
xor esi, r11d
add rdi, 4
rol edx, 0xe
xor r9d, ecx
rol r11d, 0xa
mov dword [rsp + 0xc], ebx
xor edx, r8d
rol ecx, 0xa
xor r11d, esi
lea rax, [0x1404b2fc0]
rol r8d, 0xa
xor ecx, r9d
rol esi, 1
mov dword [rsp + 0x14], r11d
xor r8d, edx
rol r9d, 1
mov dword [rsp + 4], esi
add rbp, 4
rol edx, 1
mov dword [rsp + 0x18], ecx
mov r13d, r9d
mov dword [rsp + 8], r8d
mov dword [rsp + 0x1c], edx
cmp rax, rdi
jne 0x1401e7566
xor eax, eax
mov ecx, 8
mov rdi, r10
cmp dword [rsp + 0x94], 1
rep stosd dword [rdi], eax
je 0x1401e76ad
mov dword [rsp + 0x94], 1
jmp 0x1401e6f70
mov eax, dword [rsp + 0x30]
mov edi, dword [rsp + 0x20]
xor eax, edi
xor eax, ebx
bswap eax
mov rsi, qword [rsp + 0x108]
mov edi, dword [rsp + 0x28]
mov dword [rsi], eax
mov eax, dword [rsp + 0x34]
xor eax, edi
xor eax, r11d
bswap eax
mov rdi, qword [rsp + 0x108]
mov esi, dword [rsp + 0x50]
mov dword [rdi + 4], eax
mov eax, dword [rsp + 0x38]
mov edi, dword [rsp + 0x18]
xor eax, esi
xor eax, edi
bswap eax
mov rsi, qword [rsp + 0x108]
mov edi, dword [rsp + 0x58]
mov dword [rsi + 8], eax
mov eax, dword [rsp + 0x3c]
xor eax, edi
xor eax, r8d
bswap eax
mov rdi, qword [rsp + 0x108]
mov esi, dword [rsp + 0x10]
mov dword [rdi + 0xc], eax
mov eax, dword [rsp + 0x40]
xor eax, r15d
xor eax, esi
bswap eax
mov dword [rdi + 0x10], eax
mov esi, dword [rsp + 0x60]
mov eax, dword [rsp + 0x44]
mov edi, dword [rsp + 4]
xor eax, esi
xor eax, edi
bswap eax
mov rsi, qword [rsp + 0x108]
mov edi, dword [rsp + 0x68]
mov dword [rsi + 0x14], eax
mov eax, dword [rsp + 0x48]
xor eax, edi
xor eax, r9d
bswap eax
cmp dword [rsp + 0x110], 8
mov dword [rsi + 0x18], eax
jne 0x1401e777a
mov eax, dword [rsp + 0x4c]
mov edi, dword [rsp + 0x70]
xor eax, edi
xor eax, edx
bswap eax
mov rdi, qword [rsp + 0x108]
mov dword [rdi + 0x1c], eax
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret