Function at 0x180043f88
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using fnv
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, 0x80
mov rax, qword [rcx + 0x10]
mov rbx, rcx
mov r13d, 1
mov r9, qword [rax - 8]
test r9, r9
je 0x18004402b
sub rax, qword [rcx + 8]
mov rcx, qword [rcx + 0xa8]
sar rax, 3
sub eax, r13d
mov byte [rbp + 0x40], r13b
mov dword [rbp + 0x48], eax
test rcx, rcx
je 0x1800442b9
mov rax, qword [rcx]
lea r8, [rbp + 0x40]
lea rdx, [rbp + 0x48]
call qword [rax + 0x10]
test al, al
jne 0x18004402b
lea rdx, [rbx + 0xb8]
lea rcx, [rbp - 0x60]
call fcn.180022e6c
mov rcx, qword [rbx + 0x10]
mov r9, rax
mov r8, qword [rcx - 8]
mov cl, byte [rax]
mov dl, byte [r8]
mov byte [r8], cl
lea rcx, [rax + 8]
mov byte [rax], dl
mov rdx, qword [rcx]
mov rax, qword [r8 + 8]
mov qword [r8 + 8], rdx
mov qword [rcx], rax
mov dl, byte [r9]
call fcn.180042948
add qword [rbx + 0x10], 0xfffffffffffffff8
lea rcx, [rbx + 0x20]
call fcn.180045b64
mov rax, qword [rbx + 0x10]
cmp qword [rbx + 8], rax
je 0x18004429b
mov r8, qword [rax - 8]
test r8, r8
je 0x18004429b
mov al, byte [r8]
sub al, r13b
cmp al, r13b
ja 0x18004429b
movzx ecx, byte [r8]
xorps xmm0, xmm0
xor eax, eax
mov qword [rbp - 0x60], r8
xorps xmm1, xmm1
movabs r9, 0x8000000000000000
movdqu xmmword [rbp - 0x58], xmm0
movdqu xmmword [rbp - 0x50], xmm1
mov qword [rbp - 0x48], r9
cmp ecx, 5
ja 0x1800440a2
je 0x1800440a2
mov edx, ecx
test ecx, ecx
je 0x1800440a2
sub edx, r13d
je 0x1800440c2
sub edx, r13d
je 0x1800440b5
cmp ecx, 4
ja 0x1800440d8
test ecx, ecx
je 0x1800440d2
sub ecx, r13d
je 0x1800440c2
sub ecx, r13d
jne 0x1800440d8
mov rax, qword [r8 + 8]
mov rcx, qword [rax]
mov qword [rbp - 0x50], rcx
jmp 0x1800440dc
mov rax, qword [r8 + 8]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov qword [rbp - 0x58], rax
jmp 0x1800440dc
mov qword [rbp - 0x48], r13
jmp 0x1800440dc
and qword [rbp - 0x48], rax
mov rdi, qword [rbp + 0x40]
mov rax, qword [rbx + 0x10]
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm0
mov r8, qword [rax - 8]
movdqu xmmword [rbp - 0x30], xmm1
mov qword [rbp - 0x40], r8
mov qword [rbp - 0x28], r9
movzx ecx, byte [r8]
cmp ecx, 5
ja 0x18004411b
je 0x18004411b
mov edx, ecx
test ecx, ecx
je 0x18004411b
sub edx, r13d
je 0x18004413c
sub edx, r13d
je 0x18004412e
cmp ecx, 4
ja 0x180044149
test ecx, ecx
je 0x180044149
sub ecx, r13d
je 0x18004413c
sub ecx, r13d
jne 0x180044149
mov rax, qword [r8 + 8]
mov rcx, qword [rax + 8]
mov qword [rbp - 0x30], rcx
jmp 0x18004414d
mov rax, qword [r8 + 8]
mov rcx, qword [rax]
mov qword [rbp - 0x38], rcx
jmp 0x18004414d
mov qword [rbp - 0x28], r13
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x60]
call fcn.18001b120
test al, al
jne 0x18004429b
mov rdx, qword [rbp - 0x60]
movzx ecx, byte [rdx]
cmp ecx, 5
ja 0x180044194
je 0x180044194
test ecx, ecx
je 0x180044194
sub ecx, r13d
je 0x180044187
sub ecx, r13d
jne 0x180044194
mov rdi, qword [rbp - 0x50]
jmp 0x180044253
mov rdi, qword [rbp - 0x58]
add rdi, 0x40
jmp 0x180044253
cmp qword [rbp - 0x48], 0
jne 0x1800441a3
mov rdi, rdx
jmp 0x180044253
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r9d, dword [rcx + r8 + 0x88]
add r9, r8
cmp r9, r8
je 0x18004422f
mov r10d, dword [r9 + 0x18]
test r10d, r10d
je 0x18004422f
mov r12d, dword [r9 + 0x20]
dec r10d
mov r14d, 0x3b6f6952
lea rcx, [r8 + r10*4]
mov r11d, dword [rcx + r12]
add r11, r8
mov sil, byte [r11]
add r11, r13
test sil, sil
je 0x18004422a
movsx ecx, sil
sub sil, 0x41
mov edx, ecx
or edx, 0x20
cmp sil, 0x19
mov sil, byte [r11]
cmova edx, ecx
add r11, r13
xor edx, r14d
imul r14d, edx, 0x1000193
test sil, sil
jne 0x1800441f8
cmp r14d, 0xce936884
je 0x180044234
test r10d, r10d
jne 0x1800441d9
mov rax, qword [rax]
jmp 0x1800441b4
mov ecx, dword [r9 + 0x24]
add rcx, r8
movzx edx, word [rcx + r10*2]
mov ecx, dword [r9 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov rdx, qword [rbp - 0x60]
cmp byte [rdi], 9
je 0x180044270
lea rcx, [rbp - 0x60]
call fcn.180023f28
movabs r9, 0x8000000000000000
jmp 0x1800440e0
mov rcx, qword [rbx + 0x10]
lea r8, [rbp - 0x40]
movups xmm0, xmmword [rbp - 0x58]
mov qword [rbp - 0x40], rdx
lea rdx, [rbp - 0x20]
movsd xmm1, qword [rbp - 0x48]
mov rcx, qword [rcx - 8]
movups xmmword [rbp - 0x38], xmm0
movsd qword [rbp - 0x28], xmm1
call fcn.18001ed58
mov rbx, qword [rsp + 0xd0]
mov al, r13b
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.180041574
int3