Function at 0x1400016e0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x520]
sub rsp, 0x620
xor ebx, ebx
mov dword [rsp + 0x78], ebx
mov rax, qword gs:[0x30]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rax + 0x60]
mov qword [rbp + 0x30], rcx
test rcx, rcx
je 0x14000202e
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x14000202e
lea rdx, [rax + 0x20]
mov dword [rbp - 0x68], 4
mov qword [rbp + 0x60], rdx
test rdx, rdx
je 0x14000202e
mov rdx, qword [rdx]
lea r8d, [rbx + 0x12]
mov ecx, 0x5d4c437d
mov rdx, qword [rdx + 0x50]
call section..text
mov edx, 0xd9dee86b
mov dword [rbp + 0xd0], eax
mov r8d, 0x9dadbf5d
lea rcx, [rsp + 0x40]
call fcn.140001040
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14000202e
mov edx, 0x25d3e926
mov r8d, 0x197db752
mov rcx, rax
call fcn.1400010d0
mov qword [rbp + 0x40], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0x41384e25
mov r8d, 0xea13dbf3
call fcn.1400010d0
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0x81dc68fe
mov r8d, 0x5187c9e8
call fcn.1400010d0
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14000203c
mov rcx, qword [rbp - 0x30]
mov edx, 0x206eaa52
mov r8d, 0xbc2d7186
call fcn.1400010d0
mov qword [rbp + 0x98], rax
test rax, rax
je 0x14000202e
mov rax, qword [rbp + 0x60]
lea r8d, [rbx + 0x12]
mov ecx, 0xdfb686f9
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov rcx, qword [rbp - 0x30]
or eax, 1
mov edx, 0xe9411e7a
mov dword [rsp + 0x50], eax
mov r8d, 0xa1f57834
call fcn.1400010d0
mov qword [rbp + 0xd8], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0x820be481
mov r8d, 0x862a31da
call fcn.1400010d0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0xc95a5d3
mov r8d, 0xe2a5929b
call fcn.1400010d0
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0xdf7dea46
mov r8d, 0x981d289a
call fcn.1400010d0
mov qword [rbp - 0x58], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0xa0bb862c
mov r8d, 0xd8062b3
call fcn.1400010d0
mov qword [rbp + 0x88], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0xd9c29384
mov r8d, 0x5a80cb4a
call fcn.1400010d0
mov qword [rbp - 0x20], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0xb0c1d3f2
mov r8d, 0x7e1e41a8
call fcn.1400010d0
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0x8fa00d07
mov r8d, 0x8ef18f4b
call fcn.1400010d0
mov qword [rbp + 0xc0], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rbp - 0x30]
mov edx, 0x1e1dfc6f
mov r8d, 0x345a8630
call fcn.1400010d0
mov qword [rbp + 0x28], rax
test rax, rax
je 0x14000202e
mov rax, qword [rbp + 0x60]
lea r8d, [rbx + 0x12]
mov ecx, 0x1f98649e
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov edx, 0x3c0ad910
mov dword [rbp + 0x38], eax
mov r9d, 0xebd69f36
mov dword [rsp + 0x20], 0xd2939c06
mov r8d, 0xcd9a9d2e
lea rcx, [rsp + 0x40]
call fcn.140001460
lea rcx, [rsp + 0x40]
call fcn.1400016a0
test eax, eax
je 0x14000202e
lea rcx, [rbp + 0xe0]
call qword [rbp + 0x40]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x14000202e
mov edx, 0xb6c9f386
mov dword [rsp + 0x20], 0x16dc5734
mov r9d, 0x15ca5063
lea rcx, [rsp + 0x40]
mov r8d, 0xfa688a18
call fcn.140001460
lea rcx, [rbp + 0xe0]
call qword [rbp + 0x40]
mov qword [rbp + 0x10], rax
test rax, rax
je 0x14000202e
lea edx, [rbx + 0x71]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp - 0x48]
mov qword [rbp - 0x18], rax
test rax, rax
je 0x14000202e
mov rcx, qword [rsp + 0x58]
mov edx, 0x5c2c597e
mov r8d, 0x1d1f1ba0
call fcn.1400010d0
mov qword [rbp + 0x80], rax
test rax, rax
je 0x14000202e
mov qword [rsp + 0x630], rsi
lea rcx, [rsp + 0x40]
mov edx, 0x7676086c
mov qword [rsp + 0x638], rdi
mov r9d, 0xc1aa3009
mov dword [rsp + 0x20], 0xd7d898fc
mov r8d, 0x3e26f764
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
add rdi, 0x40
mov dword [rsp + 0x20], 0xa992f725
mov ecx, 0x10
mov edx, 0xfd3c3963
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0xf55218b8
mov r8d, 0xc694cfa9
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
add rdi, 0x10
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
mov edx, 0xe966cc70
mov r8d, 0x860a73da
call fcn.1400010d0
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x14000201e
mov rcx, qword [rsp + 0x58]
mov edx, 0x1dc47c83
mov r8d, 0xeca4a740
call fcn.1400010d0
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14000201e
mov rcx, qword [rbp - 0x30]
mov edx, 0x2d95072e
mov r8d, 0x4fd605ce
call fcn.1400010d0
mov qword [rbp + 0xf0], rax
test rax, rax
je 0x14000201e
mov rcx, qword [rsp + 0x58]
mov edx, 0xcb4bf8f2
mov r8d, 0x2f76a3ec
call fcn.1400010d0
mov qword [rbp + 0x90], rax
test rax, rax
je 0x14000201e
mov rcx, qword [rsp + 0x58]
mov edx, 0x68e6642c
mov r8d, 0xe905df88
call fcn.1400010d0
mov qword [rbp + 0xa0], rax
test rax, rax
je 0x14000201e
mov edx, 0x475552cb
mov dword [rsp + 0x20], 0xa8a38415
mov r9d, 0xcfa7616a
lea rcx, [rsp + 0x40]
mov r8d, 0x96311d21
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
add rdi, 0x70
mov dword [rsp + 0x20], 0x18dab378
mov ecx, 0x10
mov edx, 0xcca551b7
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x1dc02733
mov r8d, 0xdda90b64
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
add rdi, 0x50
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x10]
mov edx, 0x31818737
mov r8d, 0xb7124c8a
call fcn.1400010d0
mov qword [rbp + 0x70], rax
test rax, rax
je 0x14000201e
mov edx, 0x5266893d
mov dword [rsp + 0x20], 0xa92fe271
mov r9d, 0x35f86e1d
lea rcx, [rsp + 0x40]
mov r8d, 0xfb29de03
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
add rdi, 0x20
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
mov edx, 0x314760bc
mov r8d, 0x10b05bf2
call fcn.1400010d0
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14000201e
mov edx, 0x69953e72
mov dword [rsp + 0x20], 0xaddbb452
mov r9d, 0x6b4f02d7
lea rcx, [rsp + 0x40]
mov r8d, 0x44e40ffe
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
mov ecx, 0x10
mov dword [rsp + 0x20], 0xbafb7023
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov edx, 0xbce834b3
mov r9d, 0x2fc39d42
mov r8d, 0xa77849f3
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
add rdi, 0x60
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rsp + 0x58]
mov edx, 0xa6857d6a
mov r8d, 0x80ab9ad7
call fcn.1400010d0
mov qword [rbp + 8], rax
test rax, rax
je 0x14000201e
lea rdx, [rbp + 0x100]
mov ecx, 0x104
call qword [rbp + 0x88]
test eax, eax
je 0x14000201e
lea rcx, [rbp + 0x100]
call qword [rbp + 0xf0]
test eax, eax
je 0x14000201e
mov edx, 0x68f81978
mov dword [rsp + 0x20], 0x3477bcd4
mov r9d, 0x449485c4
lea rcx, [rsp + 0x40]
mov r8d, 0x10c15db7
call fcn.140001460
mov rdi, qword [rbp - 0x18]
lea rsi, [rbp + 0xe0]
add rdi, 0x30
mov dword [rsp + 0x20], ebx
mov ecx, 0x10
lea edx, [rbx + 1]
rep movsb byte [rdi], byte [rsi]
xor ecx, ecx
xor r9d, r9d
xor r8d, r8d
call qword [rbp + 0x90]
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14000201e
mov edx, 0xfcf38201
mov dword [rsp + 0x20], 0xeb281f50
mov r9d, 0x4eccf086
lea rcx, [rsp + 0x40]
mov r8d, 0x58c36593
call fcn.140001460
mov rcx, qword [rbp - 0x60]
lea rdx, [rbp + 0xe0]
mov qword [rsp + 0x38], rbx
mov r8d, 0x1bb
mov dword [rsp + 0x30], ebx
xor r9d, r9d
mov dword [rsp + 0x28], 3
mov qword [rsp + 0x20], rbx
call qword [rbp + 8]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14000201e
mov edx, 0x5ba56de7
mov dword [rsp + 0x20], 0x1f225d09
mov r9d, 0x4396bc83
lea rcx, [rsp + 0x40]
mov r8d, 0x6bd58b1
call fcn.140001460
mov rcx, qword [rbp - 0x80]
lea r8, [rbp + 0xe4]
mov qword [rsp + 0x38], rbx
lea rdx, [rbp + 0xe0]
mov dword [rsp + 0x30], 0x80800000
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [rbp + pe_nt_image_headers64]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x14000201e
lea rdx, [rbp + 0x310]
lea rcx, [rsp + 0x40]
call fcn.1400014f0
mov rcx, qword [rsp + 0x40]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14000201e
mov rdx, qword [rbp - 0x18]
lea r9, [rsp + 0x60]
lea r8d, [rbx + 0x71]
mov qword [rsp + 0x20], rbx
call qword [rbp + 0x98]
test eax, eax
je 0x14000201e
mov rcx, qword [rsp + 0x40]
call qword [rsp + 0x68]
xor r9d, r9d
mov dword [rsp + 0x28], 1
lea r8, [rbp + 0x310]
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
call qword [rbp + 0x70]
cmp rax, 0x20
jb 0x14000201e
mov rcx, qword [rbp - 0x50]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [rbp - 0x78]
test eax, eax
je 0x14000201e
mov rcx, qword [rbp - 0x50]
lea rax, [rsp + 0x78]
lea r9, [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x68]
mov edx, 0x20000005
call qword [rbp + 0xa0]
test eax, eax
je 0x14000201e
mov edx, dword [rbp + 0x68]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp - 0x48]
mov qword [rbp], rax
test rax, rax
je 0x14000201e
mov r8d, dword [rbp + 0x68]
lea r9, [rbp - 0x28]
mov rcx, qword [rbp - 0x50]
mov rdx, rax
call qword [rbp - 0x10]
test eax, eax
je 0x14000201e
mov eax, dword [rbp + 0x68]
cmp dword [rbp - 0x28], eax
jne 0x14000201e
mov rcx, qword [rbp]
mov eax, 0x5a4d
mov qword [rbp + 0x20], rcx
cmp word [rcx], ax
jne 0x14000201e
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
mov qword [rsp + 0x48], rdx
cmp dword [rdx], 0x4550
jne 0x14000201e
mov eax, 0x8664
cmp word [rdx + 4], ax
jne 0x14000201e
mov eax, 0x20b
cmp word [rdx + 0x18], ax
jne 0x14000201e
mov rcx, qword [rbp - 0x80]
call qword [rbp + 0xb8]
mov rcx, qword [rbp - 0x60]
call qword [rbp + 0xb8]
mov rdx, qword [rsp + 0x48]
lea r9d, [rbx + 0x40]
mov r8d, 0x3000
movzx eax, word [rdx + 0x14]
lea rcx, [rdx + 0x18]
add rcx, rax
mov qword [rbp + 0x18], rcx
xor ecx, ecx
mov edx, dword [rdx + 0x50]
call qword [rbp - 0x48]
mov qword [rbp + 0x48], rax
test rax, rax
je 0x14000201e
mov rcx, qword [rbp - 0x50]
call qword [rbp + 0xb8]
mov rax, qword [rsp + 0x48]
mov rdi, qword [rbp + 0x48]
mov rsi, qword [rbp]
mov ecx, dword [rax + 0x54]
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.140001200
lea rcx, [rsp + 0x40]
call fcn.140001270
lea rcx, [rsp + 0x40]
call fcn.140001350
lea rcx, [rsp + 0x40]
call fcn.1400013f0
mov rsi, qword [rsp + 0x630]
mov rdi, qword [rsp + 0x638]
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x14000203c
xor ecx, ecx
call rax
mov rbx, qword [rsp + 0x640]
xor eax, eax
add rsp, 0x620
pop rbp
ret