Function at 0x140001610
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
lea rbp, [rsp - 0x3c0]
sub rsp, 0x4c0
xor ebx, ebx
mov dword [rbp + 0x68], 4
mov dword [rbp + 0x118], ebx
mov dword [rbp + 0x128], ebx
mov dword [rbp + 0x170], 4
mov rax, qword gs:[0x30]
mov qword [rbp + 0x158], rax
test rax, rax
je 0x140002230
mov rcx, qword [rax + 0x60]
mov qword [rbp - 0x60], rcx
test rcx, rcx
je 0x140002230
mov rax, qword [rcx + 0x18]
mov qword [rbp + 0x60], rax
test rax, rax
je 0x140002230
lea rdx, [rax + 0x20]
mov qword [rbp - 0x70], rdx
test rdx, rdx
je 0x140002230
mov rdx, qword [rdx]
lea r8d, [rbx + 0x11]
mov ecx, 0x1c3a799b
mov rdx, qword [rdx + 0x50]
call section..text
mov dword [rsp + 0x48], eax
lea r8d, [rbx + 0x11]
mov rax, qword [rbp - 0x70]
mov ecx, 0x3806d1c6
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov edx, 0x5a2cd73
mov dword [rbp + 0x10], eax
mov r8d, 0x3a4f2701
lea rcx, [rsp + 0x40]
call fcn.140001040
mov qword [rbp + 0xe0], rax
test rax, rax
je 0x140002230
mov edx, 0x5f9c7a4d
mov r8d, 0x5d2d5ee9
mov rcx, rax
call fcn.1400010d0
mov qword [rbp + 0x1a8], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0xa7e95387
mov r8d, 0x758e41dc
call fcn.1400010d0
mov qword [rbp + 0x40], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0xf958a80d
mov r8d, 0x79050b56
call fcn.1400010d0
mov qword [rbp + 0x58], rax
test rax, rax
je 0x14000223d
mov rcx, qword [rbp + 0xe0]
mov edx, 0x32c418a
mov r8d, 0xfa6e706e
call fcn.1400010d0
mov qword [rbp + 0xc0], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0xc30a3067
mov r8d, 0xf085be29
call fcn.1400010d0
mov qword [rbp + 0x168], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0x457d3d7c
mov r8d, 0x4dd48e9c
call fcn.1400010d0
mov qword [rbp + 0x80], rax
test rax, rax
je 0x140002230
mov rax, qword [rbp - 0x70]
lea r8d, [rbx + 0x11]
mov ecx, 0xc3ce947
mov rdx, qword [rax]
mov rdx, qword [rdx + 0x50]
call section..text
mov rcx, qword [rbp + 0xe0]
or eax, 1
mov edx, 0x1d89543f
mov dword [rbp - 0x38], eax
mov r8d, 0x5f007292
call fcn.1400010d0
mov qword [rbp - 0x68], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0x4d02a55d
mov r8d, 0x951eee03
call fcn.1400010d0
mov qword [rbp + 0x1a0], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0xe3a7bd60
mov r8d, 0xfa8c3aa
call fcn.1400010d0
mov qword [rsp + 0x50], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0xcf65d6b6
mov r8d, 0x7c183b1f
call fcn.1400010d0
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0xacb6ae1f
mov r8d, 0xa27f2053
call fcn.1400010d0
mov qword [rbp + 0x98], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0x156e4a1b
mov r8d, 0xff32758b
call fcn.1400010d0
mov qword [rbp + 0x28], rax
test rax, rax
je 0x140002230
mov edx, 0x6ee8dfe9
mov dword [rsp + 0x20], 0xd0d8d0a3
mov r9d, 0x5f908bd4
lea rcx, [rsp + 0x40]
mov r8d, 0xfc5e2cab
call fcn.140001450
lea rcx, [rsp + 0x40]
call fcn.1400015e0
test eax, eax
je 0x140002230
lea rcx, [rbp - 0x80]
call qword [rbp + 0x1a8]
mov qword [rbp - 0x40], rax
test rax, rax
je 0x140002230
mov edx, 0x44243a71
mov r8d, 0xd6801a82
mov rcx, rax
call fcn.1400010d0
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp - 0x40]
mov edx, 0x43124e69
mov r8d, 0x400683f5
call fcn.1400010d0
mov qword [rbp - 0x58], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp - 0x40]
mov edx, 0x50a808f8
mov r8d, 0x481eef0c
call fcn.1400010d0
mov qword [rbp + 0x20], rax
test rax, rax
je 0x140002230
mov edx, 0x9f0782dd
mov dword [rsp + 0x20], 0x21b53092
mov r9d, 0x5e5f824d
lea rcx, [rsp + 0x40]
mov r8d, 0x53ae9474
call fcn.140001450
lea rcx, [rbp - 0x80]
call qword [rbp + 0x1a8]
mov qword [rbp + 0xb0], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp - 0x40]
mov edx, 0xf914f792
mov r8d, 0x3e5358a4
call fcn.1400010d0
mov qword [rbp + 0xd0], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp - 0x40]
mov edx, 0x880425e
mov r8d, 0x880a0635
call fcn.1400010d0
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140002230
lea edx, [rbx + 0x27]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x40]
mov qword [rbp + 0x148], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp - 0x40]
mov edx, 0x8c4dcd97
mov r8d, 0x7c17d2af
call fcn.1400010d0
mov qword [rbp + 0x130], rax
test rax, rax
je 0x140002230
lea edx, [rbx + 0x13]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x40]
mov qword [rbp + 0x180], rax
test rax, rax
je 0x140002230
mov rcx, qword [rbp + 0xe0]
mov edx, 0xf611ee25
mov r8d, 0xf8b35a22
call fcn.1400010d0
mov qword [rbp + 0x178], rax
test rax, rax
je 0x140002230
mov edx, 0x17440fef
mov dword [rsp + 0x20], 0x2074a887
mov r9d, 0xb8033f66
lea rcx, [rsp + 0x40]
mov r8d, 0x59d2472d
call fcn.140001450
lea rcx, [rbp - 0x80]
call qword [rbp + 0x1a8]
mov qword [rbp + 0x90], rax
test rax, rax
je 0x140002230
mov qword [rsp + 0x4d0], rsi
lea rcx, [rsp + 0x40]
mov edx, 0xda3eace8
mov qword [rsp + 0x4d8], rdi
mov r9d, 0xa50cd38b
mov dword [rsp + 0x20], 0xd4dbc9fc
mov r8d, 0xc536428d
call fcn.140001450
mov rdi, qword [rbp + 0x148]
lea rsi, [rbp - 0x80]
add rdi, 0x20
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0xe0]
mov edx, 0xec1f5b60
mov r8d, 0xa5d2c536
call fcn.1400010d0
mov qword [rbp + 0xa0], rax
test rax, rax
je 0x140002220
mov rcx, qword [rbp + 0xb0]
mov edx, 0x7803c4f8
mov r8d, 0xd96413fc
call fcn.1400010d0
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140002220
mov rcx, qword [rbp + 0x90]
mov edx, 0xbe2c8706
mov r8d, 0x4fc5ce70
call fcn.1400010d0
mov qword [rbp + 0xf0], rax
test rax, rax
je 0x140002220
mov rcx, qword [rbp + 0xe0]
mov edx, 0xa6ca0a75
mov r8d, 0x404a9b1
call fcn.1400010d0
mov qword [rbp + 0xc8], rax
test rax, rax
je 0x140002220
mov rcx, qword [rbp - 0x40]
mov edx, 0x5e62d1d5
mov r8d, 0x79d4d684
call fcn.1400010d0
mov qword [rbp + 0x48], rax
test rax, rax
je 0x140002220
mov edx, 0x1dd87343
mov dword [rsp + 0x20], 0x83195133
mov r9d, 0x1017e061
lea rcx, [rsp + 0x40]
mov r8d, 0xc57bed41
call fcn.140001450
lea rcx, [rbp - 0x80]
call qword [rbp + 0x1a8]
mov qword [rbp + 0x70], rax
test rax, rax
je 0x140002220
mov edx, 0x8a6c5c6
mov dword [rsp + 0x20], 0xcfef8ed6
mov r9d, 0xf6899350
lea rcx, [rsp + 0x40]
mov r8d, 0x875f6cd5
call fcn.140001450
mov rdi, qword [rbp + 0x148]
lea rsi, [rbp - 0x80]
add rdi, 0x10
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
xor ecx, ecx
call qword [rsp + 0x58]
mov dword [rbp - 0x28], eax
test eax, eax
js 0x140002220
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 - 0x18], rax
test rax, rax
je 0x140002220
mov edx, 0xd4e63683
mov dword [rsp + 0x20], 0x3450d4f7
mov r9d, 0xdacc343
lea rcx, [rsp + 0x40]
mov r8d, 0x254e4b4a
call fcn.140001450
mov rdi, qword [rbp + 0x180]
lea rsi, [rbp - 0x80]
add rdi, 0x10
mov ecx, 0x10
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x70]
mov edx, 0x72064085
mov r8d, 0x9cc42664
call fcn.1400010d0
mov qword [rbp + 0xf8], rax
test rax, rax
je 0x140002220
lea rdx, [rbp + 0x1b0]
mov ecx, 0x104
call qword [rbp + 0xc8]
test eax, eax
je 0x140002220
lea rcx, [rbp + 0x1b0]
call qword [rbp + 0x168]
test eax, eax
je 0x140002220
mov edx, 0x1b7ab1f4
mov dword [rsp + 0x20], 0x8d349e40
mov r9d, 0x804dc8f3
lea rcx, [rsp + 0x40]
mov r8d, 0x8dadb665
call fcn.140001450
mov rcx, qword [rbp - 0x18]
lea rdx, [rbp - 0x80]
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 + 0x130]
mov qword [rbp - 8], rax
test rax, rax
je 0x140002220
mov edx, 0x2442304a
mov dword [rsp + 0x20], 0x65eff7aa
mov r9d, 0x8050d91f
lea rcx, [rsp + 0x40]
mov r8d, 0x46083ce4
call fcn.140001450
mov rcx, qword [rbp - 8]
lea r8, [rbp - 0x7c]
mov qword [rsp + 0x38], rbx
lea rdx, [rbp - 0x80]
mov dword [rsp + 0x30], 0x80800000
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [rbp - 0x48]
mov qword [rbp + 0x138], rax
test rax, rax
je 0x140002220
lea edx, [rbx + 0x20]
xor ecx, ecx
lea r9d, [rbx + 4]
mov r8d, 0x3000
call qword [rbp + 0x40]
mov qword [rbp + 0x160], rax
test rax, rax
je 0x140002220
mov edx, 0x1d92cf3a
mov dword [rsp + 0x20], 0x82260ae0
mov r9d, 0xb3ecb741
lea rcx, [rsp + 0x40]
mov r8d, 0xb8658e7c
call fcn.140001450
mov rdi, qword [rbp + 0x180]
lea rsi, [rbp - 0x80]
mov ecx, 0x10
mov dword [rsp + 0x20], 0xbf1ffee
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov edx, 0xce9d04da
mov r9d, 0x67d7ef75
mov r8d, 0x4c5976f8
call fcn.140001450
mov rdi, qword [rbp + 0x160]
lea rsi, [rbp - 0x80]
add rdi, 0x10
mov dword [rsp + 0x20], 0x4bddad05
mov ecx, 0x10
mov edx, 0xc1ed5455
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov r9d, 0x7c702f2e
mov r8d, 0x924cf85c
call fcn.140001450
mov rdi, qword [rbp + 0x148]
lea rsi, [rbp - 0x80]
mov ecx, 0x10
mov dword [rsp + 0x20], 0x4a2aeb22
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
mov edx, 0xbd8aae54
mov r9d, 0x8147cfb9
mov r8d, 0x239efd43
call fcn.140001450
mov rdi, qword [rbp + 0x160]
lea rsi, [rbp - 0x80]
mov ecx, 0x10
mov dword [rsp + 0x20], ebx
rep movsb byte [rdi], byte [rsi]
mov rcx, qword [rbp + 0x138]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [rsp + 0x60]
test eax, eax
je 0x140002220
mov rcx, qword [rbp + 0x138]
lea rax, [rbp + 0x118]
lea r9, [rbp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x140]
mov edx, 0x20000005
call qword [rbp - 0x58]
test eax, eax
je 0x140002220
mov edx, dword [rbp + 0x140]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x40]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140002220
mov r8d, dword [rbp + 0x140]
lea r9, [rbp + 0x198]
mov rcx, qword [rbp + 0x138]
mov rdx, rax
call qword [rbp + 0x20]
test eax, eax
je 0x140002220
mov eax, dword [rbp + 0x140]
cmp dword [rbp + 0x198], eax
jne 0x140002220
lea rcx, [rsp + 0x40]
call fcn.1400014d0
mov rax, qword [rsp + 0x40]
dec rax
cmp rax, 0xfffffffffffffffd
ja 0x140002220
mov rcx, qword [rbp + 0x138]
call qword [rbp + 0xd0]
mov r8d, dword [rbp + 0x140]
lea r9, [rbp + 0x190]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x20], rbx
call qword [rbp - 0x68]
test eax, eax
je 0x140002220
mov rcx, qword [rbp - 8]
call qword [rbp + 0xd0]
mov rcx, qword [rsp + 0x40]
call qword [rsp + 0x68]
mov edx, 0xf03dd995
mov dword [rsp + 0x20], 0x39bc70ea
mov r9d, 0xf559a4f
lea rcx, [rsp + 0x40]
mov r8d, 0x234cbf2d
call fcn.140001450
mov rcx, qword [rbp - 0x18]
lea rdx, [rbp - 0x80]
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 + 0x130]
mov qword [rbp + 0x100], rax
test rax, rax
je 0x140002220
mov edx, 0xd87234f2
mov dword [rsp + 0x20], 0x32d40bbb
mov r9d, 0x9f661676
lea rcx, [rsp + 0x40]
mov r8d, 0x5935d245
call fcn.140001450
mov rcx, qword [rbp + 0x100]
lea r8, [rbp - 0x7c]
mov qword [rsp + 0x38], rbx
lea rdx, [rbp - 0x80]
mov dword [rsp + 0x30], 0x80800000
xor r9d, r9d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
call qword [rbp - 0x48]
mov qword [rbp + 0x30], rax
test rax, rax
je 0x140002220
mov rdx, qword [rbp + 0x160]
lea r8d, [rbx + 1]
xor ecx, ecx
call qword [rbp + 0xf8]
mov dword [rbp - 0x20], eax
test eax, eax
js 0x140002220
mov r8, qword [rbp + 0x180]
mov r9d, 0x1040
mov rdx, qword [rbp + 0x148]
xor ecx, ecx
call qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x30]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], ebx
xor edx, edx
call qword [rsp + 0x60]
test eax, eax
je 0x140002220
mov rcx, qword [rbp + 0x30]
lea rax, [rbp + 0x128]
lea r9, [rbp + 0x170]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x30]
mov edx, 0x20000005
call qword [rbp - 0x58]
test eax, eax
je 0x140002220
mov edx, dword [rbp - 0x30]
lea r9d, [rbx + 4]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x40]
mov qword [rbp + 0xb8], rax
test rax, rax
je 0x140002220
mov r8d, dword [rbp - 0x30]
lea r9, [rbp + 0x78]
mov rcx, qword [rbp + 0x30]
mov rdx, rax
call qword [rbp + 0x20]
test eax, eax
je 0x140002220
mov eax, dword [rbp - 0x30]
cmp dword [rbp + 0x78], eax
jne 0x140002220
mov rcx, qword [rbp + 0x30]
call qword [rbp + 0xd0]
mov rax, qword [rbp + 0xb8]
mov ecx, 0x5a4d
mov qword [rbp + 0x120], rax
cmp word [rax], cx
jne 0x140002220
mov rcx, qword [rbp - 0x18]
call qword [rbp + 0xd0]
mov rax, qword [rbp + 0x120]
movsxd rdx, dword [rax + 0x3c]
add rdx, qword [rbp + 0xb8]
mov qword [rsp + 0x70], rdx
cmp dword [rdx], 0x4550
jne 0x140002220
mov eax, 0x8664
cmp word [rdx + 4], ax
jne 0x140002220
mov eax, 0x20b
cmp word [rdx + 0x18], ax
jne 0x140002220
mov edx, dword [rdx + 0x50]
lea r9d, [rbx + 0x40]
xor ecx, ecx
mov r8d, 0x3000
call qword [rbp + 0x40]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x140002220
mov rcx, qword [rbp + 0x100]
call qword [rbp + 0xd0]
mov rcx, qword [rsp + 0x70]
movzx eax, word [rcx + 0x14]
add rcx, 0x18
add rcx, rax
mov qword [rbp + 8], rcx
lea rcx, [rsp + 0x40]
call fcn.140001200
lea rcx, [rsp + 0x40]
call fcn.140001270
lea rcx, [rsp + 0x40]
call fcn.140001350
mov rax, qword [rsp + 0x70]
mov rdi, qword [rbp - 0x50]
mov rsi, qword [rbp + 0xb8]
mov ecx, dword [rax + 0x54]
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x40]
call fcn.1400013f0
mov rsi, qword [rsp + 0x4d0]
mov rdi, qword [rsp + 0x4d8]
mov rax, qword [rbp + 0x58]
test rax, rax
je 0x14000223d
xor ecx, ecx
call rax
mov rbx, qword [rsp + 0x4e0]
xor eax, eax
add rsp, 0x4c0
pop rbp
ret