Function at 0x14004a980
Capabilities:
Access peb ldr_data
Create thread
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov r11, rsp
push rbx
push rdi
push r12
sub rsp, 0xa0
mov rcx, qword [0x140203c78]
xor r12d, r12d
test rcx, rcx
jne 0x14004abac
mov rax, qword gs:[0x60]
mov r8d, r12d
mov qword [r11 + 0x10], rbp
mov ebx, 0x9bc5a608
mov qword [r11 + 0x18], rsi
mov qword [r11 - 0x20], r14
mov rcx, qword [rax + 0x18]
mov qword [r11 - 0x28], r15
mov rax, qword [rcx + 0x10]
mov rbp, qword [rax]
mov rsi, rbp
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
movups xmmword [rsp + 0x80], xmm0
sub ax, 8
test r8d, r8d
je 0x14004aa2d
mov rcx, qword [rsp + 0x88]
mov edx, 0x811c9dc5
movzx eax, ax
shr rax, 1
lea r9, [rcx + rax*2]
cmp rcx, r9
je 0x14004aa24
nop word [rax + rax]
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r9
jne 0x14004aa10
cmp edx, r8d
jne 0x14004ab6d
mov r10, qword [rsi + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rcx, qword [rax + r10 + 0x88]
mov r15, rcx
mov r11d, ecx
shr r15, 0x20
add r11, r10
cmp r11, r10
je 0x14004ab6d
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x14004ab6d
mov r14d, dword [r11 + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov edx, 0x811c9dc5
lea rax, [r14 + r9*4]
mov ecx, dword [rax + r10]
add rcx, r10
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14004aaa7
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x14004aa90
cmp edx, ebx
je 0x14004aab5
test r9d, r9d
jne 0x14004aa70
jmp 0x14004ab6d
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r10
mov ecx, dword [rcx + rdx*4]
add rcx, r10
cmp rcx, r11
jbe 0x14004ab85
lea rax, [r15 + r11]
cmp rcx, rax
jae 0x14004ab85
movzx eax, byte [rcx]
mov r8d, 0x811c9dc5
mov dword [rsp + 0xc0], r8d
mov edx, r8d
mov dword [rsp + 0xc4], edx
cmp al, 0x2e
je 0x14004ab2f
nop dword [rax]
nop word [rax + rax]
movsx eax, al
inc rcx
xor eax, r8d
imul r8d, eax, 0x1000193
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x14004ab10
mov dword [rsp + 0xc0], r8d
movzx eax, byte [rcx + 1]
inc rcx
test al, al
je 0x14004ab5d
nop word [rax + rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx]
test al, al
jne 0x14004ab40
mov dword [rsp + 0xc4], edx
mov rbx, qword [rsp + 0xc0]
mov rsi, qword [rbp]
shr rbx, 0x20
mov rax, qword [rsi]
mov rsi, rax
cmp rax, rbp
je 0x14004ab82
cmp qword [rax + 0x30], r12
jne 0x14004a9d0
mov rcx, r12
mov r15, qword [rsp + 0x90]
mov r14, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc8]
mov qword [0x140203c78], rcx
call fcn.1400486c0
movabs rax, 0xa7a6d586b1809bfe
lea rcx, [rsp + 0x30]
mov qword [rsp + 0xc0], rax
movabs rdi, 0xc8cbbae9dae3ee9d
mov rax, qword [rsp + 0xc0]
movabs rbx, 0x1a5dc84483139f56
mov qword [rsp + 0x30], rax
movabs rax, 0x1a5dc828ef77b138
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0xc0], rdi
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0xc0], rbx
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x58], rax
movdqa xmm0, xmmword [rsp + 0x50]
pxor xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x14004af47
movabs rax, 0xa4a7dec7b4aa96ce
lea rcx, [rsp + 0x40]
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xc0], rbx
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0xc0], rdi
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xc0], rbx
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x68], rax
movdqa xmm0, xmmword [rsp + 0x60]
pxor xmm0, xmmword [rsp + 0x40]
movdqa xmmword [rsp + 0x40], xmm0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x14004af47
call fcn.140045eb0
test al, al
je 0x14004ad97
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14004ad77
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004ad77
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x14004ad72
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x14004ad50
cmp r8d, 0xcded1a85
je 0x14004ad7c
test r9d, r9d
jne 0x14004ad30
mov rax, qword [rax]
jmp 0x14004ad00
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
call fcn.140046470
test al, al
je 0x14004ae57
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14004ae37
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14004ae37
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x14004ae32
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x14004ae10
cmp r8d, 0xcded1a85
je 0x14004ae3c
test r9d, r9d
jne 0x14004adf0
mov rax, qword [rax]
jmp 0x14004adc0
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
xor ecx, ecx
add rax, r10
call rax
mov qword [rsp + 0x28], r12
lea r8, [0x14004a540]
xor r9d, r9d
mov dword [rsp + 0x20], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], r12
lea r8, [0x14004a250]
mov dword [rsp + 0x20], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], r12
lea r8, [0x1400492a0]
mov dword [rsp + 0x20], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], r12
lea r8, [0x14004a010]
mov dword [rsp + 0x20], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
xor r9d, r9d
mov qword [rsp + 0x28], r12
lea r8, [0x140048ee0]
mov dword [rsp + 0x20], r12d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rsp + 0x60]
call fcn.140048380
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x14004af37
mov rcx, qword [rsp + 0x60]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004af32
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004af32
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400c0768
add rsp, 0xa0
pop r12
pop rdi
pop rbx
jmp fcn.140049090
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3