Function at 0x140002710
Capabilities:
Link many functions at runtime

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x1e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x160], 0xfffffffffffffffe
xor esi, esi
xor ecx, ecx
call fcn.14000efb0
mov ecx, eax
call fcn.1400105f0
nop word cs:[rax + rax]
call fcn.140010608
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi*4 - 0x50], eax
inc rsi
cmp rsi, 0x64
jne 0x140002750
mov eax, 0x63
xor ecx, ecx
jmp 0x14000279f
inc rcx
dec rax
cmp ecx, 0x63
je 0x140002822
mov edx, dword [rbp - 0x50]
cmp rcx, 0x62
jne 0x1400027d0
xor r8d, r8d
test al, 1
je 0x140002790
mov r9d, dword [rbp + r8*4 - 0x4c]
cmp edx, r9d
jle 0x140002790
mov dword [rbp + r8*4 - 0x50], r9d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002790
mov r9, rax
and r9, 0xfffffffffffffffe
xor r8d, r8d
jmp 0x1400027f3
mov dword [rbp + r8*4 - 0x4c], r10d
mov dword [rbp + r8*4 - 0x48], edx
add r8, 2
cmp r9, r8
je 0x1400027ab
mov r10d, dword [rbp + r8*4 - 0x4c]
cmp edx, r10d
jle 0x140002810
mov dword [rbp + r8*4 - 0x50], r10d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002813
mov edx, r10d
mov r10d, dword [rbp + r8*4 - 0x48]
cmp edx, r10d
jg 0x1400027e0
mov edx, r10d
jmp 0x1400027ea
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x150], 8
mov qword [rbp + 0x158], 0xf
movabs rax, 0x7478742e6e69616d
mov qword [rbp + 0x140], rax
mov dword [rsp + 0x20], 1
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x140]
mov r8d, 1
mov r9d, 0x40
call fcn.140006390
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
mov edi, dword [rbp + rax - 0x40]
lea rsi, [rbp + 0x60]
lea rcx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax - 0x50], rcx
mov rax, qword [rbp - 0x50]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax - 0x54], ecx
lea rcx, [rbp - 0x40]
call fcn.140003010
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x60], rax
mov rcx, rsi
call fcn.140007844
test edi, edi
je 0x140002d92
lea rcx, [0x1400376b0]
lea rdx, str.File_does_not_exist_
call fcn.140001760
mov rcx, rax
call fcn.140001b60
xor esi, esi
xor ecx, ecx
call fcn.14000efb0
mov ecx, eax
call fcn.1400105f0
nop word cs:[rax + rax]
call fcn.140010608
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi*4 - 0x50], eax
inc rsi
cmp rsi, 0x64
jne 0x140002900
mov eax, 0x63
xor ecx, ecx
jmp 0x14000294f
inc rcx
dec rax
cmp ecx, 0x63
je 0x1400029d2
mov edx, dword [rbp - 0x50]
cmp rcx, 0x62
jne 0x140002980
xor r8d, r8d
test al, 1
je 0x140002940
mov r9d, dword [rbp + r8*4 - 0x4c]
cmp edx, r9d
jle 0x140002940
mov dword [rbp + r8*4 - 0x50], r9d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002940
mov r9, rax
and r9, 0xfffffffffffffffe
xor r8d, r8d
jmp 0x1400029a3
mov dword [rbp + r8*4 - 0x4c], r10d
mov dword [rbp + r8*4 - 0x48], edx
add r8, 2
cmp r9, r8
je 0x14000295b
mov r10d, dword [rbp + r8*4 - 0x4c]
cmp edx, r10d
jle 0x1400029c0
mov dword [rbp + r8*4 - 0x50], r10d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x1400029c3
mov edx, r10d
mov r10d, dword [rbp + r8*4 - 0x48]
cmp edx, r10d
jg 0x140002990
mov edx, r10d
jmp 0x14000299a
xor esi, esi
xor ecx, ecx
call fcn.14000efb0
mov ecx, eax
call fcn.1400105f0
nop word cs:[rax + rax]
call fcn.140010608
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi*4 - 0x50], eax
inc rsi
cmp rsi, 0x64
jne 0x1400029f0
mov eax, 0x63
xor ecx, ecx
jmp 0x140002a3f
inc rcx
dec rax
cmp ecx, 0x63
je 0x140002ac2
mov edx, dword [rbp - 0x50]
cmp rcx, 0x62
jne 0x140002a70
xor r8d, r8d
test al, 1
je 0x140002a30
mov r9d, dword [rbp + r8*4 - 0x4c]
cmp edx, r9d
jle 0x140002a30
mov dword [rbp + r8*4 - 0x50], r9d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002a30
mov r9, rax
and r9, 0xfffffffffffffffe
xor r8d, r8d
jmp 0x140002a93
mov dword [rbp + r8*4 - 0x4c], r10d
mov dword [rbp + r8*4 - 0x48], edx
add r8, 2
cmp r9, r8
je 0x140002a4b
mov r10d, dword [rbp + r8*4 - 0x4c]
cmp edx, r10d
jle 0x140002ab0
mov dword [rbp + r8*4 - 0x50], r10d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002ab3
mov edx, r10d
mov r10d, dword [rbp + r8*4 - 0x48]
cmp edx, r10d
jg 0x140002a80
mov edx, r10d
jmp 0x140002a8a
xor esi, esi
xor ecx, ecx
call fcn.14000efb0
mov ecx, eax
call fcn.1400105f0
nop word cs:[rax + rax]
call fcn.140010608
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi*4 - 0x50], eax
inc rsi
cmp rsi, 0x64
jne 0x140002ae0
mov eax, 0x63
xor ecx, ecx
jmp 0x140002b2f
inc rcx
dec rax
cmp ecx, 0x63
je 0x140002bb2
mov edx, dword [rbp - 0x50]
cmp rcx, 0x62
jne 0x140002b60
xor r8d, r8d
test al, 1
je 0x140002b20
mov r9d, dword [rbp + r8*4 - 0x4c]
cmp edx, r9d
jle 0x140002b20
mov dword [rbp + r8*4 - 0x50], r9d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002b20
mov r9, rax
and r9, 0xfffffffffffffffe
xor r8d, r8d
jmp 0x140002b83
mov dword [rbp + r8*4 - 0x4c], r10d
mov dword [rbp + r8*4 - 0x48], edx
add r8, 2
cmp r9, r8
je 0x140002b3b
mov r10d, dword [rbp + r8*4 - 0x4c]
cmp edx, r10d
jle 0x140002ba0
mov dword [rbp + r8*4 - 0x50], r10d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002ba3
mov edx, r10d
mov r10d, dword [rbp + r8*4 - 0x48]
cmp edx, r10d
jg 0x140002b70
mov edx, r10d
jmp 0x140002b7a
xor esi, esi
xor ecx, ecx
call fcn.14000efb0
mov ecx, eax
call fcn.1400105f0
nop word cs:[rax + rax]
call fcn.140010608
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi*4 - 0x50], eax
inc rsi
cmp rsi, 0x64
jne 0x140002bd0
mov eax, 0x63
xor ecx, ecx
jmp 0x140002c1f
inc rcx
dec rax
cmp ecx, 0x63
je 0x140002ca2
mov edx, dword [rbp - 0x50]
cmp rcx, 0x62
jne 0x140002c50
xor r8d, r8d
test al, 1
je 0x140002c10
mov r9d, dword [rbp + r8*4 - 0x4c]
cmp edx, r9d
jle 0x140002c10
mov dword [rbp + r8*4 - 0x50], r9d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002c10
mov r9, rax
and r9, 0xfffffffffffffffe
xor r8d, r8d
jmp 0x140002c73
mov dword [rbp + r8*4 - 0x4c], r10d
mov dword [rbp + r8*4 - 0x48], edx
add r8, 2
cmp r9, r8
je 0x140002c2b
mov r10d, dword [rbp + r8*4 - 0x4c]
cmp edx, r10d
jle 0x140002c90
mov dword [rbp + r8*4 - 0x50], r10d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002c93
mov edx, r10d
mov r10d, dword [rbp + r8*4 - 0x48]
cmp edx, r10d
jg 0x140002c60
mov edx, r10d
jmp 0x140002c6a
xor esi, esi
xor ecx, ecx
call fcn.14000efb0
mov ecx, eax
call fcn.1400105f0
nop word cs:[rax + rax]
call fcn.140010608
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
sar rcx, 0x26
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi*4 - 0x50], eax
inc rsi
cmp rsi, 0x64
jne 0x140002cc0
mov eax, 0x63
xor ecx, ecx
jmp 0x140002d0f
inc rcx
dec rax
cmp ecx, 0x63
je 0x140002f1a
mov edx, dword [rbp - 0x50]
cmp rcx, 0x62
jne 0x140002d40
xor r8d, r8d
test al, 1
je 0x140002d00
mov r9d, dword [rbp + r8*4 - 0x4c]
cmp edx, r9d
jle 0x140002d00
mov dword [rbp + r8*4 - 0x50], r9d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002d00
mov r9, rax
and r9, 0xfffffffffffffffe
xor r8d, r8d
jmp 0x140002d63
mov dword [rbp + r8*4 - 0x4c], r10d
mov dword [rbp + r8*4 - 0x48], edx
add r8, 2
cmp r9, r8
je 0x140002d1b
mov r10d, dword [rbp + r8*4 - 0x4c]
cmp edx, r10d
jle 0x140002d80
mov dword [rbp + r8*4 - 0x50], r10d
mov dword [rbp + r8*4 - 0x4c], edx
jmp 0x140002d83
mov edx, r10d
mov r10d, dword [rbp + r8*4 - 0x48]
cmp edx, r10d
jg 0x140002d50
mov edx, r10d
jmp 0x140002d5a
lea rcx, [0x1400376b0]
lea rdx, str.File_exists_
call fcn.140001760
mov rcx, rax
call fcn.140001b60
lea r14, [0x140027044]
mov rcx, r14
call fcn.140010360
lea rbx, str.ntdll.dll
mov r15, qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rbx
call r15
lea rdx, str.NtAllocateVirtualMemory
mov r12, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call r12
cmp dword [rax], 0xb8d18b4c
lea rax, str.NtAllocateVirtualMemory_Not_Hooked
lea rsi, str.NtAllocateVirtualMemory_Hooked
mov rcx, rsi
cmove rcx, rax
call fcn.140010360
mov rcx, rbx
call r15
lea rdx, str.NtProtectVirtualMemory
mov rcx, rax
call r12
cmp dword [rax], 0xb8d18b4c
lea rax, str.NtProtectVirtualMemory_Not_Hooked
lea rdi, str.NtProtectVirtualMemory_Hooked
mov rcx, rdi
cmove rcx, rax
call fcn.140010360
mov rcx, rbx
call r15
lea rdx, str.NtCreateThreadEx
mov rcx, rax
call r12
cmp dword [rax], 0xb8d18b4c
lea r13, str.NtCreateThreadEx_Not_Hooked
lea rbx, str.NtCreateThreadEx_Hooked
mov rcx, rbx
cmove rcx, r13
call fcn.140010360
mov rcx, r14
call fcn.140010360
lea rcx, str.___Unhooking_Ntdll
call fcn.140010360
lea rcx, [rbp + 0x140]
call fcn.140001cc0
lea r14, str.ntdll.dll
mov rcx, r14
call r15
lea rdx, str.NtAllocateVirtualMemory
mov rcx, rax
call r12
cmp dword [rax], 0xb8d18b4c
lea rax, str.NtAllocateVirtualMemory_Not_Hooked
cmove rsi, rax
mov rcx, rsi
call fcn.140010360
mov rcx, r14
call r15
lea rdx, str.NtProtectVirtualMemory
mov rcx, rax
call r12
cmp dword [rax], 0xb8d18b4c
lea rax, str.NtProtectVirtualMemory_Not_Hooked
cmove rdi, rax
mov rcx, rdi
call fcn.140010360
mov rcx, r14
call r15
lea rdx, str.NtCreateThreadEx
mov rcx, rax
call r12
cmp dword [rax], 0xb8d18b4c
cmove rbx, r13
mov rcx, rbx
call fcn.140010360
lea rcx, str._n_n___Finished_____
call fcn.140010360
mov rax, qword [rbp + 0x158]
cmp rax, 0x10
jb 0x140002f5b
mov rcx, qword [rbp + 0x140]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140002f56
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x140002f71
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400072a0
xor eax, eax
add rsp, 0x1e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.14000e7b4
int3