Function at 0x140001660
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x390]
sub rsp, 0x490
xor ebx, ebx
mov dword [rbp + 0xa8], 4
mov dword [rbp + 0x138], ebx
mov rax, qword gs:[0x30]
mov qword [rbp + 0x10], rax
test rax, rax
je 0x140002265
mov dword [rbp + 0xc0], ebx
mov rcx, qword [rax + 0x60]
mov qword [rbp + 0xd8], rcx
test rcx, rcx
je 0x140002265
mov dword [rbp + 8], 4
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0x118], rax
test rax, rax
je 0x140002265
lea rdx, [rax + 0x20]
mov qword [rbp - 0x40], rdx
test rdx, rdx
je 0x140002265
mov rdx, qword [rdx]
lea r8d, [rbx + 0x11]
mov ecx, 0x29df128d
mov rdx, qword [rdx + 0x50]
call section..text
mov edx, 0xe5cb449d
mov dword [rbp - 0x78], eax
mov r8d, 0x4ec70962
lea rcx, [rsp + 0x40]
call fcn.140001040
mov qword [rbp + 0x170], rax
test rax, rax
je 0x140002265
mov edx, 0x35997caa
mov r8d, 0x5a8739c7
mov rcx, rax
call fcn.1400010d0
mov qword [rbp + 0x68], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x3ed3eb6f
mov r8d, 0x680799f3
call fcn.1400010d0
mov qword [rbp + 0x60], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x62a77c68
mov r8d, 0x30c9f750
call fcn.1400010d0
mov qword [rbp + 0x88], rax
test rax, rax
je 0x140002275
mov rcx, qword [rbp + 0x170]
mov edx, 0x1ae49282
mov r8d, 0x42d8d549
call fcn.1400010d0
mov qword [rbp - 8], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0xf28250a8
mov r8d, 0xf68a6090
call fcn.1400010d0
mov qword [rbp + 0x18], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x80199f43
mov r8d, 0xac3af520
call fcn.1400010d0
mov qword [rbp], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x8150988f
mov r8d, 0xb9f901ee
call fcn.1400010d0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x828d7117
mov r8d, 0xb8436267
call fcn.1400010d0
mov qword [rbp - 0x60], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x4f0e9cfe
mov r8d, 0x66b946f4
call fcn.1400010d0
mov qword [rbp + 0x168], rax
test rax, rax
je 0x140002265
mov rax, qword [rbp - 0x40]
lea r8d, [rbx + 0x11]
mov ecx, 0xfcf98c68
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov rcx, qword [rbp + 0x170]
or eax, 1
mov edx, 0xf59f0495
mov dword [rbp + 0x38], eax
mov r8d, 0x2db94ec1
call fcn.1400010d0
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0xf2606d1d
mov r8d, 0x8aa9d29a
call fcn.1400010d0
mov qword [rbp + 0x90], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x208d787f
mov r8d, 0x92c07195
call fcn.1400010d0
mov qword [rbp + 0x30], rax
test rax, rax
je 0x140002265
mov rax, qword [rbp - 0x40]
lea r8d, [rbx + 0x11]
mov ecx, 0xc1e86730
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov rcx, qword [rbp + 0x170]
mov edx, 0x6f9666c5
mov r8d, 0x8809dd16
mov dword [rbp + 0x140], eax
call fcn.1400010d0
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x99474706
mov r8d, 0x745fdb66
call fcn.1400010d0
mov qword [rbp + 0x78], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x170]
mov edx, 0x46590631
mov r8d, 0xe9347788
call fcn.1400010d0
mov qword [rbp + 0x40], rax
test rax, rax
je 0x140002265
mov edx, 0x6c4b30a5
mov dword [rsp + 0x20], 0xe8ed0c64
mov r9d, 0x846ac7f6
lea rcx, [rsp + 0x40]
mov r8d, 0x2a201f7d
call fcn.140001490
lea rcx, [rsp + 0x40]
call fcn.140001630
test eax, eax
je 0x140002265
lea rcx, [rbp - 0x74]
call qword [rbp + 0x68]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140002265
mov edx, 0x569d0067
mov dword [rsp + 0x20], 0x1469f305
mov r9d, 0x2f978d76
lea rcx, [rsp + 0x40]
mov r8d, 0xf5871915
call fcn.140001490
lea rcx, [rbp - 0x74]
call qword [rbp + 0x68]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x140002265
mov edx, 0xc418f949
mov dword [rsp + 0x20], 0xdc1ec62
mov r9d, 0x473a0e8
lea rcx, [rsp + 0x40]
mov r8d, 0x4cd31e44
call fcn.140001490
lea rcx, [rbp - 0x74]
call qword [rbp + 0x68]
mov qword [rbp + 0x150], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp - 0x28]
mov edx, 0xa98f9193
mov r8d, 0xdbb88f08
call fcn.1400010d0
mov qword [rbp + 0xf0], rax
test rax, rax
je 0x140002265
mov edx, 0xe0a6bd5
mov dword [rsp + 0x20], 0xb8fd1cff
mov r9d, 0x2c20ba0
lea rcx, [rsp + 0x40]
mov r8d, 0xd6b72194
call fcn.140001490
lea rcx, [rbp - 0x74]
call qword [rbp + 0x68]
mov qword [rbp + 0x70], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x150]
mov edx, 0x3ecdd7
mov r8d, 0x6f53ba1
call fcn.1400010d0
mov qword [rbp + 0x48], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp - 0x80]
mov edx, 0x42c7e060
mov r8d, 0x1d0e7bc6
call fcn.1400010d0
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140002265
lea rdx, [rbp + 0x180]
mov ecx, 0x104
call qword [rbp + 0x90]
test eax, eax
je 0x140002265
lea rcx, [rbp + 0x180]
call qword [rbp - 0x60]
test eax, eax
je 0x140002265
mov rcx, qword [rbp + 0x70]
mov edx, 0xaa9f1668
mov r8d, 0xc7d175e3
call fcn.1400010d0
mov qword [rbp + 0x128], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x70]
mov edx, 0xc9209a21
mov r8d, 0x2a5f63cb
call fcn.1400010d0
mov qword [rbp + 0xa0], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x70]
mov edx, 0x9478a376
mov r8d, 0x89ebcea9
call fcn.1400010d0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x140002265
mov rcx, qword [rbp + 0x70]
mov edx, 0xf1868468
mov r8d, 0x97459eac
call fcn.1400010d0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140002265
xor ecx, ecx
call qword [rsp + 0x78]
mov dword [rbp + 0x98], eax
test eax, eax
js 0x140002265
mov rcx, qword [rbp + 0x70]
mov edx, 0x6dc953c9
mov r8d, 0xf9a2f90e
call fcn.1400010d0
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140002265
lea edx, [rbx + 0x13]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x60]
mov qword [rbp + 0x130], rax
test rax, rax
je 0x140002265
lea edx, [rbx + 0x20]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x60]
mov qword [rbp + 0x148], rax
test rax, rax
je 0x140002265
mov qword [rsp + 0x4a0], rsi
lea rcx, [rsp + 0x40]
mov edx, 0xd3329750
mov qword [rsp + 0x4a8], rdi
mov r9d, 0xe13a3377
mov dword [rsp + 0x20], 0xaf817895
mov r8d, 0xe79a04d5
call fcn.140001490
mov rdi, qword [rbp + 0x130]
lea rsi, [rbp - 0x74]
mov ecx, 0x10
mov dword [rsp + 0x20], 0x6e80d517
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov edx, 0xa5342427
mov r9d, 0x626b73d2
mov r8d, 0x23ec4f58
call fcn.140001490
mov rdi, qword [rbp + 0x148]
lea rsi, [rbp - 0x74]
mov ecx, 0x10
mov dword [rsp + 0x20], 0xccf52246
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov edx, 0x30dbf6b2
mov r9d, 0x80b7566a
mov r8d, 0x942298ff
call fcn.140001490
mov rdi, qword [rbp + 0x148]
lea rsi, [rbp - 0x74]
add rdi, 0x10
mov dword [rsp + 0x20], 0x1da217dd
mov ecx, 0x10
mov edx, 0x7bd05e6c
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x38e0a0be
mov r8d, 0x60a88887
call fcn.140001490
mov rdi, qword [rbp + 0x130]
lea rsi, [rbp - 0x74]
add rdi, 0x10
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x70]
mov edx, 0xd89f2cc7
mov r8d, 0xeda2d0d6
call fcn.1400010d0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140002255
mov rcx, qword [rbp + 0x70]
mov edx, 0x846dd8af
mov r8d, 0x67eafa99
call fcn.1400010d0
mov qword [rbp + 0x120], rax
test rax, rax
je 0x140002255
lea edx, [rbx + 0x27]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x60]
mov qword [rbp - 0x10], rax
test rax, rax
je 0x140002255
mov edx, 0x422857af
mov dword [rsp + 0x20], 0x47f96de1
mov r9d, 0xc1ea4b1
lea rcx, [rsp + 0x40]
mov r8d, 0xe549185d
call fcn.140001490
mov rdi, qword [rbp - 0x10]
lea rsi, [rbp - 0x74]
add rdi, 0x10
mov dword [rsp + 0x20], 0x2d5561e4
mov ecx, 0x10
mov edx, 0x60a00564
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x3c70b064
mov r8d, 0xc12b48f4
call fcn.140001490
mov rdi, qword [rbp - 0x10]
lea rsi, [rbp - 0x74]
add rdi, 0x20
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.140001510
mov rax, qword [rbp - 0x38]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x140002255
mov edx, 0xba099fac
mov dword [rsp + 0x20], 0x156a30d0
mov r9d, 0x38dcdf20
lea rcx, [rsp + 0x40]
mov r8d, 0x50623e95
call fcn.140001490
mov rdi, qword [rbp - 0x10]
lea rsi, [rbp - 0x74]
mov ecx, 0x10
mov dword [rsp + 0x20], ebx
rep movsb byte [rdi], byte [rsi]
xor ecx, ecx
lea edx, [rbx + 1]
xor r9d, r9d
xor r8d, r8d
call qword [rsp + 0x40]
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x140002255
mov edx, 0x3f2bfc58
mov dword [rsp + 0x20], 0x60dd643c
mov r9d, 0x72c9cb6f
lea rcx, [rsp + 0x40]
mov r8d, 0xb1e6cd84
call fcn.140001490
mov rcx, qword [rbp + 0xc8]
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 + 0x50]
mov qword [rbp + 0x158], rax
test rax, rax
je 0x140002255
mov edx, 0xa871e7f5
mov dword [rsp + 0x20], 0x246f16a4
mov r9d, 0x7e0e32cd
lea rcx, [rsp + 0x40]
mov r8d, 0x882f00dd
call fcn.140001490
mov rcx, qword [rbp + 0x158]
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 + 0xa0]
mov qword [rbp - 0x18], rax
test rax, rax
je 0x140002255
xor r9d, r9d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
xor edx, edx
mov rcx, rax
call qword [rbp + 0x58]
test eax, eax
je 0x140002255
mov rcx, qword [rbp - 0x18]
lea rax, [rbp + 0x138]
lea r9, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x160]
mov edx, 0x20000005
call qword [rbp + 0x120]
test eax, eax
je 0x140002255
mov edx, dword [rbp + 0x160]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x60]
mov qword [rbp + 0x80], rax
test rax, rax
je 0x140002255
mov r8d, dword [rbp + 0x160]
lea r9, [rbp + 0xd0]
mov rcx, qword [rbp - 0x18]
mov rdx, rax
call qword [rsp + 0x68]
test eax, eax
je 0x140002255
mov eax, dword [rbp + 0x160]
cmp dword [rbp + 0xd0], eax
jne 0x140002255
mov rcx, qword [rbp - 0x18]
call qword [rbp + 0x128]
mov rcx, qword [rbp + 0x158]
call qword [rbp + 0x128]
mov edx, 0x94f3e232
mov dword [rsp + 0x20], 0xfcb93a7f
mov r9d, 0xa594ae39
lea rcx, [rsp + 0x40]
mov r8d, 0x1716517b
call fcn.140001490
mov rcx, qword [rbp + 0xc8]
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 + 0x50]
mov qword [rbp + 0xf8], rax
test rax, rax
je 0x140002255
mov r8d, dword [rbp + 0x160]
lea r9, [rsp + 0x70]
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp - 0x38]
mov qword [rsp + 0x20], rbx
call qword [rbp + 0x30]
test eax, eax
je 0x140002255
mov rcx, qword [rbp - 0x38]
call qword [rbp]
mov edx, 0x4b600f5b
mov dword [rsp + 0x20], 0x963caa6a
mov r9d, 0x37aeae07
lea rcx, [rsp + 0x40]
mov r8d, 0x82c6c3ab
call fcn.140001490
mov rcx, qword [rbp + 0xf8]
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 + 0xa0]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140002255
mov rdx, qword [rbp + 0x148]
lea r8d, [rbx + 1]
xor ecx, ecx
call qword [rbp + 0xf0]
mov dword [rbp - 0x50], eax
test eax, eax
js 0x140002255
mov r8, qword [rbp + 0x130]
mov r9d, 0x1040
mov rdx, qword [rbp - 0x10]
xor ecx, ecx
call qword [rbp + 0x48]
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [rbp + 0x58]
test eax, eax
je 0x140002255
mov rcx, qword [rsp + 0x58]
lea rax, [rbp + 0xc0]
lea r9, [rbp + 8]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0xb8]
mov edx, 0x20000005
call qword [rbp + 0x120]
test eax, eax
je 0x140002255
mov edx, dword [rbp + 0xb8]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x60]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140002255
mov r8d, dword [rbp + 0xb8]
lea r9, [rbp + 0xe8]
mov rcx, qword [rsp + 0x58]
mov rdx, rax
call qword [rsp + 0x68]
test eax, eax
je 0x140002255
mov eax, dword [rbp + 0xb8]
cmp dword [rbp + 0xe8], eax
jne 0x140002255
mov rcx, qword [rbp + 0xf8]
call qword [rbp + 0x128]
mov rcx, qword [rbp + 0xc8]
call qword [rbp + 0x128]
mov rcx, qword [rsp + 0x58]
call qword [rbp + 0x128]
mov rcx, qword [rsp + 0x48]
mov eax, 0x5a4d
mov qword [rbp - 0x48], rcx
cmp word [rcx], ax
jne 0x140002255
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
mov qword [rbp + 0x110], rcx
cmp dword [rcx], 0x4550
jne 0x140002255
mov eax, 0x8664
cmp word [rcx + 4], ax
jne 0x140002255
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140002255
mov edx, dword [rcx + 0x50]
lea r9d, [rbx + 0x40]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x60]
mov qword [rbp + 0x20], rax
test rax, rax
je 0x140002255
mov rcx, qword [rbp + 0x110]
movzx eax, word [rcx + 0x14]
add rcx, 0x18
add rcx, rax
mov qword [rbp + 0x108], rcx
lea rcx, [rsp + 0x40]
call fcn.140001200
lea rcx, [rsp + 0x40]
call fcn.140001370
mov rax, qword [rbp + 0x110]
mov rdi, qword [rbp + 0x20]
mov rsi, qword [rsp + 0x48]
mov ecx, dword [rax + 0x54]
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.140001280
lea rcx, [rsp + 0x40]
call fcn.140001420
mov rsi, qword [rsp + 0x4a0]
mov rdi, qword [rsp + 0x4a8]
mov rax, qword [rbp + 0x88]
test rax, rax
je 0x140002275
xor ecx, ecx
call rax
mov rbx, qword [rsp + 0x4b0]
xor eax, eax
add rsp, 0x490
pop rbp
ret