Function at 0x1400ac860
Capabilities:
Access peb ldr_data
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x50], 0xfffffffffffffffe
xor eax, eax
test rdx, rdx
je 0x1400ad1ca
test r8, r8
je 0x1400ad1ca
mov ebx, dword [0x1406cf6a8]
mov eax, dword [0x1406cf6ac]
lea esi, [rbx - 1]
imul esi, ebx
cmp eax, 0xa
jl 0x1400ac8c2
mov edi, esi
and edi, 1
je 0x1400ac8c2
nop word cs:[rax + rax]
nop
jmp 0x1400ac8c0
mov rbx, qword gs:[0x60]
mov rbx, qword [rbx + 0x18]
mov r12, qword [rbx + 0x10]
cmp dword [0x1406ce2d4], 0xa
jl 0x1400ac8f2
mov edi, dword [0x1406ce2d0]
lea ebx, [rdi - 1]
imul ebx, edi
and ebx, 1
je 0x1400ac8f2
nop dword [rax]
jmp 0x1400ac8f0
cmp eax, 0xa
setl r14b
test sil, 1
sete bl
mov eax, dword [0x1406ce2e0]
lea edi, [rax - 1]
imul edi, eax
test dil, 1
sete r15b
cmp dword [0x1406ce2e4], 0xa
setl r11b
mov eax, dword [0x1406ce2ec]
lea edi, [rax - 1]
imul edi, eax
test dil, 1
sete sil
cmp dword [0x1406ce2e8], 0xa
setl byte [rbp + 0x38]
mov eax, dword [0x1406ce2f0]
lea edi, [rax - 1]
imul edi, eax
test dil, 1
sete r10b
cmp dword [0x1406ce2f4], 0xa
setl byte [rbp + 0x30]
cmp dword [0x1406ce6e4], 0xa
jl 0x1400ac982
mov eax, dword [0x1406ce6e0]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
je 0x1400ac982
nop word [rax + rax]
jmp 0x1400ac980
mov eax, r14d
and al, bl
xor al, 1
xor r14b, bl
mov ebx, r14d
xor bl, 1
or bl, al
cmp bl, 1
jne 0x1400ac9a2
xor r14b, al
je 0x1400ac9a2
nop
jmp 0x1400ac9a0
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x48], r9
mov qword [rbp - 0x50], rdx
mov qword [rbp + 0x40], rcx
or r11b, r15b
or byte [rbp + 0x38], sil
or byte [rbp + 0x30], r10b
mov rax, r12
mov r12, qword [r12 + 0x30]
mov qword [rbp + 0x10], rax
mov qword [rbp + 8], rax
movsxd rax, dword [r12 + 0x3c]
mov r15d, dword [rax + r12 + 0x88]
test r15, r15
je 0x1400acb8f
mov eax, dword [r12 + r15 + 0x18]
lea rcx, [r12 + 1]
mov qword [rbp + 0x28], rcx
mov r8, rax
jmp 0x1400aca0c
mov r13d, 0x811c9dc5
mov rax, r8
cmp r13d, 0xbd28aabc
je 0x1400acbd2
sub r8, 1
jb 0x1400acb8f
test r11b, r11b
je 0x1400acbc0
mov ecx, 0xffffffff
add rax, rcx
mov ecx, dword [r12 + r15 + 0x20]
add rcx, r12
mov r9d, eax
mov r10d, dword [rcx + r9*4]
mov al, byte [r12 + r10]
test al, al
je 0x1400ac9f6
add r10, qword [rbp + 0x28]
mov r13d, 0x811c9dc5
jmp 0x1400acb04
mov ecx, eax
or ecx, 0x1c6c88fb
mov r14d, eax
not r14d
or r14d, 0xe3937704
mov edx, ecx
and edx, 0x4a121404
mov esi, eax
and esi, 0x48801a
mov edi, r14d
and edi, 0x1c121044
add esi, edi
add esi, 0x80006801
mov edi, eax
and edi, 0x2408a1
mov ebx, eax
and ebx, 0xa1816300
or ebx, edx
xor ebx, edi
xor ebx, esi
mov edx, eax
and edx, 0x2103304
and ecx, 0xe9c7cc99
or ecx, edx
mov edx, eax
and edx, 0x14280062
and r14d, 0xe9c7cc99
add edx, r14d
add edx, 0x2103304
xor edx, ecx
xor eax, 0x1c6c88fb
or eax, edx
mov ecx, ebx
xor ecx, 0x887ef0be
xor ebx, eax
xor ebx, 0x887ef0be
or ecx, eax
not ecx
or ecx, ebx
xor r13d, ecx
xor r13d, 0xe3937704
imul r13d, r13d, 0x1000193
movzx eax, byte [r10]
add r10, 1
test al, al
je 0x1400ac9fc
movsx eax, al
lea ecx, [rax - 0x41]
cmp cl, 0x19
ja 0x1400aca50
mov ecx, eax
not ecx
mov edi, eax
and edi, 0x89c1ac7c
mov edx, eax
or edx, 0x89c1ac7c
mov esi, eax
xor esi, 0x1008070
and esi, edi
not edi
mov ebx, edx
and ebx, 0x253ac2f1
and ecx, 0x52041102
or ecx, ebx
xor edx, edi
and edi, 0x253ac2f1
or esi, edi
xor esi, ecx
mov ecx, eax
xor ecx, 0x89c1ac7c
or ecx, edx
mov edx, ecx
xor edx, esi
not edx
not ecx
and ecx, esi
or ecx, edx
and eax, 0x20
mov edx, ecx
not edx
and edx, eax
mov esi, ecx
and esi, 0x2e4f563d
xor esi, eax
and ecx, 0xd1b0a9c2
or ecx, esi
xor ecx, edx
xor ecx, 0x763e53a3
mov eax, ecx
jmp 0x1400aca50
cmp byte [rbp + 0x30], 0
je 0x1400acbd0
mov rax, qword [rbp + 8]
mov rax, qword [rax]
cmp rax, qword [rbp + 0x10]
je 0x1400acbaf
mov r12, qword [rax + 0x30]
test r12, r12
jne 0x1400ac9c9
xor edx, edx
cmp dword [0x1406cf688], 0xa
jge 0x1400acbfc
jmp 0x1400acc22
jmp 0x1400acbc0
jmp 0x1400acbd0
cmp byte [rbp + 0x38], 0
je 0x1400acc20
mov eax, dword [r12 + r15 + 0x1c]
mov ecx, dword [r12 + r15 + 0x24]
add rax, r12
add rcx, r12
movzx ecx, word [rcx + r9*2]
mov edx, dword [rax + rcx*4]
add rdx, r12
cmp dword [0x1406cf688], 0xa
jl 0x1400acc22
mov eax, dword [0x1406cf68c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400acc22
nop dword [rax]
jmp 0x1400acc10
jmp 0x1400acc20
mov eax, dword [0x1406cfb78]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406cfb7c], 0xa
setl al
or al, cl
test al, al
je 0x1400acc40
mov eax, dword [0x1406cf700]
cmp dword [0x1406cf704], 0xa
mov byte [rbp - 0x18], WSASetLastError
jl 0x1400acc72
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400acc72
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1400acc70
movabs rax, 0x6c6c642e6c6c6474
mov qword [rbp - 0x17], rax
mov byte [rbp - 0xf], 0
lea rcx, [rbp - 0x18]
call rdx
test rax, rax
je 0x1400ad1c8
mov ebx, dword [0x1406cf810]
mov edx, dword [0x1406cf814]
lea ecx, [rbx - 1]
imul ecx, ebx
and ecx, 1
cmp edx, 0xa
jl 0x1400accc2
test ecx, ecx
je 0x1400accc2
nop word cs:[rax + rax]
nop dword [rax + rax]
jmp 0x1400accc0
cmp edx, 0xa
jl 0x1400accd2
test ecx, ecx
je 0x1400accd2
nop dword [rax + rax]
jmp 0x1400accd0
mov rcx, qword gs:[0x60]
mov rcx, qword [rcx + 0x18]
mov r8, qword [rcx + 0x10]
cmp dword [0x1406ce2d4], 0xa
jl 0x1400acd02
mov ecx, dword [0x1406ce2d0]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400acd02
nop dword [rax]
jmp 0x1400acd00
mov ecx, dword [0x1406ce2e0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r9b
cmp dword [0x1406ce2e4], 0xa
setl byte [rbp + 0x28]
mov edx, dword [0x1406ce2ec]
lea ebx, [rdx - 1]
imul ebx, edx
test bl, 1
sete r10b
cmp dword [0x1406ce2e8], 0xa
setl cl
mov ebx, dword [0x1406ce2f0]
lea edi, [rbx - 1]
imul edi, ebx
test dil, 1
sete bl
cmp dword [0x1406ce2f4], 0xa
setl dl
cmp dword [0x1406ce6e4], 0xa
jl 0x1400acd82
mov edi, dword [0x1406ce6e0]
lea esi, [rdi - 1]
imul esi, edi
and esi, 1
je 0x1400acd82
nop word cs:[rax + rax]
nop
jmp 0x1400acd80
or byte [rbp + 0x28], r9b
or cl, r10b
mov byte [rbp + 0x4f], cl
or dl, bl
mov byte [rbp + 8], dl
mov r13, qword [r8 + 0x30]
xor ecx, ecx
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x38], r8
movsxd rdx, dword [r13 + 0x3c]
mov r14d, dword [rdx + r13 + 0x88]
test r14, r14
je 0x1400acf7e
mov ebx, dword [r13 + r14 + 0x18]
lea rcx, [r13 + 1]
mov qword [rbp + 0x30], rcx
mov r9, rbx
jmp 0x1400acdde
mov edx, 0x811c9dc5
mov rbx, r9
cmp edx, 0xb8e4e945
je 0x1400acfa8
sub r9, 1
jb 0x1400acf7e
cmp byte [rbp + 0x28], 0
je 0x1400acfa4
mov ecx, 0xffffffff
add rbx, rcx
mov edx, dword [r13 + r14 + 0x20]
add rdx, r13
mov r10d, ebx
mov r8d, dword [rdx + r10*4]
mov bl, byte [r13 + r8]
test bl, bl
je 0x1400acdca
add r8, qword [rbp + 0x30]
mov edx, 0x811c9dc5
jmp 0x1400acee3
mov r15d, r12d
or r15d, 0x1c6c88fb
mov esi, r12d
not esi
or esi, 0xe3937704
mov ecx, r15d
and ecx, 0x4a121404
mov edi, r12d
and edi, 0x48801a
mov ebx, esi
and ebx, 0x1c121044
add edi, ebx
add edi, 0x80006801
mov ebx, r12d
and ebx, 0x2408a1
mov r11d, r12d
and r11d, 0xa1816300
or r11d, ecx
xor r11d, ebx
xor r11d, edi
mov ecx, r12d
and ecx, 0x2103304
and r15d, 0xe9c7cc99
or r15d, ecx
mov ecx, r12d
and ecx, 0x14280062
and esi, 0xe9c7cc99
add ecx, esi
add ecx, 0x2103304
xor ecx, r15d
xor r12d, 0x1c6c88fb
or r12d, ecx
mov ecx, r11d
xor ecx, 0x887ef0be
xor r11d, r12d
xor r11d, 0x887ef0be
or ecx, r12d
not ecx
or ecx, r11d
xor edx, ecx
xor edx, 0xe3937704
imul edx, edx, 0x1000193
movzx ebx, byte [r8]
add r8, 1
test bl, bl
je 0x1400acdcf
movsx r12d, bl
lea ebx, [r12 - 0x41]
cmp bl, 0x19
ja 0x1400ace20
mov ebx, r12d
not ebx
mov edi, r12d
and edi, 0x89c1ac7c
mov r11d, r12d
or r11d, 0x89c1ac7c
mov ecx, r12d
xor ecx, 0x1008070
and ecx, edi
not edi
mov esi, r11d
and esi, 0x253ac2f1
and ebx, 0x52041102
or ebx, esi
xor r11d, edi
and edi, 0x253ac2f1
or ecx, edi
xor ecx, ebx
mov esi, r12d
xor esi, 0x89c1ac7c
or esi, r11d
mov ebx, esi
xor ebx, ecx
not ebx
not esi
and esi, ecx
or esi, ebx
and r12d, 0x20
mov ecx, esi
not ecx
and ecx, r12d
mov ebx, esi
and ebx, 0x2e4f563d
xor ebx, r12d
and esi, 0xd1b0a9c2
or esi, ebx
xor esi, ecx
xor esi, 0x763e53a3
mov r12d, esi
jmp 0x1400ace20
cmp byte [rbp + 8], 0
je 0x1400acfa6
mov rcx, qword [rbp + 0x38]
mov rcx, qword [rcx]
cmp rcx, qword [rbp + 0x10]
je 0x1400acfcd
mov qword [rbp + 0x38], rcx
mov r13, qword [rcx + 0x30]
test r13, r13
jne 0x1400acda3
jmp 0x1400acfcd
jmp 0x1400acfa4
jmp 0x1400acfa6
cmp byte [rbp + 0x4f], 0
je 0x1400acfe9
mov ecx, dword [r13 + r14 + 0x1c]
mov edx, dword [r13 + r14 + 0x24]
add rcx, r13
add rdx, r13
movzx edx, word [rdx + r10*2]
mov ecx, dword [rcx + rdx*4]
add rcx, r13
mov qword [rbp - 0x30], rcx
cmp dword [0x1406d006c], 0xa
jl 0x1400acfeb
mov ecx, dword [0x1406d0068]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400acfeb
jmp 0x1400acfe7
jmp 0x1400acfe9
cmp dword [0x1406d0074], 0xa
jl 0x1400ad01d
mov ecx, dword [0x1406d0070]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400ad01d
movzx eax, word [0x140263480]
mov rcx, qword [str.wNzXY]
mov word [rbp - 0x10], ax
mov qword [rbp - 0x18], rcx
jmp 0x1400ad013
mov ecx, dword [0x1406cfb78]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x1406cfb7c], 0xa
setl cl
or cl, dl
test cl, cl
je 0x1400ad03b
mov ecx, dword [0x1406cf700]
cmp dword [0x1406cf704], 0xa
mov byte [rbp - 0x18], Ordinal_79
jl 0x1400ad05f
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400ad05f
jmp 0x1400ad05d
movabs rbx, 0x6d6f744164644174
mov qword [rbp - 0x17], rbx
mov byte [rbp - 0xf], 0
lea rdx, [rbp - 0x18]
mov rcx, rax
call qword [rbp - 0x30]
test rax, rax
je 0x1400ad1c8
mov r14, rax
mov dword [rbp - 0x38], 0xe0ff0000
mov qword [rbp - 0x40], 0xb848
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x3e], rax
mov eax, dword [0x1406d0470]
mov ecx, dword [0x1406da6c8]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1400ad1de
mov rsi, qword [0x1406d0468]
test rsi, rsi
je 0x1400ad1c8
lea rdx, [rbp + 0x1c]
mov r9d, ntohs
mov rcx, qword [rbp + 0x40]
mov r8, rsi
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400ad14d
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400ad14d
lea rbx, [rbp + 0x1c]
mov rdi, qword [rbp + 0x40]
mov r9d, ntohs
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call fcn.1400a9480
mov r9d, ntohs
mov rcx, rdi
mov rdx, rbx
mov r8, rsi
call fcn.1400a9480
cmp dword [0x1406ce3bc], 0xa
jl 0x1400ad14d
mov ecx, dword [0x1406ce3b8]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1400ad10b
test al, al
je 0x1400ad1c8
cmp byte [rbp + 0x1c], 0x48
jne 0x1400ad169
cmp byte [rbp + 0x1d], 0xb8
jne 0x1400ad169
cmp byte [rbp + 0x26], 0xff
jne 0x1400ad169
cmp byte [rbp + 0x27], 0xe0
je 0x1400ad1c8
mov rdx, qword [0x1406d0468]
lea r8, [rbp - 0x40]
mov rcx, qword [rbp + 0x40]
mov r9d, ntohs
call fcn.1400a98c0
test al, al
je 0x1400ad1c8
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xc8]
mov r9, qword [rbp + 0xd0]
call r14
mov rcx, qword [rbp - 0x50]
mov qword [rcx], rax
mov rdx, qword [0x1406d0468]
lea r8, [rbp + 0x1c]
mov rcx, qword [rbp + 0x40]
mov r9d, ntohs
call fcn.1400a98c0
mov al, 1
jmp 0x1400ad1ca
xor eax, eax
add rsp, 0xd8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1406d0470]
call fcn.1401f8674
cmp dword [0x1406d0470], 0xffffffff
jne 0x1400ad0c3
mov eax, dword [0x1406cfb78]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406cfb7c], 0xa
setl al
or al, cl
test al, al
je 0x1400ad215
mov eax, dword [0x1406cf700]
cmp dword [0x1406cf704], 0xa
mov byte [rbp - 0x28], Ordinal_79
jl 0x1400ad239
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400ad239
jmp 0x1400ad237
mov qword [rbp - 0x27], rbx
mov byte [rbp - 0x1f], 0
lea rcx, [rbp - 0x18]
lea rdx, [rbp - 0x28]
call fcn.14009e520
mov rdx, qword [0x1406d01d0]
lea r8, [rbp - 0x18]
mov rcx, qword [rbp + 0x40]
call fcn.1400aa1c0
mov rsi, rax
lea rcx, [rbp - 0x18]
call fcn.14009eab0
mov qword [0x1406d0468], rsi
lea rcx, [0x1406d0470]
call fcn.1401f870c
jmp 0x1400ad0c3