Function at 0x180044274
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov eax, 0x5a4d
mov r12, r9
mov r13, r8
mov r15b, dl
mov r14, rcx
cmp word [rcx], ax
je 0x1800442c8
mov edx, 0xf41209d
mov ecx, 0x4b3193b7
call fcn.180038c24
test rax, rax
je 0x1800442c1
mov ecx, 0xc1
call rax
xor eax, eax
jmp 0x180044506
movsxd rbp, dword [rcx + 0x3c]
add rbp, r14
cmp dword [rbp], 0x4550
jne 0x1800442a6
mov ebx, 0xdb74cde3
mov edi, 0x4b3193b7
mov edx, ebx
mov ecx, edi
call fcn.180038c24
test rax, rax
je 0x18004430a
mov edx, dword [rbp + 0x50]
mov r9d, 4
mov rcx, qword [rbp + 0x30]
mov r8d, 0x1000
call rax
mov rsi, rax
jmp 0x18004430c
xor esi, esi
test rsi, rsi
jne 0x180044388
mov edx, ebx
mov ecx, edi
call fcn.180038c24
test rax, rax
je 0x180044337
mov edx, dword [rbp + 0x50]
lea r9d, [rsi + 4]
mov rcx, qword [rbp + 0x30]
mov r8d, 0x3000
call rax
mov rsi, rax
jmp 0x180044339
xor esi, esi
test rsi, rsi
jne 0x180044388
mov edx, ebx
mov ecx, edi
call fcn.180038c24
test rax, rax
je 0x180044362
mov edx, dword [rbp + 0x50]
lea r9d, [rsi + 4]
xor ecx, ecx
mov r8d, 0x3000
call rax
mov rsi, rax
jmp 0x180044364
xor esi, esi
test rsi, rsi
jne 0x180044388
mov edx, 0xf41209d
mov ecx, edi
call fcn.180038c24
test rax, rax
je 0x1800442c1
mov ecx, 0xe
jmp 0x1800442bf
mov ecx, 0x28
call fcn.1800314c8
mov rbx, rax
test rax, rax
jne 0x1800443ba
mov edx, 0x1fe93574
mov ecx, edi
call fcn.180038c24
test rax, rax
je 0x180044369
xor edx, edx
mov r8d, 0x8000
mov rcx, rsi
call rax
jmp 0x180044369
and dword [rax + 0x18], 0
mov rdx, r14
and qword [rax + 0x10], 0
mov rcx, rsi
mov qword [rax + 8], rsi
mov byte [rax + 0x1c], 0
mov r8d, dword [rbp + 0x54]
add r8d, dword [r14 + 0x3c]
call fcn.18003152c
movsxd rcx, dword [r14 + 0x3c]
mov r8, rbx
add rcx, rsi
mov rdx, rbp
mov qword [rbx], rcx
mov qword [rcx + 0x30], rsi
mov rcx, r14
call fcn.180043ef4
mov r14, rsi
sub r14, qword [rbp + 0x30]
je 0x180044482
mov rax, qword [rbx]
mov r11, qword [rbx + 8]
cmp dword [rax + 0xb4], 0
je 0x180044482
mov edx, dword [rax + 0xb0]
add rdx, r11
jmp 0x18004447c
mov r8d, eax
lea r9, [rdx + 8]
mov eax, dword [rdx + 4]
add r8, r11
sub rax, 8
xor r10d, r10d
test rax, 0xfffffffffffffffe
jbe 0x180044476
movzx eax, word [r9]
mov ecx, eax
shr eax, 0xc
and ecx, 0xfff
cmp eax, 3
je 0x180044459
cmp eax, 0xa
jne 0x18004445d
add qword [rcx + r8], r14
jmp 0x18004445d
add dword [rcx + r8], r14d
mov ecx, dword [rdx + 4]
inc r10d
sub rcx, 8
mov eax, r10d
shr rcx, 1
add r9, 2
cmp rax, rcx
jb 0x18004443a
mov eax, dword [rdx + 4]
add rdx, rax
mov eax, dword [rdx]
test eax, eax
jne 0x18004441e
mov rcx, rbx
call fcn.180043cec
mov rcx, rbx
test al, al
jne 0x1800444b8
mov dl, r15b
call fcn.1800440d4
mov edx, 0xf41209d
mov ecx, edi
call fcn.180038c24
test rax, rax
je 0x1800442c1
mov ecx, 0x45a
jmp 0x1800442bf
call fcn.180043fa4
mov rax, qword [rbx]
cmp dword [rax + 0x28], 0
je 0x1800444ce
mov eax, dword [rax + 0x28]
add rax, rsi
jmp 0x1800444d0
xor eax, eax
mov qword [rbx + 0x20], rax
test r15b, r15b
je 0x1800444ff
test rax, rax
je 0x1800444ff
mov r8, r13
mov edx, 1
mov rcx, rsi
call rax
test r12, r12
je 0x1800444f4
mov dword [r12], eax
test eax, eax
jne 0x1800444ff
mov dl, 1
mov rcx, rbx
jmp 0x180044494
mov byte [rbx + 0x1c], 1
mov rax, rbx
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret