Function at 0x140001744
Capabilities:
Parse pe header

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov byte [r11 + 0x18], r8b
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov bpl, r8b
mov r12, rdx
mov rbx, rcx
test rdx, rdx
je 0x1400019c7
mov ecx, 0xffff
cmp rdx, rcx
movzx eax, cx
cmovb ax, r12w
mov word [rsp + 0x198], ax
test rbx, rbx
je 0x1400019c7
mov eax, 0x5a4d
cmp word [rbx], ax
jne 0x1400019c7
movsxd r13, dword [rbx + 0x3c]
add r13, rbx
cmp dword [r13], 0x4550
jne 0x1400019c7
and dword [r11 + 0x10], 0
lea r9, [r11 + 0x10]
xor r8d, r8d
mov dl, bpl
mov rcx, rbx
call fcn.140001c40
mov rdi, rax
test rax, rax
je 0x1400019c7
mov esi, dword [rsp + 0x188]
test esi, esi
je 0x1400019c7
mov ecx, dword [rax + 0x14]
test ecx, ecx
je 0x1400019c7
cmp esi, 0x28
ja 0x14000180e
mov eax, dword [rax + 0x18]
cmp ecx, eax
cmova eax, ecx
imul esi, eax, 0xff
add esi, dword [rdi + 0x24]
sub esi, edi
add esi, ebx
mov r8d, dword [rdi + 0x20]
test bpl, bpl
je 0x14000182a
mov r15d, dword [rdi + 0x1c]
lea r14, [rbx + r8]
mov edx, dword [rdi + 0x24]
add r15, rbx
add rdx, rbx
jmp 0x14000185c
mov rdx, rbx
mov rcx, r13
call fcn.140001dc8
mov r8d, dword [rdi + 0x1c]
mov rdx, rbx
mov rcx, r13
mov r14, rax
call fcn.140001dc8
mov r8d, dword [rdi + 0x24]
mov rdx, rbx
mov rcx, r13
mov r15, rax
call fcn.140001dc8
mov rdx, rax
xor eax, eax
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], eax
cmp dword [rdi + 0x14], eax
jbe 0x1400019c7
mov ecx, eax
movzx eax, word [rdx + rax*2]
mov word [rsp + 0x188], ax
mov ebp, dword [r15 + rax*4]
test ebp, ebp
je 0x1400019b4
cmp byte [rsp + 0x190], 0
mov r8d, dword [r14 + rcx*4]
je 0x14000195b
lea rcx, [rbx + rbp]
lea rdx, [rbx + r8]
mov rbp, rcx
mov r11, rdx
cmp rcx, rdi
jbe 0x140001981
mov eax, esi
add rax, rdi
cmp rcx, rax
jae 0x140001981
xor r8d, r8d
xor eax, eax
cmp byte [rax + rcx], r8b
je 0x1400018d9
inc rax
cmp rax, 0x100
jb 0x1400018c6
jmp 0x1400018ea
lea r8d, [rax + 1]
cmp r8d, 0x100
jae 0x1400019af
xor edx, edx
mov r10d, r8d
test r8d, r8d
je 0x140001919
lea rax, [rsp + 0x40]
mov r9, rbp
sub r9, rax
lea rax, [rsp + 0x40]
add rax, rdx
mov cl, byte [r9 + rax]
mov byte [rax], cl
test cl, cl
je 0x140001919
inc rdx
cmp rdx, r10
jb 0x1400018ff
xor eax, eax
test r8d, r8d
je 0x140001981
lea rcx, [rsp + 0x40]
cmp byte [rcx], 0x2e
lea edx, [rax + 1]
je 0x140001939
inc rcx
mov eax, edx
cmp edx, r8d
jb 0x140001925
jmp 0x140001981
mov byte [rsp + rax + 0x40], 0
add rdx, rbp
je 0x140001981
cmp byte [rdx], 0x23
je 0x140001981
mov rcx, r12
mov qword [rsp + 0x30], r11
call fcn.140002404
test eax, eax
jne 0x1400019af
jmp 0x14000197c
mov rdx, rbx
mov rcx, r13
call fcn.140001dc8
mov r8d, ebp
mov qword [rsp + 0x30], rax
mov rdx, rbx
mov rcx, r13
call fcn.140001dc8
mov rbp, rax
mov r11, qword [rsp + 0x30]
cmp r12, 0xffff
jbe 0x140001999
mov rdx, r11
mov rcx, r12
call fcn.140002404
test eax, eax
je 0x1400019e4
movzx ecx, word [rsp + 0x188]
movzx eax, word [rsp + 0x198]
inc ecx
cmp ecx, eax
je 0x1400019e4
mov rdx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
cmp eax, dword [rdi + 0x14]
jb 0x140001870
xor eax, eax
mov rbx, qword [rsp + 0x180]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rax, rbp
jmp 0x1400019c9