Function at 0x140046720
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 + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
mov qword [rsp + 8], rcx
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rbx, qword [0x1401f6a10]
test rbx, rbx
jne 0x1400468ed
mov rax, qword gs:[0x60]
xor r11d, r11d
mov r10d, 0x998508a0
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x1400467cd
psrldq xmm0, 8
mov edx, 0xd1eaf18c
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x1400467c4
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x1400467b0
cmp edx, r11d
jne 0x1400468ce
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov edi, ecx
shr r15, 0x20
add rdi, r9
cmp rdi, r9
je 0x1400468ce
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x1400468ce
mov r14d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0xd1eaf18c
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140046847
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 0x140046830
cmp edx, r10d
je 0x140046853
test r8d, r8d
jne 0x140046810
jmp 0x1400468ce
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov ebx, dword [rcx + rax*4]
add rbx, r9
cmp rbx, rdi
jbe 0x1400468e6
lea rax, [r15 + rdi]
cmp rbx, rax
jae 0x1400468e6
movzx eax, byte [rbx]
mov r11d, 0xd1eaf18c
mov r10d, r11d
cmp al, 0x2e
je 0x1400468a7
nop dword [rax + rax]
movsx eax, al
inc rbx
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [rbx]
cmp al, 0x2e
jne 0x140046890
movzx eax, byte [rbx + 1]
inc rbx
test al, al
je 0x1400468ca
movsx eax, al
lea rbx, [rbx + 1]
xor eax, r10d
imul r10d, eax, 0x1000193
movzx eax, byte [rbx]
test al, al
jne 0x1400468b2
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x1400468e4
cmp qword [rax + 0x30], 0
jne 0x140046780
xor ebx, ebx
mov qword [0x1401f6a10], rbx
mov byte [rbp - 0x20], 0xfe
movabs r11, 0x39744e8fa53f05bc
mov byte [rbp - 0x1f], 0xc2
xor r9d, r9d
mov byte [rbp - 0x1e], 0xe8
mov r10, r11
mov byte [rbp - 0x1d], 0xda
mov edi, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x1c], 0xbb
mov byte [rbp - 0x1b], 0x8b
mov byte [rbp - 0x1a], 0xa9
mov byte [rbp - 0x19], 0xaf
mov byte [rbp - 0x18], 0xa4
mov byte [rbp - 0x17], 0xbf
mov byte [rbp - 0x16], 0xa5
mov byte [rbp - 0x15], 0xa2
mov byte [rbp - 0x14], 0xb8
mov byte [rbp - 0x13], 0xa7
mov byte [rbp - 0x12], 0xac
mov byte [rbp - 0x11], 0xa6
mov byte [rbp - 0x10], __WSAFDIsSet
mov byte [rbp - 0xf], 0xae
mov byte [rbp - 0xe], 0xb9
mov byte [rbp - 0xd], 0xaa
mov byte [rbp - 0xc], 0xbe
mov byte [rbp - 0xb], 0xb6
mov byte [rbp - 0xa], Ordinal_217
movzx eax, byte [rbp - 0x20]
lea rax, [rbp - 0x20]
sub r10, rax
nop dword [rax]
mov rcx, r9
lea r8, [rbp - 0x20]
add r8, r9
and ecx, edi
cmp rcx, rdi
mov rdx, r11
cmovae rcx, rdi
shl cl, 2
lea eax, [r10 + r8]
shr rdx, cl
and dl, dil
xor dl, al
movzx eax, byte [r8]
xor dl, al
mov byte [rbp + r9 - 0x20], dl
inc r9
cmp r9, 0x17
jb 0x140046970
mov r8, qword [0x1401f6a40]
test r8, r8
jne 0x140046b56
mov rax, qword gs:[0x60]
xor r11d, r11d
mov r10d, 0x33f753b3
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r13, qword [rax]
mov r14, r13
nop dword [rax]
movups xmm0, xmmword [r14 + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x140046a2d
psrldq xmm0, 8
mov edx, 0xd4e8b7ae
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046a24
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046a10
cmp edx, r11d
jne 0x140046b31
mov r9, qword [r14 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r12, rcx
mov edi, ecx
shr r12, 0x20
add rdi, r9
cmp rdi, r9
je 0x140046b31
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140046b31
mov r15d, dword [rdi + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0xd4e8b7ae
lea rax, [r15 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140046aa7
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 0x140046a90
cmp edx, r10d
je 0x140046ab3
test r8d, r8d
jne 0x140046a70
jmp 0x140046b31
mov eax, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x1c]
add rax, r9
add rcx, r9
movzx eax, word [rax + r8*2]
mov r8d, dword [rcx + rax*4]
add r8, r9
cmp r8, rdi
jbe 0x140046b4a
lea rax, [r12 + rdi]
cmp r8, rax
jae 0x140046b4a
movzx eax, byte [r8]
mov r11d, 0xd4e8b7ae
mov r10d, r11d
cmp al, 0x2e
je 0x140046b08
nop word [rax + rax]
movsx eax, al
inc r8
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [r8]
cmp al, 0x2e
jne 0x140046af0
movzx eax, byte [r8 + 1]
inc r8
test al, al
je 0x140046b2d
movsx eax, al
lea r8, [r8 + 1]
xor eax, r10d
imul r10d, eax, 0x1000193
movzx eax, byte [r8]
test al, al
jne 0x140046b14
mov r14, qword [r13]
mov rax, qword [r14]
mov r14, rax
cmp rax, r13
je 0x140046b47
cmp qword [rax + 0x30], 0
jne 0x1400469e0
xor r8d, r8d
mov qword [0x1401f6a40], r8
mov edi, reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0xce
xor r9d, r9d
mov byte [rbp - 0x2f], Ordinal_211
movabs r10, 0xc63b111d4f97b9ae
mov byte [rbp - 0x2e], 0xdd
mov byte [rbp - 0x2d], Ordinal_217
mov byte [rbp - 0x2c], reloc.WLDAP32.dll_Ordinal_217
mov byte [rbp - 0x2b], __WSAFDIsSet
mov byte [rbp - 0x2a], 0xdf
mov byte [rbp - 0x29], 0xdd
mov byte [rbp - 0x28], Ordinal_217
mov byte [rbp - 0x27], 0xb6
movzx eax, byte [rbp - 0x30]
nop
movzx eax, byte [rbp + r9 - 0x30]
mov rcx, r9
and ecx, 0xf
mov rdx, r10
cmp rcx, 0xf
cmovae rcx, rdi
shl cl, 2
shr rdx, cl
and dl, 0xf
xor dl, al
lea eax, [r9 - 0x52]
xor dl, al
mov byte [rbp + r9 - 0x30], dl
inc r9
cmp r9, 0xa
jb 0x140046b90
lea rcx, [rbp - 0x30]
call r8
lea rdx, [rbp - 0x20]
mov rcx, rax
call rbx
mov r13, rax
test rax, rax
je 0x140046da5
mov rax, qword [rbp + 0x30]
test rax, rax
jne 0x140046d8f
mov rcx, qword [0x1401f6c98]
test rcx, rcx
jne 0x140046d92
mov rcx, qword gs:[0x60]
xor r11d, r11d
mov r10d, 0x71283bf9
mov rdx, qword [rcx + 0x18]
mov rax, qword [rdx + 0x10]
mov r12, qword [rax]
mov rsi, r12
nop
movups xmm0, xmmword [rsi + 0x58]
movd eax, xmm0
sub ax, 8
test r11d, r11d
je 0x140046c6d
psrldq xmm0, 8
mov edx, 0x799e4a8c
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
cmp rcx, r8
je 0x140046c64
nop
movsx eax, byte [rcx]
add rcx, 2
xor eax, edx
imul edx, eax, 0x1000193
cmp rcx, r8
jne 0x140046c50
cmp edx, r11d
jne 0x140046d6e
mov r9, qword [rsi + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rcx, qword [rax + r9 + 0x88]
mov r15, rcx
mov ebx, ecx
shr r15, 0x20
add rbx, r9
cmp rbx, r9
je 0x140046d6e
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140046d6e
mov r14d, dword [rbx + 0x20]
nop dword [rax]
nop word [rax + rax]
dec r8d
mov edx, 0x799e4a8c
lea rax, [r14 + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140046ce7
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 0x140046cd0
cmp edx, r10d
je 0x140046cf3
test r8d, r8d
jne 0x140046cb0
jmp 0x140046d6e
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov ecx, dword [rcx + rdx*4]
add rcx, r9
cmp rcx, rbx
jbe 0x140046d86
lea rax, [r15 + rbx]
cmp rcx, rax
jae 0x140046d86
movzx eax, byte [rcx]
mov r11d, 0x799e4a8c
mov r10d, r11d
cmp al, 0x2e
je 0x140046d47
nop dword [rax + rax]
movsx eax, al
inc rcx
xor eax, r11d
imul r11d, eax, 0x1000193
movzx eax, byte [rcx]
cmp al, 0x2e
jne 0x140046d30
movzx eax, byte [rcx + 1]
inc rcx
test al, al
je 0x140046d6a
movsx eax, al
lea rcx, [rcx + 1]
xor eax, r10d
imul r10d, eax, 0x1000193
movzx eax, byte [rcx]
test al, al
jne 0x140046d52
mov rsi, qword [r12]
mov rax, qword [rsi]
mov rsi, rax
cmp rax, r12
je 0x140046d84
cmp qword [rax + 0x30], 0
jne 0x140046c20
xor ecx, ecx
mov qword [0x1401f6c98], rcx
jmp 0x140046d92
mov rcx, rax
xor r9d, r9d
xor r8d, r8d
mov edx, reloc.WS2_32.dll_recvfrom
call r13
test eax, eax
sete al
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret