Function at 0x1800ae820
Capabilities:
Get number of processors
Hash data using fnv
Parse pe header
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, 0xb8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov qword [rbp - 0x20], rcx
mov eax, dword [0x1800e94f0]
mov ecx, dword [0x1800e9548]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1800aee7e
lea rsi, [rbp + 8]
mov qword [rbp + 0x28], rsi
mov rax, qword [rbp + 0x28]
mov eax, 0x83ba4943
lea rdi, [0x1800e94e0]
lea rbx, [rbp - 0x20]
nop dword [rax + rax]
cmp eax, 0x4cbf7755
je 0x1800ae8bf
cmp eax, 0x83ba4943
jne 0x1800ae890
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.1800af7b0
mov rax, qword [rbp + 8]
add rax, 0x28
mov qword [rbp + 0x20], rax
mov eax, 0x4cbf7755
jmp 0x1800ae890
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x20]
cmp qword [rax], 0
je 0x1800ae923
mov qword [rbp + 0x28], rsi
mov rax, qword [rbp + 0x28]
mov eax, 0x83ba4943
lea rdi, [0x1800e94e0]
lea rbx, [rbp - 0x20]
nop word cs:[rax + rax]
nop
cmp eax, 0x4cbf7755
je 0x1800aee5f
cmp eax, 0x83ba4943
jne 0x1800ae8f0
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.1800af7b0
mov rax, qword [rbp + 8]
add rax, 0x28
mov qword [rbp + 0x20], rax
mov eax, 0x4cbf7755
jmp 0x1800ae8f0
mov rax, qword gs:[0x30]
add rax, 0x60
mov qword [rbp + 0x20], rax
mov eax, 0x291d262f
nop dword [rax]
cmp eax, 0x13902e83
je 0x1800ae964
cmp eax, 0x291d262f
jne 0x1800ae940
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rbp + 8], rax
mov eax, 0x13902e83
jmp 0x1800ae940
mov rax, qword [rbp + 8]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x1800aed83
mov rdx, qword [rbp - 0x20]
mov qword [rbp - 0x50], rdx
mov r11d, 0x755c2224
movabs r14, 0xcbf29ce484222325
mov r15d, 0x2340dabd
movabs r10, 0x100000001b3
mov ebx, 0x2d5b195a
mov esi, 0x546b620a
jmp 0x1800ae9c4
mov rax, qword [rbp - 0x60]
mov rax, qword [rax]
mov rcx, qword [rax + 0x30]
test rcx, rcx
je 0x1800aed83
mov qword [rbp - 0x60], rax
movzx eax, word [rcx]
cmp eax, 0x5a4d
jne 0x1800ae9b0
movsxd rax, dword [rcx + 0x3c]
cmp dword [rcx + rax], 0x4550
jne 0x1800ae9b0
mov edx, dword [rcx + rax + 0x88]
mov rax, rdx
mov qword [rbp - 0x18], rdx
test rdx, rdx
je 0x1800ae9b0
mov rax, qword [rbp - 0x18]
cmp dword [rcx + rax + 0x18], 0
je 0x1800ae9b0
mov rax, qword [rbp - 0x18]
mov edx, dword [rcx + rax + 0x1c]
mov qword [rbp - 0x48], rdx
mov edx, dword [rcx + rax + 0x20]
add rdx, rcx
mov qword [rbp - 0x58], rdx
mov eax, dword [rcx + rax + 0x24]
mov qword [rbp - 0x40], rax
xor edx, edx
mov qword [rbp - 0x30], rcx
nop word cs:[rax + rax]
nop dword [rax]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x38], rdx
mov r8d, dword [rax + rdx*4]
add r8, rcx
mov r12d, 0x229f5719
jmp 0x1800aea60
mov ecx, dword [rbp - 4]
cmp ecx, 0x7f
setl byte [rbp + 0x1f]
mov r12d, 0x156eccc
nop word [rax + rax]
cmp r12d, 0x17609036
jle 0x1800aeac0
cmp r12d, 0x3fbc816e
jle 0x1800aeb20
cmp r12d, 0x55d33782
jg 0x1800aebd2
cmp r12d, 0x3fbc816f
je 0x1800aed28
cmp r12d, 0x4f564c72
je 0x1800aecde
cmp r12d, 0x546b620a
jne 0x1800aea60
mov ecx, dword [rbp + 0x18]
or ecx, 0x20
mov dword [rbp], ecx
mov r12d, 0x4f564c72
jmp 0x1800aea60
cmp r12d, 0xed8422b6
jg 0x1800aeb80
cmp r12d, 0xa8c3d740
jg 0x1800aec0f
cmp r12d, 0x8f49762d
je 0x1800aed19
cmp r12d, 0x976d2366
je 0x1800aec90
cmp r12d, 0xa375b4ab
jne 0x1800aea60
mov dword [rbp + 0x20], r9d
mov qword [rbp + 8], rdx
mov ecx, dword [rbp + 0x28]
mov edi, dword [rbp + 0x20]
cmp edi, ecx
mov r12d, 0xa8c3d741
cmovb r12d, r11d
jmp 0x1800aea60
cmp r12d, 0x2340dabc
jle 0x1800aec34
cmp r12d, 0x2340dabd
je 0x1800aecf7
cmp r12d, 0x2d5b195a
je 0x1800aea47
cmp r12d, 0x3318f134
jne 0x1800aea60
mov dword [rbp + 0x28], r13d
mov ecx, dword [rbp + 0x28]
movsx ecx, byte [r8 + rcx]
mov dword [rbp - 4], ecx
mov ecx, dword [rbp - 4]
cmp ecx, 0x1f
mov r12d, 0x55d33783
cmovg r12d, ebx
jmp 0x1800aea60
cmp r12d, 0x24e021
jle 0x1800aec55
cmp r12d, 0x24e022
je 0x1800aed0b
cmp r12d, 0x156eccc
je 0x1800aec7d
cmp r12d, 0x5752697
jne 0x1800aea60
movsxd rdx, eax
xor rdx, qword [rbp + 8]
imul rdx, r10
mov r9d, dword [rbp + 0x20]
add r9d, 1
mov r12d, 0xa375b4ab
jmp 0x1800aea60
cmp r12d, 0x55d33783
je 0x1800aed3b
cmp r12d, 0x6c618e12
je 0x1800aecec
cmp r12d, 0x755c2224
jne 0x1800aea60
mov ecx, dword [rbp + 0x20]
movzx ecx, byte [r8 + rcx]
mov byte [rbp + 0x1e], cl
mov r12d, 0xfa68adea
jmp 0x1800aea60
cmp r12d, 0xad4b8fd6
je 0x1800aeccd
cmp r12d, 0xbf7d9bb1
jne 0x1800aed46
mov r12d, 0x8f49762d
jmp 0x1800aea60
cmp r12d, 0x17609037
je 0x1800aecaa
cmp r12d, 0x229f5719
jne 0x1800aea60
mov r12d, 0x24e022
jmp 0x1800aea60
cmp r12d, 0xed8422b7
je 0x1800aecbf
cmp r12d, 0xfa68adea
jne 0x1800aea60
movsx ecx, byte [rbp + 0x1e]
mov dword [rbp + 0x18], ecx
mov r12d, 0x976d2366
jmp 0x1800aea60
cmp byte [rbp + 0x1f], 0
mov r12d, 0x55d33783
cmovne r12d, r15d
jmp 0x1800aea60
mov ecx, dword [rbp + 0x18]
cmp ecx, 0x40
mov r12d, 0xed8422b7
mov ecx, 0x17609037
cmovg r12d, ecx
jmp 0x1800aea60
mov ecx, dword [rbp + 0x18]
cmp ecx, 0x5b
setl byte [rbp + 0x1d]
mov r12d, 0x3fbc816f
jmp 0x1800aea60
mov r12d, 0x5752697
mov eax, dword [rbp + 0x18]
jmp 0x1800aea60
mov r12d, 0xa375b4ab
xor r9d, r9d
mov rdx, r14
jmp 0x1800aea60
mov r12d, 0x5752697
mov eax, dword [rbp]
jmp 0x1800aea60
mov r12d, 0xad4b8fd6
jmp 0x1800aea60
mov ecx, dword [rbp + 0x28]
add ecx, 1
mov dword [rbp - 0x24], ecx
mov r12d, 0xbf7d9bb1
jmp 0x1800aea60
mov r12d, 0x3318f134
xor r13d, r13d
jmp 0x1800aea60
mov r12d, 0x3318f134
mov r13d, dword [rbp - 0x24]
jmp 0x1800aea60
cmp byte [rbp + 0x1d], 0
mov r12d, 0xed8422b7
cmovne r12d, esi
jmp 0x1800aea60
mov r12d, 0x6c618e12
jmp 0x1800aea60
cmp r12d, 0xa8c3d741
jne 0x1800aea60
mov rax, qword [rbp + 8]
mov qword [rbp - 0x10], rax
cmp rax, qword [rbp - 0x50]
je 0x1800aed8a
mov rdx, qword [rbp - 0x38]
add rdx, 1
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x18]
mov eax, dword [rcx + rax + 0x18]
cmp rdx, rax
jb 0x1800aea30
jmp 0x1800ae9b0
xor eax, eax
jmp 0x1800aee6a
mov rbx, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x48]
add rcx, rbx
mov rax, qword [rbp - 0x40]
add rax, rbx
mov rdx, qword [rbp - 0x38]
movzx eax, word [rax + rdx*2]
mov esi, dword [rcx + rax*4]
lea rdi, [rbp + 8]
mov qword [rbp + 0x28], rdi
mov rax, qword [rbp + 0x28]
mov eax, 0x83ba4943
lea r14, [0x1800e94e0]
lea r15, [rbp - 0x10]
nop word cs:[rax + rax]
nop dword [rax]
cmp eax, 0x4cbf7755
je 0x1800aedff
cmp eax, 0x83ba4943
jne 0x1800aedd0
mov rcx, r14
mov rdx, rdi
mov r8, r15
call fcn.1800af7b0
mov rax, qword [rbp + 8]
add rax, 0x28
mov qword [rbp + 0x20], rax
mov eax, 0x4cbf7755
jmp 0x1800aedd0
add rbx, rsi
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x20]
mov qword [rax], rbx
mov qword [rbp + 0x28], rdi
mov rax, qword [rbp + 0x28]
mov eax, 0x83ba4943
lea rsi, [0x1800e94e0]
lea rbx, [rbp - 0x10]
nop word cs:[rax + rax]
nop
cmp eax, 0x4cbf7755
je 0x1800aee5f
cmp eax, 0x83ba4943
jne 0x1800aee30
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.1800af7b0
mov rax, qword [rbp + 8]
add rax, 0x28
mov qword [rbp + 0x20], rax
mov eax, 0x4cbf7755
jmp 0x1800aee30
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x20]
mov rax, qword [rax]
add rsp, 0xb8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea rcx, [0x1800e94f0]
call fcn.1800b9e44
cmp dword [0x1800e94f0], 0xffffffff
jne 0x1800ae86c
lea rax, [0x1800e94e0]
mov qword [rbp - 0x10], rax
mov eax, 0xf24ec45
mov rsi, rbp
cmp eax, 0x322a9ed8
je 0x1800af019
cmp eax, 0xf24ec45
jne 0x1800aeeaa
mov rax, qword [rbp - 0x10]
lea rcx, [rax + 8]
mov edx, 0xdfa0dd1c
cmp edx, 0xb55fa70c
je 0x1800aef4d
cmp edx, 0xdfa0dd1c
jne 0x1800aeec9
mov edx, 0xfeabb8f7
cmp edx, 0xf9f61d2f
je 0x1800aeef5
cmp edx, 0xfeabb8f7
jne 0x1800aeede
mov edx, 0xf9f61d2f
jmp 0x1800aeede
mov edx, 0x5735885d
cmp edx, 0x9ad9a68d
je 0x1800aef11
cmp edx, 0x5735885d
jne 0x1800aeefa
mov edx, 0x9ad9a68d
jmp 0x1800aeefa
mov qword [rax], 0
mov edx, 0xf8cf4144
cmp edx, 0x90b1ec1f
je 0x1800aef38
cmp edx, 0xf8cf4144
jne 0x1800aef1d
mov qword [rbp + 8], rcx
mov edx, 0x90b1ec1f
jmp 0x1800aef1d
mov rdx, qword [rbp + 8]
mov qword [rdx], 0
mov edx, 0xb55fa70c
jmp 0x1800aeec9
mov qword [rbp + 0x20], rax
mov ecx, 0xafe1c755
cmp ecx, 0x66cc2465
je 0x1800aef75
cmp ecx, 0xafe1c755
jne 0x1800aef56
mov rcx, qword [rbp + 0x20]
mov qword [rbp + 8], rcx
mov ecx, 0x66cc2465
jmp 0x1800aef56
mov rdi, qword [rbp + 8]
mov qword [rbp + 0x28], rsi
mov rcx, qword [rbp + 0x28]
mov ecx, 0xb5cd7e21
cmp ecx, 0xb5cd7e21
je 0x1800aef98
cmp ecx, 0x846f6bdf
jne 0x1800aef86
jmp 0x1800aef9f
mov ecx, 0x846f6bdf
jmp 0x1800aef86
mov ecx, 0x4e6a05eb
cmp ecx, 0x4538dd5
je 0x1800aefbf
cmp ecx, 0x4e6a05eb
jne 0x1800aefa4
mov qword [rbp + 0x20], rax
mov ecx, 0x4538dd5
jmp 0x1800aefa4
mov rax, qword [rbp + 0x20]
mov ecx, 0xc95bab81
cmp ecx, 0xee50c39c
je 0x1800aefe3
cmp ecx, 0xc95bab81
jne 0x1800aefc8
mov qword [rbp + 8], rax
mov ecx, 0xee50c39c
jmp 0x1800aefc8
mov rcx, qword [rbp + 8]
call fcn.1800af360
mov qword [rdi], rax
mov eax, 0xd336c12b
cmp eax, 0xd336c12b
je 0x1800af004
cmp eax, 0x77869969
jne 0x1800aeff4
jmp 0x1800af00b
mov eax, 0x77869969
jmp 0x1800aeff4
mov rax, qword [rbp + 0x28]
mov eax, 0x322a9ed8
jmp 0x1800aeeaa
lea rcx, [0x1800af1a0]
call fcn.1800ba0a0
lea rcx, [0x1800e94f0]
call fcn.1800b9edc
jmp 0x1800ae86c