Function at 0x140049080
Capabilities:
Encode data using xor
Resolve function by parsing pe exports
Terminate process

Disassembly:
push rbp
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rax, qword [0x140079010]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov qword [rsp + 0x40], r9
xor r9b, r9b
mov dword [rsp + 0x28], edx
mov dl, 9
mov dword [rsp + 0x2c], r8d
mov qword [rsp + 0x38], rcx
mov dword [rbp - 0x50], 0x4524c810
mov dword [rbp - 0x4c], 0x9076e670
mov dword [rbp - 0x48], 0x96988cff
mov dword [rbp - 0x44], 0xe0e2af00
mov byte [rbp - 0x40], 0xd5
mov dword [rbp - 0x38], 0x1ea6c107
mov dword [rbp - 0x34], 0x46413bc0
mov dword [rbp - 0x30], 0x4b6ea79
mov dword [rbp - 0x2c], 0x2e00ec53
mov byte [rbp - 0x28], 0x11
nop dword [rax]
nop dword [rax + rax]
xor r8b, r8b
nop dword [rax]
nop word [rax + rax]
movzx ecx, dl
movzx eax, r8b
shl cl, 5
inc r8b
xor cl, dl
shr dl, 1
and cl, 0xe0
shl cl, 2
or dl, cl
xor byte [rbp + rax - 0x38], dl
cmp r8b, 0xe
jb 0x140049110
add r9b, cl
cmp r9b, dl
jb 0x140049100
mov dl, 5
xor r9b, r9b
xor r8b, r8b
nop dword [rax]
nop word [rax + rax]
movzx ecx, dl
movzx eax, r8b
shl cl, 5
inc r8b
xor cl, dl
shr dl, 1
and cl, 0xe0
shl cl, 2
or dl, cl
xor byte [rbp + rax - 0x50], dl
cmp r8b, 0xc
jb 0x140049150
add r9b, cl
cmp r9b, dl
jb 0x140049140
mov dword [rsp + 0x48], 0x34a7af9e
mov dl, 3
mov dword [rsp + 0x4c], 0x251c12f8
xor r9b, r9b
mov dword [rsp + 0x50], 0xbdae81a5
mov word [rsp + 0x54], 0xb700
mov dword [rsp + 0x68], 0xdf178297
mov dword [rsp + 0x6c], 0x99b5c711
mov dword [rsp + 0x70], 0x8fe44814
mov word [rsp + 0x74], 0x6c00
mov byte [rsp + 0x76], 0xb4
mov dword [rsp + 0x78], 0xd8654601
mov dword [rsp + 0x7c], 0x89f24d36
mov dword [rbp - 0x80], 0x89abd600
mov dword [rbp - 0x7c], 0xa7008885
mov dword [rbp - 0x78], 0xd50b75e3
mov byte [rbp - 0x74], 0xd3
nop dword [rax]
xor r8b, r8b
nop dword [rax]
nop word [rax + rax]
movzx ecx, dl
movzx eax, r8b
shl cl, 5
inc r8b
xor cl, dl
shr dl, 1
and cl, 0xe0
shl cl, 2
or dl, cl
xor byte [rsp + rax + 0x48], dl
cmp r8b, 0xc
jb 0x140049200
add r9b, cl
cmp r9b, dl
jb 0x1400491f0
mov rax, qword gs:[0x60]
mov qword [rsp + 0x128], rbx
mov qword [rsp + 0x120], rsi
mov qword [rsp + 0x118], rdi
mov qword [rsp + 0x110], r12
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x100], r14
mov qword [rsp + 0xf8], r15
mov dword [rsp + 0xf8], edi
test rax, rax
je 0x140049b42
add byte [rax], al
mov rdi, qword [rax + 0x18]
test rdi, rdi
je 0x140049b42
mov rdi, qword [rdi + 0x10]
test rdi, rdi
je 0x140049b42
xor ebx, ebx
mov ecx, ebx
cmp byte [rsp + 0x48], bl
je 0x1400492a8
nop dword [rax]
inc ecx
cmp byte [rsp + rcx + 0x48], bl
jne 0x1400492a0
mov r13, qword [rdi + 0x30]
inc ecx
test r13, r13
je 0x140049404
mov r11d, ecx
nop word [rax + rax]
mov rsi, qword [rdi + 0x60]
mov r10, rbx
test r11, r11
je 0x14004930f
nop dword [rax]
movzx edx, byte [rsi + r10*2]
movzx r9d, byte [rsp + r10 + 0x48]
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 0x1400493f4
inc r10
cmp r10, r11
jb 0x1400492d0
mov ecx, ebx
mov eax, ecx
cmp byte [rsp + rax + 0x48], bl
je 0x140049320
inc ecx
cmp ecx, 0xffffffff
jb 0x140049311
mov edx, ecx
mov rax, rbx
mov eax, ebx
test ecx, ecx
je 0x140049338
nop dword [rax]
inc rax
cmp rax, rdx
jb 0x140049330
test r13, r13
je 0x140049b68
mov dl, 2
xor r9b, r9b
nop word [rax + rax]
xor r8b, r8b
nop dword [rax]
nop word [rax + rax]
movzx ecx, dl
movzx eax, r8b
shl cl, 5
inc r8b
xor cl, dl
shr dl, 1
and cl, 0xe0
shl cl, 2
or dl, cl
xor byte [rsp + rax + 0x68], dl
cmp r8b, 0xc
jb 0x140049360
add r9b, cl
cmp r9b, dl
jb 0x140049350
movsxd r14, dword [r13 + 0x3c]
lea rax, [rsp + 0x68]
push 0x244c8d48
push 0x245c8948
and byte [rbx + rcx*4 - 0x1d], cl
mov r11d, dword [r14 + r13 + 0x88]
add r11, r13
mov esi, dword [r11 + 0x24]
mov r10d, dword [r11 + 0x20]
add rsi, r13
add r10, r13
cmp rax, 0x10000
jae 0x14004942d
mov r8d, dword [r11 + 0x10]
movzx edx, cx
cmp edx, r8d
jb 0x140049b68
mov ecx, dword [r11 + 0x14]
add ecx, r8d
cmp edx, ecx
jae 0x140049b68
mov ecx, dword [r11 + 0x1c]
sub edx, r8d
add rcx, r13
mov r12, qword [rcx + rdx*8]
jmp 0x140049487
mov rdi, qword [rdi]
mov r13, qword [rdi + 0x30]
test r13, r13
jne 0x1400492c0
mov ecx, ebx
mov eax, ecx
cmp byte [rsp + rax + 0x48], bl
je 0x140049415
inc ecx
cmp ecx, 0xffffffff
jb 0x140049406
mov eax, ecx
test ecx, ecx
je 0x140049b68
nop
inc rbx
cmp rbx, rax
jb 0x140049420
jmp 0x140049b68
mov edi, dword [r11 + 0x18]
mov r9d, ebx
test edi, edi
je 0x14004948f
nop dword [rax + rax]
mov r8d, dword [r10]
lea rax, [rsp + 0x68]
add r8, r13
sub r8, rax
nop
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140049463
inc rax
test ecx, ecx
jne 0x140049450
test edx, edx
je 0x140049475
inc r9d
add r10, 4
cmp r9d, edi
jb 0x140049440
mov ecx, dword [r11 + 0x1c]
mov eax, r9d
add rcx, r13
movzx edx, word [rsi + rax*2]
mov r12d, dword [rcx + rdx*4]
add r12, r13
mov qword [rsp + 0x20], r12
xor ebx, ebx
mov ecx, ebx
mov eax, ecx
cmp byte [rsp + rax + 0x48], bl
je 0x140049b55
inc ecx
cmp ecx, 0xffffffff
jb 0x140049b46
mov eax, ecx
test ecx, ecx
je 0x140049b68
nop dword [rax + rax]
inc rbx
cmp rbx, rax
jb 0x140049b60