Function at 0x1400016e0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x510]
sub rsp, 0x610
mov dword [rbp + 0x80], 4
mov rax, qword gs:[0x30]
mov qword [rbp + 0xc0], rax
test rax, rax
je 0x14000200d
xor ebx, ebx
mov dword [rsp + 0x68], ebx
mov rcx, qword [rax + 0x60]
mov qword [rbp + 0x30], rcx
test rcx, rcx
je 0x14000200d
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0x28], rax
test rax, rax
je 0x14000200d
lea rdx, [rax + 0x20]
mov qword [rbp - 0x20], rdx
test rdx, rdx
je 0x14000200d
mov rdx, qword [rdx]
lea r8d, [rbx + 0x12]
mov ecx, 0x953d52de
mov rdx, qword [rdx + 0x50]
call section..text
mov dword [rbp + 0xb0], eax
lea r8d, [rbx + 0x12]
mov rax, qword [rbp - 0x20]
mov ecx, 0x1647c335
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov dword [rsp + 0x58], eax
lea r8d, [rbx + 0x12]
mov rax, qword [rbp - 0x20]
mov ecx, 0x34988e05
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
or eax, 1
lea rcx, [rsp + 0x40]
mov edx, 0x35746165
mov dword [rbp + 0x58], eax
mov r8d, 0x5028e31
call fcn.140001040
mov qword [rbp + 0x38], rax
test rax, rax
je 0x14000200d
mov edx, 0x9144e8a2
mov r8d, 0xea7ad28b
mov rcx, rax
call fcn.1400010d0
mov qword [rbp + 0xa8], rax
test rax, rax
je 0x14000200d
mov rcx, qword [rbp + 0x38]
mov edx, 0x6930260
mov r8d, 0x801eaf3b
call fcn.1400010d0
mov qword [rbp + 0xd8], rax
test rax, rax
je 0x14000200d
mov edx, 0xf1178de6
mov dword [rsp + 0x20], 0x419ea5e7
mov r9d, 0xe6d01c9c
lea rcx, [rsp + 0x40]
mov r8d, 0x200b0731
call fcn.140001460
lea rcx, [rsp + 0x40]
call fcn.1400016a0
test eax, eax
je 0x14000200d
lea rcx, [rbp + 0x5c]
call qword [rbp + 0xa8]
mov qword [rbp + 0xd0], rax
test rax, rax
je 0x14000200d
mov edx, 0x77e8c5e3
mov dword [rsp + 0x20], 0x4203f3d0
mov r9d, 0x48dc35db
lea rcx, [rsp + 0x40]
mov r8d, 0x83582885
call fcn.140001460
lea rcx, [rbp + 0x5c]
call qword [rbp + 0xa8]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x14000200d
mov rcx, qword [rbp + 0x38]
mov edx, 0xac0b2669
mov r8d, 0xa3d61d56
call fcn.1400010d0
mov qword [rbp - 0x78], rax
test rax, rax
je 0x14000201a
lea edx, [rbx + 0x71]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0xd8]
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000200d
mov rcx, qword [rbp - 0x50]
mov edx, 0x28378d98
mov r8d, 0x6154c157
call fcn.1400010d0
mov qword [rbp], rax
test rax, rax
je 0x14000200d
mov qword [rsp + 0x620], rsi
lea rcx, [rsp + 0x40]
mov edx, 0x2d5b398f
mov qword [rsp + 0x628], rdi
mov r9d, 0x4d256544
mov dword [rsp + 0x20], 0x209b8098
mov r8d, 0x47887e09
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
add rdi, 0x20
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x38]
mov edx, 0xf41b6cfb
mov r8d, 0x7aa8a9a3
call fcn.1400010d0
mov qword [rbp + 0x48], rax
test rax, rax
je 0x140001ffd
mov edx, 0xc465d4bf
mov dword [rsp + 0x20], 0x68d532f2
mov r9d, 0xa006bbf2
lea rcx, [rsp + 0x40]
mov r8d, 0xe363f11e
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
add rdi, 0x10
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp - 0x50]
mov edx, 0xcdfad5de
mov r8d, 0xd7e4727d
call fcn.1400010d0
mov qword [rbp + 0x50], rax
test rax, rax
je 0x140001ffd
mov edx, 0x76a36f76
mov dword [rsp + 0x20], 0x30b05f91
mov r9d, 0xa974c2c6
lea rcx, [rsp + 0x40]
mov r8d, 0x1fafb1ff
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
add rdi, 0x40
mov dword [rsp + 0x20], 0xdf5119d2
mov ecx, 0x10
mov edx, 0xa58a8560
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0xc1e7d4f0
mov r8d, 0xbd8b25f5
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
mov ecx, 0x10
mov edx, 0x38f61092
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp - 0x50]
mov r8d, 0x36982c2e
call fcn.1400010d0
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0x7bf8271c
mov r8d, 0x15009272
call fcn.1400010d0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0x7899928d
mov r8d, 0x94cd44e7
call fcn.1400010d0
mov qword [rbp - 8], rax
test rax, rax
je 0x140001ffd
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 1]
xor ecx, ecx
call qword [rbp - 0x48]
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140001ffd
mov edx, 0x751f3ba
mov dword [rsp + 0x20], 0x5131f48f
mov r9d, 0x9435f929
lea rcx, [rsp + 0x40]
mov r8d, 0xe86fde50
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
add rdi, 0x50
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp - 0x50]
mov edx, 0x6006655b
mov r8d, 0x151b4f9b
call fcn.1400010d0
mov qword [rbp - 0x60], rax
test rax, rax
je 0x140001ffd
mov edx, 0x8d6f85bd
mov dword [rsp + 0x20], 0x602b705a
mov r9d, 0x10b61277
lea rcx, [rsp + 0x40]
mov r8d, 0xbbe10f3c
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
add rdi, 0x30
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x38]
mov edx, 0xc3f16d43
mov r8d, 0x4795379f
call fcn.1400010d0
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0xd0]
mov edx, 0xfacb4f0d
mov r8d, 0x8fe3674d
call fcn.1400010d0
mov qword [rbp - 0x18], rax
test rax, rax
je 0x140001ffd
mov edx, 0x5cfd548e
mov dword [rsp + 0x20], 0xb572e310
mov r9d, 0x1788c082
lea rcx, [rsp + 0x40]
mov r8d, 0xcee1a851
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
add rdi, 0x70
mov dword [rsp + 0x20], 0x707adbc9
mov ecx, 0x10
mov edx, 0xa8d50cfe
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0xe9c045a8
mov r8d, 0x2dd6960b
call fcn.140001460
mov rdi, qword [rsp + 0x40]
lea rsi, [rbp + 0x5c]
add rdi, 0x60
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp - 0x50]
mov edx, 0x81c0d92b
mov r8d, 0xae885a22
call fcn.1400010d0
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0xbb2f0656
mov r8d, 0x3af59136
call fcn.1400010d0
mov qword [rbp + 0x98], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0x7459e548
mov r8d, 0x8fc7de60
call fcn.1400010d0
mov qword [rbp - 0x80], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0x408af98e
mov r8d, 0x12422f48
call fcn.1400010d0
mov qword [rbp + 0x78], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0x3b5d93ec
mov r8d, 0x26e844a3
call fcn.1400010d0
mov qword [rbp + 0x18], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp - 0x50]
mov edx, 0x5881282
mov r8d, 0xba5ba716
call fcn.1400010d0
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0x102f9ea
mov r8d, 0x243621d
call fcn.1400010d0
mov qword [rsp + 0x70], rax
test rax, rax
je 0x140001ffd
mov edx, 0x636dfd67
mov dword [rsp + 0x20], 0x9ab67b18
mov r9d, 0xf6019e73
lea rcx, [rsp + 0x40]
mov r8d, 0x9d3a0d8d
call fcn.140001460
mov rcx, qword [rbp - 0x68]
lea rdx, [rbp + 0x5c]
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 [rsp + 0x48]
mov qword [rbp + 0x88], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0x17b9b3e4
mov r8d, 0x155c2249
call fcn.1400010d0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp - 0x50]
mov edx, 0x4bb146f6
mov r8d, 0x9b0e9471
call fcn.1400010d0
mov qword [rbp + 0xa0], rax
test rax, rax
je 0x140001ffd
lea rdx, [rbp + 0xf0]
mov ecx, 0x104
call qword [rbp - 8]
test eax, eax
je 0x140001ffd
lea rcx, [rbp + 0xf0]
call qword [rbp + 0x18]
test eax, eax
je 0x140001ffd
mov rcx, qword [rbp + 0x38]
mov edx, 0xaec366a6
mov r8d, 0xb04d5afe
call fcn.1400010d0
mov qword [rbp + 0x10], rax
test rax, rax
je 0x140001ffd
lea rdx, [rbp + 0x300]
lea rcx, [rsp + 0x40]
call fcn.1400014f0
mov rcx, qword [rbp + 0x90]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x140001ffd
mov rdx, qword [rsp + 0x40]
lea r9, [rbp - 0x58]
lea r8d, [rbx + 0x71]
mov qword [rsp + 0x20], rbx
call qword [rbp - 0x80]
test eax, eax
je 0x140001ffd
mov edx, 0x102ac097
mov dword [rsp + 0x20], 0xbc65cd57
mov r9d, 0x3a855064
lea rcx, [rsp + 0x40]
mov r8d, 0xc7e4896e
call fcn.140001460
mov rcx, qword [rbp + 0x88]
lea r8, [rbp + 0x60]
mov qword [rsp + 0x38], rbx
lea rdx, [rbp + 0x5c]
mov dword [rsp + 0x30], 0x80800000
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [rbp + 0xa0]
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp + 0x90]
call qword [rsp + 0x78]
xor r9d, r9d
mov dword [rsp + 0x28], 1
lea r8, [rbp + 0x300]
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
call qword [rbp - 0x18]
cmp rax, 0x20
jb 0x140001ffd
mov rcx, qword [rbp + 0xc8]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [rbp]
test eax, eax
je 0x140001ffd
mov rcx, qword [rbp + 0xc8]
lea rax, [rsp + 0x68]
lea r9, [rbp + 0x80]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x38]
mov edx, 0x20000005
call qword [rbp + 0x50]
test eax, eax
je 0x140001ffd
mov edx, dword [rbp - 0x38]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0xd8]
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140001ffd
mov r8d, dword [rbp - 0x38]
lea r9, [rbp + 8]
mov rcx, qword [rbp + 0xc8]
mov rdx, rax
call qword [rbp - 0x60]
test eax, eax
je 0x140001ffd
mov eax, dword [rbp - 0x38]
cmp dword [rbp + 8], eax
jne 0x140001ffd
mov rcx, qword [rbp - 0x68]
call qword [rbp - 0x30]
mov rcx, qword [rbp + 0xc8]
call qword [rbp - 0x30]
mov rcx, qword [rbp + 0x88]
call qword [rbp - 0x30]
mov rcx, qword [rbp - 0x40]
mov eax, 0x5a4d
mov qword [rsp + 0x60], rcx
cmp word [rcx], ax
jne 0x140001ffd
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
mov qword [rbp - 0x70], rcx
cmp dword [rcx], 0x4550
jne 0x140001ffd
mov eax, 0x8664
cmp word [rcx + 4], ax
jne 0x140001ffd
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001ffd
mov edx, dword [rcx + 0x50]
lea r9d, [rbx + 0x40]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0xd8]
mov qword [rbp + 0x40], rax
test rax, rax
je 0x140001ffd
mov rcx, qword [rbp - 0x70]
movzx eax, word [rcx + 0x14]
add rcx, 0x18
add rcx, rax
mov qword [rbp - 0x10], rcx
lea rcx, [rsp + 0x40]
call fcn.140001200
lea rcx, [rsp + 0x40]
call fcn.140001350
lea rcx, [rsp + 0x40]
call fcn.140001270
mov rax, qword [rbp - 0x70]
mov rdi, qword [rbp + 0x40]
mov rsi, qword [rbp - 0x40]
mov ecx, dword [rax + 0x54]
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.1400013f0
mov rsi, qword [rsp + 0x620]
mov rdi, qword [rsp + 0x628]
mov rax, qword [rbp - 0x78]
test rax, rax
je 0x14000201a
xor ecx, ecx
call rax
mov rbx, qword [rsp + 0x630]
xor eax, eax
add rsp, 0x610
pop rbp
ret