Function at 0x180005d80
Capabilities:
Hash data with crc32
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov rax, qword [0x180031010]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x38], r9d
mov r13d, r8d
mov dword [rsp + 0x28], r8d
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], rcx
mov rcx, qword [rsp + 0x100]
mov qword [rsp + 0x78], rcx
xor ebp, ebp
mov ebx, ebp
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x20], ebp
mov qword [rcx], rbp
mov ecx, dword [0x1800a38d4]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov ecx, dword [rdx + rax]
cmp dword [0x1800a4710], ecx
jle 0x180005e2f
lea rcx, [0x1800a4710]
call fcn.180007448
cmp dword [0x1800a4710], 0xffffffff
jne 0x180005e2f
mov ecx, 0x34d04569
call fcn.1800056a0
mov qword [0x1800a4718], rax
lea rcx, [0x1800a4710]
call fcn.1800073dc
cmp qword [0x1800a4718], 0
je 0x180005e4a
add r13d, 2
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 2
mov qword [rsp + 0x80], rbp
mov edx, r13d
lea rcx, [rsp + 0x80]
call fcn.180006170
nop
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x40], r8
test r8, r8
je 0x180006126
mov edx, ebp
mov dword [rsp + 0x24], edx
mov rax, qword gs:[0x30]
mov rcx, qword [rax + 0x30]
mov rcx, qword [rcx + 0x60]
mov qword [rsp + 0x30], rcx
test rcx, rcx
je 0x180006123
mov rax, qword [rcx + 0x18]
add rax, 0x20
mov qword [rsp + 0x58], rax
mov r14, qword [rax]
xor ebx, ebx
mov r9d, 0x5a4d
nop word [rax + rax]
lea rax, [r14]
cmp edx, r13d
je 0x180005fd1
mov r14, qword [r14]
mov r15, qword [rax + 0x20]
cmp r15, qword [rcx + 0x10]
je 0x180005fc6
mov eax, edx
lea rcx, [rax + rax*2]
lea rax, [r8 + rcx*8]
mov qword [rsp + 0x50], rax
cmp word [r15], r9w
jne 0x180005fc1
movsxd rbp, dword [r15 + 0x3c]
add rbp, r15
cmp dword [rbp], 0x4550
jne 0x180005fc1
mov esi, ebx
movzx r12d, word [rbp + 6]
test r12d, r12d
je 0x180005fc1
movzx r13d, word [rbp + 0x14]
nop
mov eax, esi
lea rcx, [rax + rax*4]
lea rdi, [rcx*8]
add rdi, r13
add rdi, rbp
mov r11, 0xffffffffffffffff
nop dword [rax + rax]
inc r11
cmp byte [rdi + r11 + 0x18], bl
jne 0x180005f40
dec r11
cmp r11, 0xffffffffffffffff
je 0x180005fa2
lea rcx, [r11 - 1]
lea rdx, [rdi + 0x18]
call fcn.180003540
mov r10d, eax
movzx edx, byte [r11 + rdi + 0x18]
lea eax, [rdx - 0x41]
mov ecx, ebx
cmp al, 0x19
mov eax, 0x20
cmovbe ecx, eax
or dl, cl
movsx eax, dl
xor rax, r10
movzx ecx, al
shr r10d, 8
lea rax, [0x18002b990]
xor r10d, dword [rax + rcx*4]
not r10d
cmp r10d, 0xa21c1ea3
je 0x180006031
inc esi
cmp esi, r12d
jb 0x180005f20
mov edx, dword [rsp + 0x24]
mov r9d, 0x5a4d
mov r8, qword [rsp + 0x40]
mov r13d, dword [rsp + 0x28]
mov rcx, qword [rsp + 0x30]
cmp r14, qword [rsp + 0x58]
jne 0x180005ec0
mov edx, dword [rsp + 0x20]
cmp edx, r13d
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x68]
jae 0x180006123
lea rsi, [rdx + 1]
lea rsi, [rdx + rsi*2]
lea rsi, [r8 + rsi*8]
xor ebp, ebp
mov r15d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x70]
mov rax, qword [rsi - 8]
test rax, rax
je 0x1800060f8
mov ecx, dword [rsi]
test ecx, ecx
je 0x1800060f8
mov rbx, rax
test r15d, r15d
je 0x180006061
test bl, 0xf
je 0x180006061
add rbx, 0x10
and rbx, 0xfffffffffffffff0
add ecx, 0xfffffff0
jmp 0x18000606b
mov rcx, qword [rsp + 0x50]
mov qword [rcx], r15
mov eax, dword [rdi + 0x24]
add rax, r15
mov qword [rcx + 8], rax
mov eax, dword [rdi + 0x28]
mov dword [rcx + 0x10], eax
mov eax, dword [rdi + 0x24]
sub eax, dword [rdi + 0x2c]
mov dword [rcx + 0x14], eax
mov edx, dword [rsp + 0x24]
inc edx
mov dword [rsp + 0x24], edx
jmp 0x180005fb1
mov eax, 0xffffffff
sub eax, r14d
add ecx, eax
mov edi, ecx
add rdi, rbx
cmp r14, 2
jne 0x1800060b2
movzx eax, word [r12]
test r15d, r15d
je 0x180006098
cmp rbx, rdi
jae 0x1800060ad
cmp ax, word [rbx]
je 0x1800060f3
add rbx, 0x10
cmp rbx, rdi
jb 0x180006085
mov rbx, rbp
jmp 0x1800060f3
cmp rbx, rdi
jae 0x1800060ad
nop dword [rax]
cmp ax, word [rbx]
je 0x1800060f3
inc rbx
cmp rbx, rdi
jb 0x1800060a0
mov rbx, rbp
jmp 0x1800060f3
cmp rbx, rdi
jae 0x1800060ec
nop word [rax + rax]
mov r8, r14
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_RtlCompareMemory]
cmp rax, r14
je 0x1800060ef
mov eax, 1
test r15d, r15d
mov ecx, 0x10
cmovne eax, ecx
add rbx, rax
cmp rbx, rdi
jb 0x1800060c0
mov rbx, rbp
mov edx, dword [rsp + 0x20]
test rbx, rbx
jne 0x18000610c
inc edx
mov dword [rsp + 0x20], edx
add rsi, 0x18
cmp edx, r13d
jae 0x180006123
jmp 0x180006000
mov eax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x78]
mov qword [rcx], rax
mov rbp, rbx
mov rcx, qword [rsp + 0x80]
test rcx, rcx
je 0x180006138
call fcn.1800074fc
mov rax, rbp
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.180007380
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret