Function at 0x140031480
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using murmur2
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov r11, rsp
push r12
push r13
sub rsp, 0xb8
mov rax, qword [0x140181020]
xor rax, rsp
mov qword [rsp + 0x98], rax
xor r12d, r12d
mov qword [rcx + 0xb8], rdx
mov qword [rcx + 0xa8], r12
mov r13, rcx
mov byte [rcx + 0xb0], r12b
mov qword [rcx + 0x9c], r12
mov qword [rcx + 0xc4], r12
mov dword [rcx + 0xc0], r8d
test rdx, rdx
je 0x1400319ac
test r8d, r8d
je 0x1400319ac
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x20], rsi
mov dword [rcx + 0x70], 0x80000000
mov dword [rcx + 0x98], r8d
mov byte [rcx + 0x94], 1
lea rcx, [rsp + 0x30]
mov qword [r11 - 0x18], rdi
mov qword [r11 - 0x28], r15
call fcn.140035820
mov rdi, rax
movsx ebx, byte [rax]
mov ecx, ebx
call fcn.140014160
add ebx, eax
cmp ebx, 0xfffffff0
jg 0x14003152f
mov edx, 0x84
call fcn.140052d80
cmp ebx, 0xffffffb7
jg 0x14003153e
mov edx, 0x9d
call fcn.140052d80
imul eax, ebx, 0x5bd1e995
lea r8, [rdi + 4]
mov r15d, 8
mov edx, r12d
mov r9, r8
mov r10d, r15d
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r11d, ecx, 0x5bd1e995
nop word [rax + rax]
mov eax, r11d
lea r9, [r9 + 4]
xor eax, edx
add edx, 0x5bd1e995
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9 - 4], eax
sub r10, 1
jne 0x140031570
mov r9d, dword [0x14018719c]
mov rdx, qword [rdi + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
jne 0x1400315c6
mov rsi, r12
jmp 0x1400315e3
mov rcx, rsi
mov edx, 0xc
nop
movzx eax, byte [rdi]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400315d0
mov byte [rsi + 0xc], r12b
mov rax, qword gs:[0x60]
mov qword [rsp + 0xe0], rbp
mov qword [rsp + 0xa8], r14
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rbx, qword [rax]
mov eax, 0x5a4d
cmp qword [rbx + 0x60], r12
je 0x1400316d9
nop word [rax + rax]
mov r11, qword [rbx + 0x30]
mov rbx, qword [rbx]
test r11, r11
je 0x1400316cf
cmp word [r11], ax
jne 0x1400316d9
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400316d9
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400316d9
mov ebp, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r10d, dword [rax + 0x20]
add rbp, r11
mov r14d, dword [rax + 0x24]
add r10, r11
mov edi, dword [rax + 0x18]
add r14, r11
mov r9d, r12d
test edi, edi
je 0x1400316ca
mov ecx, dword [r10]
xor dl, dl
add rcx, r11
cmp byte [rcx], dl
je 0x1400316be
mov r8, rsi
sub r8, rcx
movzx eax, byte [rcx + r8]
test al, al
je 0x1400316ba
cmp byte [rcx], al
jne 0x1400316be
inc rcx
mov dl, 1
cmp byte [rcx], r12b
jne 0x140031692
movsxd rax, r9d
movzx ecx, word [r14 + rax*2]
mov eax, dword [rbp + rcx*4]
add rax, r11
jmp 0x1400316dc
test dl, dl
jne 0x1400316a9
inc r9d
add r10, 4
cmp r9d, edi
jb 0x140031680
mov eax, 0x5a4d
cmp qword [rbx + 0x60], r12
jne 0x140031620
mov rax, r12
lea rcx, [rsp + 0x88]
call rax
lea rcx, [rsp + 0x30]
call fcn.140035970
mov rbx, rax
movsx edi, byte [rax]
mov ecx, edi
call fcn.140014160
add edi, eax
cmp edi, 0xfffffff0
jg 0x14003170e
mov edx, 0x84
call fcn.140052d80
cmp edi, 0xffffffb7
jg 0x14003171d
mov edx, 0x9d
call fcn.140052d80
imul eax, edi, 0x5bd1e995
lea r8, [rbx + 4]
mov edx, r12d
mov r9, r8
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul r10d, ecx, 0x5bd1e995
nop dword [rax + rax]
mov eax, edx
lea r9, [r9 + 4]
xor eax, r10d
add edx, 0x5bd1e995
imul ecx, eax, 0x286a90b9
xor ecx, 0xaa2a7357
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
mov dword [r9 - 4], eax
sub r15, 1
jne 0x140031740
mov r9d, dword [0x14018719c]
mov rdx, qword [rbx + 0x28]
call fcn.1400525a0
mov rsi, rax
test rax, rax
jne 0x140031796
mov rsi, r12
jmp 0x1400317f3
movsx eax, byte [rbx]
mov r8, r12
movd xmm1, eax
lea rax, [rsi + 0x13]
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pshufd xmm1, xmm1, 0
cmp rsi, rbx
ja 0x1400317bb
cmp rax, rbx
jae 0x1400317cc
movdqu xmm0, xmmword [rsi]
mov r8d, 0x10
xorps xmm1, xmm0
movdqu xmmword [rsi], xmm1
mov edx, 0x14
lea rcx, [r8 + rsi]
sub rdx, r8
nop dword [rax + rax]
movzx eax, byte [rbx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1400317e0
mov byte [rsi + 0x14], r12b
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rdi, qword [rax]
cmp qword [rdi + 0x60], r12
je 0x1400318cf
mov r15d, 0x5a4d
nop word [rax + rax]
mov r11, qword [rdi + 0x30]
mov rdi, qword [rdi]
test r11, r11
je 0x14003199d
cmp word [r11], r15w
jne 0x1400318cf
movsxd rax, dword [r11 + 0x3c]
cmp dword [rax + r11], 0x4550
jne 0x1400318cf
mov ecx, dword [rax + r11 + 0x88]
test ecx, ecx
je 0x1400318cf
mov ebp, dword [r11 + rcx + 0x1c]
lea rax, [r11 + rcx]
mov r9d, dword [rax + 0x20]
add rbp, r11
mov r14d, dword [rax + 0x24]
add r9, r11
mov ebx, dword [rax + 0x18]
add r14, r11
mov r10d, r12d
test ebx, ebx
je 0x14003199d
mov eax, dword [r9]
xor dl, dl
add rax, r11
cmp byte [rax], dl
je 0x14003198d
mov r8, rsi
sub r8, rax
nop word [rax + rax]
movzx ecx, byte [r8 + rax]
test cl, cl
je 0x140031985
cmp byte [rax], cl
jne 0x14003198d
inc rax
mov dl, 1
cmp byte [rax], r12b
jne 0x1400318a0
movsxd rax, r10d
movzx ecx, word [r14 + rax*2]
mov r12d, dword [rbp + rcx*4]
add r12, r11
lea rdx, [rsp + 0x80]
lea rcx, [rsp + 0x88]
call r12
mov rcx, qword [rsp + 0x80]
lea r8, [rsp + 0x24]
lea rdx, [rsp + 0x20]
call fcn.14002e6e0
mov r15, qword [rsp + 0xa0]
movabs rcx, 0xfe624e212ac18000
add rcx, qword [rsp + 0x80]
movabs rax, 0xd6bf94d5e57a42bd
mov r14, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xe0]
mov rbx, qword [rsp + 0xd8]
imul rcx
add rdx, rcx
movzx ecx, word [rsp + 0x20]
sar rdx, 0x17
mov rax, rdx
shl ecx, 0x10
shr rax, 0x3f
add rdx, rax
movzx eax, word [rsp + 0x24]
or ecx, eax
mov qword [r13 + 0x78], rdx
mov dword [r13 + 0x90], ecx
xor eax, eax
mov qword [r13 + 0x80], rdx
mov qword [r13 + 0x88], rdx
jmp 0x1400319b1
test dl, dl
jne 0x1400318bf
inc r10d
add r9, 4
cmp r10d, ebx
jb 0x140031880
cmp qword [rdi + 0x60], r12
jne 0x140031820
jmp 0x1400318cf
mov eax, 0x10000
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.14012f610
add rsp, 0xb8
pop r13
pop r12
ret