Function at 0x1400016e0
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x540]
sub rsp, 0x640
mov dword [rbp + 0x70], 4
mov rax, qword gs:[0x30]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140002024
xor ebx, ebx
mov dword [rbp + 0xd8], ebx
mov rcx, qword [rax + 0x60]
mov qword [rsp + 0x70], rcx
test rcx, rcx
je 0x140002024
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x18], rax
test rax, rax
je 0x140002024
lea rdx, [rax + 0x20]
mov qword [rbp + 0x108], rdx
test rdx, rdx
je 0x140002024
mov rdx, qword [rdx]
lea r8d, [rbx + 0x12]
mov ecx, 0xab096dfd
mov rdx, qword [rdx + 0x50]
call section..text
or eax, 1
lea r8d, [rbx + 0x12]
mov dword [rbp + 0xb0], eax
mov ecx, 0x4bd32aaf
mov rax, qword [rbp + 0x108]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov dword [rbp + 8], eax
lea r8d, [rbx + 0x12]
mov rax, qword [rbp + 0x108]
mov ecx, 0xe13a6d05
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov edx, 0xa3d172d9
mov dword [rbp + 0xc8], eax
mov r8d, 0xab9845af
lea rcx, [rsp + 0x40]
call fcn.140001040
mov qword [rbp], rax
test rax, rax
je 0x140002024
mov edx, 0x1eff8688
mov r8d, 0x35ad182e
mov rcx, rax
call fcn.1400010d0
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140002024
mov rcx, qword [rbp]
mov edx, 0xfd178fbc
mov r8d, 0xc3d22a36
call fcn.1400010d0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x140002024
mov edx, 0x5ead2652
mov dword [rsp + 0x20], 0x927983dc
mov r9d, 0x116fe164
lea rcx, [rsp + 0x40]
mov r8d, 0x860678f3
call fcn.140001460
lea rcx, [rsp + 0x40]
call fcn.1400016a0
test eax, eax
je 0x140002024
lea rcx, [rbp + 0x7c]
call qword [rbp - 0x20]
mov qword [rbp + 0xf0], rax
test rax, rax
je 0x140002024
mov edx, 0xce5a55a3
mov dword [rsp + 0x20], 0x606e37b6
mov r9d, 0xda2312fb
lea rcx, [rsp + 0x40]
mov r8d, 0xf01b44ad
call fcn.140001460
lea rcx, [rbp + 0x7c]
call qword [rbp - 0x20]
mov qword [rbp + 0x100], rax
test rax, rax
je 0x140002024
mov rcx, qword [rbp]
mov edx, 0x935782c4
mov r8d, 0x9b9a008d
call fcn.1400010d0
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140002031
lea edx, [rbx + 0x71]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x58]
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140002024
mov rcx, qword [rbp]
mov edx, 0x1c290beb
mov r8d, 0x13c13f45
call fcn.1400010d0
mov qword [rbp + 0x40], rax
test rax, rax
je 0x140002024
mov rcx, qword [rbp + 0xf0]
mov edx, 0x519433a9
mov r8d, 0x590fec90
call fcn.1400010d0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140002024
mov rcx, qword [rbp]
mov edx, 0xa4e37552
mov r8d, 0xd27af1aa
call fcn.1400010d0
mov qword [rbp + 0x110], rax
test rax, rax
je 0x140002024
mov rcx, qword [rbp + 0x100]
mov edx, 0x8aa40517
mov r8d, 0x3519e244
call fcn.1400010d0
mov qword [rbp + 0x30], rax
test rax, rax
je 0x140002024
mov qword [rsp + 0x650], rsi
lea rcx, [rsp + 0x40]
mov edx, 0xb4300854
mov qword [rsp + 0x658], rdi
mov r9d, 0x423e129e
mov dword [rsp + 0x20], 0xccbe70a0
mov r8d, 0xa820633
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
mov ecx, 0x10
mov edx, 0x40465084
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp]
mov r8d, 0x7a1b8ac
call fcn.1400010d0
mov qword [rbp - 0x78], rax
test rax, rax
je 0x140002014
mov edx, 0x41d4d337
mov dword [rsp + 0x20], 0xb753a2f4
mov r9d, 0xfd5a80f5
lea rcx, [rsp + 0x40]
mov r8d, 0xd6ee2ba3
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
add rdi, 0x10
mov dword [rsp + 0x20], 0xcf39e52b
mov ecx, 0x10
mov edx, 0x18c5f846
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0xdda8f4f2
mov r8d, 0x11d7e48b
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
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 + 0x30]
mov qword [rbp - 8], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp]
mov edx, 0x703fe025
mov r8d, 0xf8f73b71
call fcn.1400010d0
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140002014
mov edx, 0xf627f62b
mov dword [rsp + 0x20], 0xc74d3ad6
mov r9d, 0xfbe050e9
lea rcx, [rsp + 0x40]
mov r8d, 0x5eaf6fed
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
add rdi, 0x20
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x100]
mov edx, 0xe430bacb
mov r8d, 0x5df1faf6
call fcn.1400010d0
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp + 0x100]
mov edx, 0xaff394eb
mov r8d, 0x3fbe206b
call fcn.1400010d0
mov qword [rbp + 0x10], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp]
mov edx, 0x720b3049
mov r8d, 0xf6286823
call fcn.1400010d0
mov qword [rbp + 0x28], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp + 0x100]
mov edx, 0xbcf881c2
mov r8d, 0x832980a0
call fcn.1400010d0
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp]
mov edx, 0x1ce52960
mov r8d, 0xd13968e3
call fcn.1400010d0
mov qword [rbp + 0xa0], rax
test rax, rax
je 0x140002014
mov edx, 0x4ce0954
mov dword [rsp + 0x20], 0xb3d52399
mov r9d, 0xd96bb1ea
lea rcx, [rsp + 0x40]
mov r8d, 0x50f02911
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
add rdi, 0x40
mov dword [rsp + 0x20], 0xb8261d86
mov ecx, 0x10
mov edx, 0xfd650dfe
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x25336363
mov r8d, 0x6fc80717
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
add rdi, 0x70
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp]
mov edx, 0x2540594a
mov r8d, 0x4890ca0b
call fcn.1400010d0
mov qword [rbp + 0x98], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp]
mov edx, 0x45cd4279
mov r8d, 0x80ff2b43
call fcn.1400010d0
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140002014
mov edx, 0xa5c8e980
mov dword [rsp + 0x20], 0x78445f15
mov r9d, 0x6df8c0d5
lea rcx, [rsp + 0x40]
mov r8d, 0xb9808292
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
add rdi, 0x50
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp]
mov edx, 0x7cad1750
mov r8d, 0xc2a82725
call fcn.1400010d0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp + 0x100]
mov edx, 0x8276b3c0
mov r8d, 0xadbb42d5
call fcn.1400010d0
mov qword [rbp + 0xe8], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp + 0x100]
mov edx, 0x329b1ab8
mov r8d, 0x42e25fc5
call fcn.1400010d0
mov qword [rbp + 0x90], rax
test rax, rax
je 0x140002014
mov edx, 0x3d550342
mov dword [rsp + 0x20], 0x3a02c560
mov r9d, 0x7ebf4c95
lea rcx, [rsp + 0x40]
mov r8d, 0xd2957e03
call fcn.140001460
mov rdi, qword [rbp - 0x38]
lea rsi, [rbp + 0x7c]
add rdi, 0x60
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp]
mov edx, 0x197145cb
mov r8d, 0x9cc30b3d
call fcn.1400010d0
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp]
mov edx, 0xdf4ed3de
mov r8d, 0xdda33579
call fcn.1400010d0
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140002014
lea rdx, [rbp + 0x120]
mov ecx, 0x104
call qword [rbp - 0x68]
test eax, eax
je 0x140002014
lea rcx, [rbp + 0x120]
call qword [rbp + 0x40]
test eax, eax
je 0x140002014
lea rdx, [rbp + 0x330]
lea rcx, [rsp + 0x40]
call fcn.140001500
mov rax, qword [rbp + 0xe0]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x140002014
mov edx, 0xaa5b9b42
mov dword [rsp + 0x20], 0xfed2d86f
mov r9d, 0x71083668
lea rcx, [rsp + 0x40]
mov r8d, 0x5802af61
call fcn.140001460
mov rcx, qword [rbp - 8]
lea rdx, [rbp + 0x7c]
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 - 0x28]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x140002014
mov rdx, qword [rbp - 0x38]
lea r9, [rbp + 0x68]
mov rcx, qword [rbp + 0xe0]
lea r8d, [rbx + 0x71]
mov qword [rsp + 0x20], rbx
call qword [rbp - 0x30]
test eax, eax
je 0x140002014
mov rcx, qword [rbp + 0x100]
mov edx, 0x6621e445
mov r8d, 0xd5f50e20
call fcn.1400010d0
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140002014
mov edx, 0x8f0875d8
mov dword [rsp + 0x20], 0x13f00fe9
mov r9d, 0xf0589f7d
lea rcx, [rsp + 0x40]
mov r8d, 0xdcb4d83d
call fcn.140001460
mov rcx, qword [rbp - 0x80]
lea r8, [rbp + 0x80]
mov qword [rsp + 0x38], rbx
lea rdx, [rbp + 0x7c]
mov dword [rsp + 0x30], 0x80800000
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140002014
mov rcx, qword [rbp + 0xe0]
call qword [rbp + 0x28]
xor r9d, r9d
mov dword [rsp + 0x28], 1
lea r8, [rbp + 0x330]
mov qword [rsp + 0x20], rbx
xor edx, edx
xor ecx, ecx
call qword [rsp + 0x78]
cmp rax, 0x20
jb 0x140002014
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [rbp + 0x90]
test eax, eax
je 0x140002014
mov rcx, qword [rsp + 0x48]
lea rax, [rbp + 0xd8]
lea r9, [rbp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x50]
mov edx, 0x20000005
call qword [rbp + 0xb8]
test eax, eax
je 0x140002014
mov edx, dword [rbp + 0x50]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x58]
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140002014
mov r8d, dword [rbp + 0x50]
lea r9, [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call qword [rbp + 0x10]
test eax, eax
je 0x140002014
mov eax, dword [rbp + 0x50]
cmp dword [rsp + 0x58], eax
jne 0x140002014
mov rax, qword [rbp - 0x40]
mov ecx, 0x5a4d
mov qword [rbp + 0x20], rax
cmp word [rax], cx
jne 0x140002014
mov rcx, qword [rbp - 8]
call qword [rbp + 0xe8]
mov rcx, qword [rsp + 0x48]
call qword [rbp + 0xe8]
mov rax, qword [rbp + 0x20]
movsxd rdx, dword [rax + 0x3c]
add rdx, qword [rbp - 0x40]
mov qword [rsp + 0x40], rdx
cmp dword [rdx], 0x4550
jne 0x140002014
mov eax, 0x8664
cmp word [rdx + 4], ax
jne 0x140002014
mov eax, 0x20b
cmp word [rdx + 0x18], ax
jne 0x140002014
mov edx, dword [rdx + 0x50]
lea r9d, [rbx + 0x40]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x58]
mov qword [rbp + 0x48], rax
test rax, rax
je 0x140002014
mov rcx, qword [rsp + 0x40]
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.140001270
mov rcx, qword [rbp - 0x80]
call qword [rbp + 0xe8]
lea rcx, [rsp + 0x40]
call fcn.140001350
mov rax, qword [rsp + 0x40]
mov rdi, qword [rbp + 0x48]
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 + 0x650]
mov rdi, qword [rsp + 0x658]
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x140002031
xor ecx, ecx
call rax
mov rbx, qword [rsp + 0x660]
xor eax, eax
add rsp, 0x640
pop rbp
ret