Function at 0x180012e60
Capabilities:
Hash data with crc32
Parse pe header

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x18
mov dword [rsp], 0
mov dword [rsp + 8], 0
mov dword [rsp], 0xffffffff
ja 0x180012eb4
or byte [rax], al
add byte [rax], al
add bh, al
add al, 0x24
jbe 0x180012eb4
add byte [rcx + 0x52], dh
mov bl, 0xe3
push rdi
jno 0x180012efd
push rdi
sbb eax, dword [rax]
jns 0x180012f12
push rdx
mov ah, 0x71
jns 0x180012e9e
or eax, dword [rax]
imul esi, dword [rsp + rdx*4 + 0x34e3db94], 0xffffffdb
shr dword [rbx - 0x6c], cl
rcl dword [rdx + 0x69], cl
or esi, dword [rsp + rsi]
or eax, dword [rax]
jno 0x180012e7c
mov dword [rsp + 4], 0
and al, 4
add byte [rax], al
add byte [rax], al
add bl, ch
or cl, byte [rbx - 0xfbdbbc]
ror byte [rcx - 0x74fbdbbc], 0x44
and al, 0x28
jmp 0x180012ec8
mov eax, dword [rsp + 4]
inc eax
mov dword [rsp + 4], eax
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 4], eax
jae 0x180012f93
js 0x180012f02
nop
jns 0x180012f02
rcl dword [rdi - 0x4d], cl
jrcxz 0x180012ebb
shl ebx, cl
mov bl, 0x6b
sar dword [rcx + 0x52], cl
push rdx
imul edx, dword [rdi + 0x69], 0x521b7969
invalid
jrcxz 0x180012eff
push rdx
or edx, ebx
mov eax, dword [rsp + 4]
mov rcx, qword [rsp + 0x20]
movzx eax, byte [rcx + rax]
mov ecx, dword [rsp]
xor ecx, eax
mov eax, ecx
and eax, 0xff
mov dword [rsp + 8], eax
jne 0x180012f4b
push rdi
push rdi
nop
pop rdi
pop rdi
je 0x180012f4b
imul edx, dword [rsp + rsi + 0x69940be3], 0x79b352e3
xchg esp, eax
jns 0x180012ec8
mov ah, 0x57
imul ebx, dword [rbx], 0xe3719479
xor al, 0x34
push rdi
jrcxz 0x180012f93
or edx, dword [rdx + 0x1b]
sbb ebp, dword [rbx - 0x4d]
jno 0x180012f49
rcl ebx, cl
mov eax, dword [rsp]
shr eax, 8
mov ecx, dword [rsp + 8]
lea rdx, [0x180019800]
xor eax, dword [rdx + rcx*4]
mov dword [rsp], eax
jge 0x180012f8e
push rdi
push rbx
pop rbx
pop rdi
jl 0x180012f8e
jrcxz 0x180012fa0
invalid
add byte [rax], al
jrcxz 0x180012f32
xor al, 0xb
jns 0x180012fb6
push rdi
sbb ebp, dword [rcx + 0x52]
or ebx, dword [rbx]
jns 0x180013003
sbb esi, dword [rcx + 0xb]
imul ebp, ecx, 0xffffff2b
jmp 0x180012ebe
jne 0x180012fbf
push rsp
push rdi
pop rdi
pop rsp
je 0x180012fbf
fcmovnbe st(0), st(3)
add byte [rcx - 0x4c], bh
fninit
xor al, 0xd3
mov ah, 0x52
jno 0x180012fff
mov bl, 0
jrcxz 0x180012ffe
jns 0x180013017
jrcxz 0x180013019
push rdx
or edx, ebx
imul esi, dword [rbx + rcx], 0xd394006b
push rdx
imul eax, dword [rax], 0xffffff94
rcl dword [rdx - 0x4d], cl
jns 0x180012fd9
mov bl, 0x79
sbb ebp, dword [rcx - 0x75]
add al, 0x24
imul ecx, dword [rbx - 0xf7cdbfc], 0x240489ff
mov eax, dword [rsp]
xor eax, 0xffffffff
mov dword [rsp], eax
jp 0x180012ff4
push rbp
nop
pop rbp
jnp 0x180012ff4
mov ah, 0x57
mov ah, 0x69
jrcxz 0x180012fd5
push rdx
imul edx, dword [rcx + rdi*2 - 0x1cffcbcc], 0xb4b46979
xor al, 0x34
add bl, ah
jns 0x180013048
mov ah, 0xb4
jno 0x180012ffe
push rdi
jno 0x180012f7a
jno 0x180012fbb
imul ebx, dword [rbx], 0xd3717169
mov ah, 0x1b
jns 0x18001305b
jrcxz 0x180012fff
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp]
mov dword [rax], ecx
xor eax, eax
add rsp, 0x18
ret
ror byte [rax - 0x7d], 0xc4
sbb bl, al
int3
push rsp
and al, 0x10
adc byte [rax - 0x77], cl
and al, 8
and al, 0x48
add byte [rax], al
add byte [rax], al
jo 0x1800130a5
mov dword [rsp + 0x38], eax
add byte [rax - 0x75], cl
and al, 0x38