Function at 0x180091cf0
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x30
lea rbp, [rsp + 0x20]
mov qword [rbp + 0x40], rbx
mov r13, rdx
mov qword [rbp + 0x48], rsi
lea rdx, [rbp + 0x50]
mov qword [rbp + 0x58], rdi
mov rbx, r9
mov rdi, rcx
call fcn.1800917c0
test al, al
jne 0x180091d32
mov byte [r13 + 8], al
jmp 0x180091f7b
lea rdx, [rbp + 0x50]
mov rcx, rdi
call fcn.1800923c0
cmp byte [rbx], 0
mov rcx, rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
je 0x180091d58
nop dword [rax]
inc rcx
cmp byte [rcx], 0
jne 0x180091d50
sub rcx, rbx
xor esi, esi
shr rcx, 1
mov edi, esi
inc rcx
lea rax, [rcx + 0x10]
cmp rax, rcx
cmova rdi, rax
test rdi, rdi
je 0x180091e2c
movabs r15, 0xffffffffffffff0
cmp rdi, 0x400
ja 0x180091db7
lea rax, [rdi + 0xf]
cmp rax, rdi
ja 0x180091d98
mov rax, r15
and rax, 0xfffffffffffffff0
call fcn.1800e6290
sub rsp, rax
lea r14, [rsp + 0x20]
test r14, r14
je 0x180091dd1
mov dword [r14], 0xcccc
jmp 0x180091dcd
mov rcx, rdi
call fcn.1800ec4d0
mov r14, rax
test rax, rax
je 0x180091dd1
mov dword [rax], 0xdddd
add r14, 0x10
cmp rdi, 0x400
ja 0x180091e0c
lea rax, [rdi + 0xf]
cmp rax, rdi
ja 0x180091de6
mov rax, r15
and rax, 0xfffffffffffffff0
call fcn.1800e6290
sub rsp, rax
lea rdi, [rsp + 0x20]
test rdi, rdi
je 0x180091e26
movups xmm0, xmmword [rbp]
mov dword [rdi], 0xcccc
add rdi, 0x10
jmp 0x180091e32
mov rcx, rdi
call fcn.1800ec4d0
mov rdi, rax
test rax, rax
je 0x180091e26
mov dword [rax], 0xdddd
add rdi, 0x10
movups xmm0, xmmword [rbp]
jmp 0x180091e32
mov r14, rsi
mov rdi, rsi
movzx eax, byte [rbx]
mov r8, rdi
mov r9, r14
test al, al
je 0x180091ec3
cmp al, 0x3f
jne 0x180091e52
mov byte [r9], sil
inc rbx
mov byte [r8], al
jmp 0x180091eb2
movzx r10d, byte [rbx]
cmp r10b, 0x20
je 0x180091eb8
movzx edx, r10b
or dl, 0x20
lea eax, [rdx - 0x61]
cmp al, 5
ja 0x180091e6f
sub dl, 0x57
jmp 0x180091e7c
lea ecx, [r10 - 0x30]
mov edx, esi
cmp cl, 9
cmovbe edx, r10d
movzx r10d, byte [rbx + 1]
inc rbx
movzx ecx, r10b
shl dl, 4
or cl, 0x20
lea eax, [rcx - 0x61]
cmp al, 5
ja 0x180091e9a
sub cl, 0x57
jmp 0x180091ea9
sub r10b, 0x30
mov ecx, esi
movzx eax, r10b
cmp al, 9
cmovbe ecx, eax
or cl, dl
mov byte [r9], cl
mov byte [r8], 0x78
inc r9
inc r8
movzx eax, byte [rbx + 1]
inc rbx
test al, al
jne 0x180091e43
mov byte [r9], sil
mov byte [r8], sil
movq r8, xmm0
test r8, r8
je 0x180091f72
mov eax, 0x5a4d
cmp word [r8], ax
jne 0x180091f72
movsxd rax, dword [r8 + 0x3c]
cmp dword [rax + r8], 0x4550
jne 0x180091f72
movzx r12d, byte [rdi]
mov r9, rdi
test r12b, r12b
je 0x180091f08
inc r9
cmp byte [r9], sil
jne 0x180091f00
mov r15d, dword [rax + r8 + 0x50]
sub r9, rdi
sub r15, r9
add r15, r8
cmp r8, r15
jae 0x180091f72
nop dword [rax + rax]
cmp r12b, 0x3f
je 0x180091f2f
movzx eax, byte [r14]
cmp byte [r8], al
jne 0x180091f9c
cmp r9, 1
je 0x180091f6f
mov rcx, r8
lea rax, [r8 + 1]
neg rcx
mov r10, r8
not r10
lea r11, [rcx + rdi]
lea rbx, [rcx + r14]
nop dword [rax]
cmp byte [r11 + rax], 0x3f
je 0x180091f5f
movzx ecx, byte [rbx + rax]
cmp byte [rax], cl
jne 0x180091f98
inc rax
lea rcx, [r9 - 1]
lea rdx, [r10 + rax]
cmp rdx, rcx
jne 0x180091f50
mov rsi, r8
mov qword [r13], rsi
mov byte [r13 + 8], 1
mov rbx, qword [rbp + 0x40]
mov rax, r13
mov rsi, qword [rbp + 0x48]
mov rdi, qword [rbp + 0x58]
lea rsp, [rbp + 0x10]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea r8, [rax - 1]
inc r8
cmp r8, r15
jb 0x180091f20
jmp 0x180091f72