Function at 0x140001670
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x3d0]
sub rsp, 0x4d0
xor ebx, ebx
mov dword [rbp + 0x168], 4
mov dword [rbp + 0xc0], ebx
mov dword [rbp + 0xc8], 4
mov rax, qword gs:[0x30]
mov qword [rbp + 0xa8], rax
test rax, rax
je 0x14000223b
mov dword [rbp + 0x110], ebx
mov rcx, qword [rax + 0x60]
mov qword [rbp + 0x80], rcx
test rcx, rcx
je 0x14000223b
mov rax, qword [rcx + 0x18]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14000223b
lea rdx, [rax + 0x20]
mov qword [rbp + 0x30], rdx
test rdx, rdx
je 0x14000223b
mov rdx, qword [rdx]
lea r8d, [rbx + 0x11]
mov ecx, 0x6e873857
mov rdx, qword [rdx + 0x50]
call section..text
or eax, 1
lea r8d, [rbx + 0x11]
mov dword [rbp + 0x118], eax
mov ecx, 0x460b6878
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov dword [rbp - 0x50], eax
lea r8d, [rbx + 0x11]
mov rax, qword [rbp + 0x30]
mov ecx, 0xb9e5acd8
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov edx, 0x58c6dde9
mov dword [rsp + 0x58], eax
mov r8d, 0x95bf12ca
lea rcx, [rsp + 0x40]
call fcn.140001040
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14000223b
mov edx, 0xbc613220
mov r8d, 0x93c4504e
mov rcx, rax
call fcn.1400010d0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x1f37313f
mov r8d, 0xe3f1a951
call fcn.1400010d0
mov qword [rbp + 0x178], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x7cf9b9e9
mov r8d, 0xae2538d6
call fcn.1400010d0
mov qword [rbp - 0x38], rax
test rax, rax
je 0x140002248
mov rcx, qword [rbp + 0x50]
mov edx, 0x18024026
mov r8d, 0x86ea8610
call fcn.1400010d0
mov qword [rbp + 0x48], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x478007aa
mov r8d, 0x2249ca8
call fcn.1400010d0
mov qword [rbp + 0x150], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x35849083
mov r8d, 0x860054c
call fcn.1400010d0
mov qword [rbp + 0xd8], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0xe5626885
mov r8d, 0xdd0ce1a5
call fcn.1400010d0
mov qword [rbp - 0x20], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x66177e6b
mov r8d, 0x1198aef5
call fcn.1400010d0
mov qword [rbp + 0x148], rax
test rax, rax
je 0x14000223b
mov edx, 0xbfc8a8ff
mov dword [rsp + 0x20], 0x8fcf2f3f
mov r9d, 0x87ed47
lea rcx, [rsp + 0x40]
mov r8d, 0xb8dc9e7c
call fcn.140001490
lea rcx, [rsp + 0x40]
call fcn.140001640
test eax, eax
je 0x14000223b
lea rcx, [rbp - 0x74]
call qword [rsp + 0x78]
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0xc93f029
mov r8d, 0x35d6271
call fcn.1400010d0
mov qword [rbp + 0x140], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x87fa48d8
mov r8d, 0xb119b29d
call fcn.1400010d0
mov qword [rbp + 0x10], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x180f4eab
mov r8d, 0x142fa388
call fcn.1400010d0
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp - 0x30]
mov edx, 0xf49ed836
mov r8d, 0xbf1d8da7
call fcn.1400010d0
mov qword [rbp + 0x38], rax
test rax, rax
je 0x14000223b
mov edx, 0xfe140777
mov dword [rsp + 0x20], 0xca5b2781
mov r9d, 0x70b02249
lea rcx, [rsp + 0x40]
mov r8d, 0x7c81be9a
call fcn.140001490
lea rcx, [rbp - 0x74]
call qword [rsp + 0x78]
mov qword [rbp + 0x128], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp - 0x30]
mov edx, 0x437807fd
mov r8d, 0x88ce9c82
call fcn.1400010d0
mov qword [rbp + 0x60], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x16979473
mov r8d, 0xc941fd20
call fcn.1400010d0
mov qword [rbp + 0x170], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0x99786c33
mov r8d, 0x957eb690
call fcn.1400010d0
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x50]
mov edx, 0xcc4e3ab9
mov r8d, 0x33e91bf0
call fcn.1400010d0
mov qword [rbp + 0x1b0], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp - 0x30]
mov edx, 0x64d1aceb
mov r8d, 0xf0f71479
call fcn.1400010d0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp - 0x30]
mov edx, 0xe04f8482
mov r8d, 0xb36658e7
call fcn.1400010d0
mov qword [rbp - 0x40], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp - 0x30]
mov edx, 0xe99c82c7
mov r8d, 0xae9981eb
call fcn.1400010d0
mov qword [rbp - 8], rax
test rax, rax
je 0x14000223b
mov edx, 0x33d30
mov dword [rsp + 0x20], 0x1936699c
mov r9d, 0x505b1138
lea rcx, [rsp + 0x40]
mov r8d, 0x3881f01a
call fcn.140001490
lea rcx, [rbp - 0x74]
call qword [rsp + 0x78]
mov qword [rbp + 0x18], rax
test rax, rax
je 0x14000223b
lea edx, [rbx + 0x20]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x178]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x18]
mov edx, 0x46de8111
mov r8d, 0x60a2acda
call fcn.1400010d0
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp - 0x30]
mov edx, 0xcea1c28
mov r8d, 0x2c55d37
call fcn.1400010d0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14000223b
mov rcx, qword [rbp + 0x128]
mov edx, 0x69cfef88
mov r8d, 0x95f88553
call fcn.1400010d0
mov qword [rbp + 0x28], rax
test rax, rax
je 0x14000223b
mov qword [rsp + 0x4e0], rsi
lea rcx, [rsp + 0x40]
mov edx, 0x46bddf25
mov qword [rsp + 0x4e8], rdi
mov r9d, 0x5547c253
mov dword [rsp + 0x20], 0xe814f5a1
mov r8d, 0x6d41081b
call fcn.140001490
mov rdi, qword [rbp - 0x10]
lea rsi, [rbp - 0x74]
mov ecx, 0x10
mov edx, 0x552e55cd
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x50]
mov r8d, 0x65a59ecb
call fcn.1400010d0
mov qword [rbp + 0x90], rax
test rax, rax
je 0x14000222b
lea rdx, [rbp + 0x1c0]
mov ecx, 0x104
call qword [rbp + 0x148]
test eax, eax
je 0x14000222b
lea rcx, [rbp + 0x1c0]
call qword [rbp - 0x20]
test eax, eax
je 0x14000222b
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 1]
xor ecx, ecx
call qword [rbp - 0x40]
mov qword [rbp + 0xf0], rax
test rax, rax
je 0x14000222b
xor ecx, ecx
call qword [rsp + 0x48]
mov dword [rbp + 0x100], eax
test eax, eax
js 0x14000222b
mov rcx, qword [rbp - 0x30]
mov edx, 0x4efdd310
mov r8d, 0xe749657b
call fcn.1400010d0
mov qword [rbp - 0x58], rax
test rax, rax
je 0x14000222b
lea edx, [rbx + 0x27]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x178]
mov qword [rbp + 0xa0], rax
test rax, rax
je 0x14000222b
mov edx, 0x2c52a0c5
mov dword [rsp + 0x20], 0x21e77dc5
mov r9d, 0x7b2dc394
lea rcx, [rsp + 0x40]
mov r8d, 0x4dce510d
call fcn.140001490
mov rcx, qword [rbp + 0xf0]
lea rdx, [rbp - 0x74]
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 + 0x40]
mov qword [rbp + 0xd0], rax
test rax, rax
je 0x14000222b
mov edx, 0x45e8decb
mov dword [rsp + 0x20], 0x65c3f091
mov r9d, 0xdad0a3c3
lea rcx, [rsp + 0x40]
mov r8d, 0x3288f42a
call fcn.140001490
lea rcx, [rbp - 0x74]
call qword [rsp + 0x78]
mov qword [rbp + 8], rax
test rax, rax
je 0x14000222b
lea edx, [rbx + 0x13]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x178]
mov qword [rbp + 0x78], rax
test rax, rax
je 0x14000222b
mov edx, 0x245af6ad
mov dword [rsp + 0x20], 0x92f74c05
mov r9d, 0xbb2c83f4
lea rcx, [rsp + 0x40]
mov r8d, 0x9aee012a
call fcn.140001490
mov rdi, qword [rbp + 0xa0]
lea rsi, [rbp - 0x74]
mov ecx, 0x10
mov dword [rsp + 0x20], 0xaf319580
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov edx, 0x1ebe91ce
mov r9d, 0xf5478af5
mov r8d, 0x1e9cd188
call fcn.140001490
mov rdi, qword [rbp + 0xa0]
lea rsi, [rbp - 0x74]
add rdi, 0x20
mov dword [rsp + 0x20], 0x769c7558
mov ecx, 0x10
mov edx, 0x4e121e36
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x25d28a39
mov r8d, 0xae6d626e
call fcn.140001490
mov rdi, qword [rbp + 0xa0]
lea rsi, [rbp - 0x74]
add rdi, 0x10
mov dword [rsp + 0x20], 0x7f2dc303
mov ecx, 0x10
mov edx, 0x21a6d634
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x3704513b
mov r8d, 0x21996acc
call fcn.140001490
mov rcx, qword [rbp + 0xd0]
lea r8, [rbp - 0x70]
mov qword [rsp + 0x38], rbx
lea rdx, [rbp - 0x74]
mov dword [rsp + 0x30], 0x80800000
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [rbp - 8]
mov qword [rbp + 0x160], rax
test rax, rax
je 0x14000222b
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [rbp + 0x60]
test eax, eax
je 0x14000222b
mov rcx, qword [rbp + 0x160]
lea rax, [rbp + 0xc0]
lea r9, [rbp + 0xc8]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x80]
mov edx, 0x20000005
call qword [rbp + 0x38]
test eax, eax
je 0x14000222b
mov edx, 0x3ae9fee5
mov dword [rsp + 0x20], 0xd7aef6ca
mov r9d, 0x92d4bacf
lea rcx, [rsp + 0x40]
mov r8d, 0xa4de7c
call fcn.140001490
mov rdi, qword [rbp + 0x78]
lea rsi, [rbp - 0x74]
add rdi, 0x10
lea r9d, [rbx + 4]
mov ecx, 0x10
mov r8d, 0x3000
rep movsb byte [rdi], byte [rsi]
mov edx, dword [rbp - 0x80]
xor ecx, ecx
call qword [rbp + 0x178]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x14000222b
mov r8d, dword [rbp - 0x80]
lea r9, [rbp + 0x190]
mov rcx, qword [rbp + 0x160]
mov rdx, rax
call qword [rsp + 0x60]
test eax, eax
je 0x14000222b
mov eax, dword [rbp - 0x80]
cmp dword [rbp + 0x190], eax
jne 0x14000222b
mov rcx, qword [rbp + 0x160]
call qword [rbp - 0x58]
mov rcx, qword [rbp + 0xd0]
call qword [rbp - 0x58]
mov edx, 0xa305e0c6
mov dword [rsp + 0x20], 0xf8b98e31
mov r9d, 0xf44b1352
lea rcx, [rsp + 0x40]
mov r8d, 0x727b0387
call fcn.140001490
mov rdi, qword [rbp + 0x78]
lea rsi, [rbp - 0x74]
mov ecx, 0x10
mov edx, 0x9d6c18f1
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 8]
mov r8d, 0x5f857de0
call fcn.1400010d0
mov qword [rbp + 0x70], rax
test rax, rax
je 0x14000222b
mov edx, 0xa8f281a3
mov dword [rsp + 0x20], 0xaa470d6f
mov r9d, 0xcb0aa714
lea rcx, [rsp + 0x40]
mov r8d, 0xe0bab35e
call fcn.140001490
mov rcx, qword [rbp + 0xf0]
lea rdx, [rbp - 0x74]
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 + 0x40]
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14000222b
mov edx, 0xe26a8acf
mov dword [rsp + 0x20], 0x4efeb298
mov r9d, 0x38cb0682
lea rcx, [rsp + 0x40]
mov r8d, 0x98a6cc36
call fcn.140001490
mov rdi, qword [rbp - 0x10]
lea rsi, [rbp - 0x74]
add rdi, 0x10
mov dword [rsp + 0x20], 0x2f8064ab
mov ecx, 0x10
mov edx, 0x612de2a9
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x654c14e6
mov r8d, 0xafa24e8e
call fcn.140001490
mov rcx, qword [rbp - 0x48]
lea r8, [rbp - 0x70]
mov qword [rsp + 0x38], rbx
lea rdx, [rbp - 0x74]
mov dword [rsp + 0x30], 0x80800000
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [rbp - 8]
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14000222b
lea rcx, [rsp + 0x40]
call fcn.140001510
mov rcx, qword [rbp + 0x98]
lea rax, [rcx - 1]
cmp rax, 0xfffffffffffffffd
ja 0x14000222b
mov r8d, dword [rbp - 0x80]
lea r9, [rbp + 0x188]
mov rdx, qword [rsp + 0x68]
mov qword [rsp + 0x20], rbx
call qword [rbp + 0x150]
test eax, eax
je 0x14000222b
mov rcx, qword [rbp + 0x98]
call qword [rbp + 0xb0]
mov rdx, qword [rbp - 0x10]
lea r8d, [rbx + 1]
xor ecx, ecx
call qword [rbp + 0x28]
mov dword [rbp + 0x158], eax
test eax, eax
js 0x14000222b
mov r8, qword [rbp + 0x78]
mov r9d, 0x1040
mov rdx, qword [rbp + 0xa0]
xor ecx, ecx
call qword [rbp + 0x70]
mov rcx, qword [rsp + 0x70]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [rbp + 0x60]
test eax, eax
je 0x14000222b
mov rcx, qword [rsp + 0x70]
lea rax, [rbp + 0x110]
lea r9, [rbp + 0x168]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x120]
mov edx, 0x20000005
call qword [rbp + 0x38]
test eax, eax
je 0x14000222b
mov edx, dword [rbp + 0x120]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x178]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14000222b
mov r8d, dword [rbp + 0x120]
lea r9, [rbp - 0x78]
mov rcx, qword [rsp + 0x70]
mov rdx, rax
call qword [rsp + 0x60]
test eax, eax
je 0x14000222b
mov eax, dword [rbp + 0x120]
cmp dword [rbp - 0x78], eax
jne 0x14000222b
mov rcx, qword [rsp + 0x70]
call qword [rbp - 0x58]
mov rax, qword [rsp + 0x50]
mov ecx, 0x5a4d
mov qword [rbp - 0x60], rax
cmp word [rax], cx
jne 0x14000222b
mov rcx, qword [rbp + 0xf0]
call qword [rbp - 0x58]
mov rcx, qword [rbp - 0x48]
call qword [rbp - 0x58]
mov rax, qword [rbp - 0x60]
movsxd rdx, dword [rax + 0x3c]
add rdx, qword [rsp + 0x50]
mov qword [rbp + 0x130], rdx
cmp dword [rdx], 0x4550
jne 0x14000222b
mov eax, 0x8664
cmp word [rdx + 4], ax
jne 0x14000222b
mov eax, 0x20b
cmp word [rdx + 0x18], ax
jne 0x14000222b
mov edx, dword [rdx + 0x50]
lea r9d, [rbx + 0x40]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x178]
mov qword [rbp + 0x1a0], rax
test rax, rax
je 0x14000222b
mov rdi, qword [rbp + 0x130]
mov rsi, qword [rsp + 0x50]
movzx ecx, word [rdi + 0x14]
lea rdx, [rdi + 0x18]
add rdx, rcx
mov qword [rbp], rdx
mov ecx, dword [rdi + 0x54]
mov rdi, rax
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.140001200
lea rcx, [rsp + 0x40]
call fcn.140001370
lea rcx, [rsp + 0x40]
call fcn.140001280
lea rcx, [rsp + 0x40]
call fcn.140001420
mov rsi, qword [rsp + 0x4e0]
mov rdi, qword [rsp + 0x4e8]
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140002248
xor ecx, ecx
call rax
mov rbx, qword [rsp + 0x4f0]
xor eax, eax
add rsp, 0x4d0
pop rbp
ret