Function at 0x140019d60
Capabilities:
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x168
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 8
mov qword [rsp + 0x98], 0
lea rcx, [rsp + 0x30]
call fcn.140084440
cmp byte [rsp + 0x30], 0x12
jne 0x14001b7b3
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 8
mov qword [rsp + 0x40], 0
mov eax, 0x4201337
xor ecx, ecx
mov r11, rbx
cpuid
xchg rbx, r11
mov r9d, ecx
mov r10d, edx
mov r8d, eax
mov eax, 0x40000000
xor ecx, ecx
mov rsi, rbx
cpuid
xchg rbx, rsi
mov ebx, ecx
mov edi, edx
cmp r10d, edx
jne 0x140019e1f
cmp r9d, ebx
jne 0x140019e1f
cmp r8d, eax
jne 0x140019e1f
cmp r11d, esi
jne 0x140019e1f
cmp ebx, 0x4d566572
je 0x140019eed
jmp 0x140019faf
lea rax, [0x1400e92fb]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
movabs rdx, 0x549dc1c729e67e83
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x60]
call fcn.14000cbb0
mov r14, qword [rax]
mov r15, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x140120b70]
mov ecx, 0x11
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b85a
mov rsi, rax
xor bpl, 0x36
movabs rax, 0xddbfd37a56634bb0
xor r14, rax
movabs rax, 0x3ccc16ffddc092d2
xor r15, rax
mov qword [rsi], r14
mov qword [rsi + 8], r15
mov byte [rsi + 0x10], bpl
mov r14, qword [rsp + 0x40]
cmp r14, qword [rsp + 0x30]
jne 0x140019eba
lea rcx, [rsp + 0x30]
call fcn.140037390
mov rax, qword [rsp + 0x38]
lea rcx, [r14 + r14*2]
mov qword [rax + rcx*8], 0x11
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x11
inc r14
mov qword [rsp + 0x40], r14
cmp ebx, 0x4d566572
jne 0x140019faf
cmp edi, 0x65726177
jne 0x140019faf
lea rax, [0x1400edcf2]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
movabs rdx, 0xe50a50f41c9f5a6e
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x60]
call fcn.14000c440
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x140120b70]
mov ecx, 0x10
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b84b
mov rsi, rax
movabs rax, 0xb9895fc2504d528c
xor rdi, rax
movabs rax, 0xf81869998e665c4e
xor rbx, rax
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov rdi, qword [rsp + 0x40]
cmp rdi, qword [rsp + 0x30]
jne 0x140019f88
lea rcx, [rsp + 0x30]
call fcn.140037390
mov rax, qword [rsp + 0x38]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x10
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x10
inc rdi
mov qword [rsp + 0x40], rdi
mov eax, 1
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
mov r15, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
lea rax, [rsi*8]
lea rbx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
mov r14, qword [rsp + 0x98]
sub rax, r14
cmp rax, rsi
jb 0x14001b746
lea rcx, [r14 + r14*2]
shl rcx, 3
add rcx, qword [rsp + 0x90]
mov rdx, rdi
mov r8, rbx
call fcn.1400ea9f0
add rsi, r14
mov qword [rsp + 0x98], rsi
test r15, r15
je 0x14001a036
shl r15, 3
lea rdx, [r15 + r15*2]
mov r8d, 8
mov rcx, rdi
call fcn.14004bad0
rdtsc
mov qword [rsp + 0xc8], rax
mov eax, 1
cpuid
rdtsc
mov qword [rsp + 0xc0], rax
rdtsc
mov r11, rax
mov eax, 1
cpuid
rdtsc
mov rdi, rax
rdtsc
mov qword [rsp + 0xb8], rax
mov eax, 1
cpuid
rdtsc
mov r13, rax
rdtsc
mov r10, rax
mov eax, 1
cpuid
rdtsc
mov rbx, rax
rdtsc
mov rbp, rax
mov eax, 1
cpuid
rdtsc
mov rsi, rax
rdtsc
mov r9, rax
mov eax, 1
cpuid
rdtsc
mov r15, rax
rdtsc
mov r14, rax
mov eax, 1
cpuid
rdtsc
mov r12, rax
rdtsc
mov r8, rax
add r11, qword [rsp + 0xc8]
add rdi, qword [rsp + 0xc0]
mov eax, 1
cpuid
add r10, qword [rsp + 0xb8]
add r10, r11
rdtsc
mov r11, rax
add rbx, r13
add rbx, rdi
rdtsc
mov rdi, rax
add r9, rbp
add r15, rsi
add r9, r14
mov eax, 1
cpuid
add r9, r10
add r15, r12
rdtsc
mov r10, rax
add r15, rbx
add rdi, r8
rdtsc
add r10, r11
add r10, r15
add rdi, rax
mov eax, 1
cpuid
add rdi, r9
sub r10, rdi
rdtsc
add r10, rax
cmp r10, 0xa
jae 0x14001a201
lea rax, [0x1400ea442]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
movabs rax, 0xcf83c429fb3e9782
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000b880
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x140120b70]
mov ecx, 0xa
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b869
mov rsi, rax
mov eax, edi
shr eax, 8
xor al, 0xad
xor dil, 0x33
movabs rcx, 0xd5c685ee70623ba5
xor rbx, rcx
mov qword [rsi], rbx
mov byte [rsi + 8], dil
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0x98]
cmp rdi, qword [rsp + 0x88]
jne 0x14001a1d4
lea rcx, [rsp + 0x88]
call fcn.140037390
mov rax, qword [rsp + 0x90]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0xa
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0xa
inc rdi
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 8
mov qword [rsp + 0xb0], 0
lea r13, [rsp + 0x30]
mov rcx, r13
call fcn.140084520
cmp byte [rsp + 0x30], 0x12
jne 0x14001b7b3
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xe0], rax
movzx eax, byte [0x140120b70]
mov ecx, 0x150
mov edx, 8
call fcn.14004bac0
test rax, rax
je 0x14001b7e2
mov rdi, rax
lea rax, [0x1400f085e]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xa51bb760497e0108
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000c0d0
mov rsi, qword [rax]
mov r14, qword [rax + 8]
mov r15, qword [rax + 0x10]
mov r12, qword [rax + 0x18]
movzx ebx, byte [rax + 0x20]
movzx eax, byte [0x140120b70]
mov ecx, 0x21
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7f1
xor bl, 0x12
movabs rcx, 0x483a6320efd85595
xor rsi, rcx
movabs rcx, 0x3677a6288f9240ef
xor r14, rcx
movabs rcx, 0xe9cc579194ea2951
xor r15, rcx
movabs rcx, 0x55ea94e904f687ce
xor r12, rcx
mov qword [rax], rsi
mov qword [rax + 8], r14
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], r12
mov qword [rsp + 0xc8], rax
mov byte [rax + 0x20], bl
lea rax, [0x1400e59e7]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xb40a6562ff073d5b
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000bd70
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x140120b70]
mov ecx, 0x18
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7d3
movabs rcx, 0xef6e4ed853dc9560
xor rsi, rcx
movabs rcx, 0xe085119c0ffa14ab
xor rbx, rcx
movabs rcx, 0x2ded5a351460a827
xor r14, rcx
mov qword [rax], rbx
mov qword [rax + 8], r14
mov qword [rsp + 0xc0], rax
mov qword [rax + 0x10], rsi
lea rax, [0x1400e6c12]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x7bbf3b48de915bd0
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000d2e0
mov r12, qword [rax]
mov r15, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov ebx, dword [rax + 0x18]
movzx esi, word [rax + 0x1c]
movzx ebp, byte [rax + 0x1e]
movzx eax, byte [0x140120b70]
mov ecx, 0x1f
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7b5
shl ebp, 0x10
or esi, ebp
mov r8d, esi
shr r8d, 0x10
xor r8b, 0x74
mov ecx, esi
shr ecx, 8
xor cl, 0xf2
xor sil, 0xcd
xor ebx, 0xa673b726
movabs rdx, 0x5a64ca732ac258fd
xor r14, rdx
movabs rdx, 0x1e0be27f3f813d87
xor r15, rdx
movabs rdx, 0x7df1f0969ffe36c5
xor r12, rdx
mov qword [rax], r12
mov qword [rax + 8], r15
mov qword [rax + 0x10], r14
mov dword [rax + 0x18], ebx
mov byte [rax + 0x1c], sil
mov byte [rax + 0x1d], cl
mov qword [rsp + 0xb8], rax
mov byte [rax + 0x1e], r8b
lea rax, [0x1400ecfa0]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x44e000fbffc0f6d3
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000cb50
mov r12, qword [rax]
mov r15, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
movzx esi, word [rax + 0x20]
movzx ebp, byte [rax + 0x22]
movzx eax, byte [0x140120b70]
mov ecx, 0x23
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b800
shl ebp, 0x10
or esi, ebp
mov r8d, esi
shr r8d, 0x10
xor r8b, 0x26
mov ecx, esi
shr ecx, 8
xor cl, 0x64
xor sil, 0x4d
movabs rdx, 0xffc8422be822d27d
xor rbx, rdx
movabs rdx, 0xafd9e032d3d7bc5c
xor r14, rdx
movabs rdx, 0xb5870dc38eec5b63
xor r15, rdx
movabs rdx, 0x713c4c68c7c203b
xor r12, rdx
mov qword [rax], r12
mov qword [rax + 8], r15
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], rbx
mov byte [rax + 0x20], sil
mov byte [rax + 0x21], cl
mov qword [rsp + 0xd8], rax
mov byte [rax + 0x22], r8b
lea rax, [0x1400e80ec]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xaa1651ea92d58245
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000c480
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x140120b70]
mov ecx, 0x18
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7d3
movabs rcx, 0xba54ce2e1fdf2eef
xor rsi, rcx
movabs rcx, 0x7729691337b61d7f
xor rbx, rcx
movabs rcx, 0x1917308c1b6fa6d6
xor r14, rcx
mov qword [rax], rbx
mov qword [rax + 8], r14
mov qword [rsp + 0xf8], rax
mov qword [rax + 0x10], rsi
lea rax, [0x1400eb2e9]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xfca44bd511df66ea
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000d6f0
mov r15, qword [rax]
mov r14, qword [rax + 8]
mov ebx, dword [rax + 0x10]
movzx esi, word [rax + 0x14]
movzx eax, byte [0x140120b70]
mov ecx, 0x16
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b80f
mov edx, esi
shr edx, 8
xor dl, 0x8c
xor sil, 0xa8
xor ebx, 0xaedb1f36
movabs rcx, 0xc1924569d0ac623c
xor r14, rcx
movabs rcx, 0xd9263a87ed17997b
xor r15, rcx
mov qword [rax], r15
mov qword [rax + 8], r14
mov dword [rax + 0x10], ebx
mov byte [rax + 0x14], sil
mov qword [rsp + 0xf0], rax
mov byte [rax + 0x15], dl
lea rax, [0x1400e3b0c]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x8f90bd257b69a2c4
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000c0b0
mov r15, r13
mov r13, qword [rax]
mov r12, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov ebx, dword [rax + 0x18]
movzx esi, word [rax + 0x1c]
movzx ebp, byte [rax + 0x1e]
movzx eax, byte [0x140120b70]
mov ecx, 0x1f
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7b5
shl ebp, 0x10
or esi, ebp
mov r8d, esi
shr r8d, 0x10
xor r8b, 0xa
mov ecx, esi
shr ecx, 8
xor cl, 0x84
xor sil, 0xf6
xor ebx, 0x82d1741f
movabs rdx, 0xcc22a7970f184a5e
xor r14, rdx
movabs rdx, 0x49dbc16564682967
xor r12, rdx
movabs rdx, 0xa26b3b02468d6662
xor r13, rdx
mov qword [rax], r13
mov qword [rax + 8], r12
mov qword [rax + 0x10], r14
mov dword [rax + 0x18], ebx
mov byte [rax + 0x1c], sil
mov byte [rax + 0x1d], cl
mov qword [rsp + 0xe8], rax
mov byte [rax + 0x1e], r8b
lea rax, [0x1400e8653]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x608b910164854164
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000d350
mov r12, r15
mov r15, qword [rax]
mov r14, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x140120b70]
mov ecx, 0x20
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7c4
movabs rcx, 0x20ba00986e244082
xor rsi, rcx
movabs rcx, 0xe1abb3255a1e0e6c
xor rbx, rcx
movabs rcx, 0xc3ecdfe4e39db939
xor r14, rcx
movabs rcx, 0x2d3db7f88fb53cec
xor r15, rcx
mov qword [rax], r15
mov qword [rax + 8], r14
mov qword [rax + 0x10], rbx
mov qword [rsp + 0x138], rax
mov qword [rax + 0x18], rsi
lea rax, [0x1400f1966]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x23839aedb6e1598
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000b7e0
mov r15, qword [rax]
mov r14, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x140120b70]
mov ecx, 0x20
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7c4
movabs rcx, 0xa3363e7d836c32e
xor rsi, rcx
movabs rcx, 0xb1e1dba40f90d5b7
xor rbx, rcx
movabs rcx, 0x748aafec75fe5d47
xor r14, rcx
movabs rcx, 0x5adeea6e19df6510
xor r15, rcx
mov qword [rax], r15
mov qword [rax + 8], r14
mov qword [rax + 0x10], rbx
mov qword [rsp + 0x130], rax
mov qword [rax + 0x18], rsi
lea rax, [0x1400f1ae7]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xe38743c57c8ed856
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000dba0
mov rbx, qword [rax]
mov rbp, qword [rax + 8]
mov r13, qword [rax + 0x10]
mov r14d, dword [rax + 0x18]
movzx esi, word [rax + 0x1c]
movzx r15d, byte [rax + 0x1e]
movzx eax, byte [0x140120b70]
mov ecx, 0x1f
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7b5
shl r15d, 0x10
or esi, r15d
mov r8d, esi
shr r8d, 0x10
xor r8b, 0xd7
mov ecx, esi
shr ecx, 8
xor cl, 0x8d
xor sil, 0x69
xor r14d, 0x810d51d2
movabs rdx, 0x3819e1863aa81546
xor r13, rdx
movabs rdx, 0x605feb185f01f819
xor rbp, rdx
movabs rdx, 0x9fd144982e66aa0b
xor rbx, rdx
mov qword [rax], rbx
mov qword [rax + 8], rbp
mov qword [rax + 0x10], r13
mov dword [rax + 0x18], r14d
mov byte [rax + 0x1c], sil
mov byte [rax + 0x1d], cl
mov qword [rsp + 0x128], rax
mov byte [rax + 0x1e], r8b
lea rax, [0x1400edd8a]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xbd4f5e8ebcdd4b3c
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000c660
mov r15, qword [rax]
mov r14, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x140120b70]
mov ecx, 0x20
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7c4
movabs rcx, 0xe7061ebef95ff2fe
xor rsi, rcx
movabs rcx, 0xbd2dd6c4a5282e33
xor rbx, rcx
movabs rcx, 0x5d1d7d0d2df49725
xor r14, rcx
movabs rcx, 0x9d277ef9620926b6
xor r15, rcx
mov qword [rax], r15
mov qword [rax + 8], r14
mov qword [rax + 0x10], rbx
mov qword [rsp + 0x120], rax
mov qword [rax + 0x18], rsi
lea rax, [0x1400f11c3]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x85082892525a87f9
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000d1a0
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov r15, qword [rax + 0x10]
mov rbp, qword [rax + 0x18]
movzx esi, word [rax + 0x20]
movzx eax, byte [0x140120b70]
mov ecx, 0x22
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b81e
mov r13, rax
mov eax, esi
shr eax, 8
xor al, 0xec
xor sil, 0xb9
movabs rcx, 0x95ed5a56abe09424
xor rbx, rcx
movabs rcx, 0xd293d854ea5725a5
xor r14, rcx
movabs rcx, 0xa030bc9d9ab89f98
xor r15, rcx
movabs rcx, 0xf4548d6543cbaecc
xor rbp, rcx
mov qword [r13], rbx
mov qword [r13 + 8], r14
mov qword [r13 + 0x10], r15
mov qword [r13 + 0x18], rbp
mov byte [r13 + 0x20], sil
mov byte [r13 + 0x21], al
lea rax, [0x1400e8650]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x299bd4d6d3cb44fc
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000c8a0
mov rsi, qword [rax]
mov r15, qword [rax + 8]
mov ebp, dword [rax + 0x10]
movzx ebx, word [rax + 0x14]
movzx r12d, byte [rax + 0x16]
movzx eax, byte [0x140120b70]
mov ecx, 0x17
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b82d
mov r14, rax
shl r12d, 0x10
or ebx, r12d
mov eax, ebx
shr eax, 0x10
xor al, 0x97
mov ecx, ebx
shr ecx, 8
xor cl, 0xae
xor bl, 0x4d
xor ebp, 0x5472b2fb
movabs rdx, 0x2d13e98af53e6c9c
xor r15, rdx
movabs rdx, 0x77e0d97bf289b8d2
xor rsi, rdx
mov qword [r14], rsi
mov qword [r14 + 8], r15
mov dword [r14 + 0x10], ebp
mov byte [r14 + 0x14], bl
mov byte [r14 + 0x15], cl
mov byte [r14 + 0x16], al
lea rax, [0x1400ed5eb]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
movabs rax, 0x489fe1b4f35ff874
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000cf10
mov r12, qword [rax]
mov rbp, qword [rax + 8]
mov r15, qword [rax + 0x10]
mov esi, dword [rax + 0x18]
movzx ebx, byte [rax + 0x1c]
movzx eax, byte [0x140120b70]
mov ecx, 0x1d
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b83c
movabs rcx, 0x40ec48eae00f94e3
xor r15, rcx
movabs rcx, 0x68a1aa74dcdde4d7
xor rbp, rcx
movabs rcx, 0xd7b1b2c34988ecad
xor r12, rcx
mov qword [rax], r12
mov qword [rax + 8], rbp
mov qword [rax + 0x10], r15
xor esi, 0xf7dcee52
mov dword [rax + 0x18], esi
xor bl, 0x79
mov byte [rax + 0x1c], bl
mov qword [rdi], 0x21
mov rcx, qword [rsp + 0xc8]
mov qword [rdi + 8], rcx
movabs rbp, 0x7ffffffffffffff1
mov qword [rdi + 0x10], 0x21
mov qword [rdi + 0x18], 0x18
mov rcx, qword [rsp + 0xc0]
mov qword [rdi + 0x20], rcx
mov qword [rdi + 0x28], 0x18
mov qword [rdi + 0x30], 0x1f
mov rcx, qword [rsp + 0xb8]
mov qword [rdi + 0x38], rcx
mov qword [rdi + 0x40], 0x1f
mov qword [rdi + 0x48], 0x23
mov rcx, qword [rsp + 0xd8]
mov qword [rdi + 0x50], rcx
mov qword [rdi + 0x58], 0x23
mov qword [rdi + 0x60], 0x18
mov rcx, qword [rsp + 0xf8]
mov qword [rdi + 0x68], rcx
mov qword [rdi + 0x70], 0x18
mov qword [rdi + 0x78], 0x16
mov rcx, qword [rsp + 0xf0]
mov qword [rdi + 0x80], rcx
mov qword [rdi + 0x88], 0x16
mov qword [rdi + 0x90], 0x1f
mov rcx, qword [rsp + 0xe8]
mov qword [rdi + 0x98], rcx
mov qword [rdi + 0xa0], 0x1f
mov qword [rdi + 0xa8], 0x20
mov rcx, qword [rsp + 0x138]
mov qword [rdi + 0xb0], rcx
mov qword [rdi + 0xb8], 0x20
mov qword [rdi + 0xc0], 0x20
mov rcx, qword [rsp + 0x130]
mov qword [rdi + 0xc8], rcx
mov qword [rdi + 0xd0], 0x20
mov qword [rdi + 0xd8], 0x1f
mov rcx, qword [rsp + 0x128]
mov qword [rdi + 0xe0], rcx
mov qword [rdi + 0xe8], 0x1f
mov qword [rdi + 0xf0], 0x20
mov rcx, qword [rsp + 0x120]
mov qword [rdi + 0xf8], rcx
mov qword [rdi + 0x100], 0x20
mov qword [rdi + 0x108], 0x22
mov qword [rdi + 0x110], r13
mov qword [rdi + 0x118], 0x22
mov qword [rdi + 0x120], 0x17
mov qword [rdi + 0x128], r14
mov qword [rdi + 0x130], 0x17
mov qword [rdi + 0x138], 0x1d
mov qword [rdi + 0x140], rax
mov qword [rdi + 0x148], 0x1d
mov dword [rsp + 0xd4], 0
lea r14, [rsp + 0x108]
lea r12, [rsp + 0x38]
xor r13d, r13d
add rbp, 0xf
lea rbx, [rsp + 0x60]
lea r15, [rsp + 0x100]
lea rsi, [rsp + 0x30]
jmp 0x14001ae11
add r13, 0x18
cmp r13, 0x150
je 0x14001afb8
mov rax, qword [rdi + r13]
cmp rax, rbp
je 0x14001afa9
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rdi + r13 + 8]
movups xmmword [r14], xmm0
mov rcx, rbx
mov rdx, r15
call fcn.1400cd120
mov rcx, rsi
lea rdx, [rsp + 0xe0]
mov r8, rbx
call fcn.1400459f0
cmp byte [rsp + 0x30], 0x12
jne 0x14001b7b3
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x70], rax
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x60], xmm0
test rax, rax
jne 0x14001af4f
mov rbx, r12
mov r12, rbp
mov rbp, rdi
mov rdx, rsi
mov rdi, r15
mov r15, r14
lea rax, [rsp + 0xd4]
mov qword [rsp + 0x140], rax
lea rax, [0x1400cf270]
mov qword [rsp + 0x148], rax
lea rax, [0x1400f29c0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 2
mov qword [rsp + 0x50], 0
lea rax, [rsp + 0x140]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rcx, [rsp + 0x150]
call fcn.1400cd360
mov r14, qword [rsp + 0xb0]
cmp r14, qword [rsp + 0xa0]
jne 0x14001af09
lea rcx, [rsp + 0xa0]
call fcn.140037390
mov rax, qword [rsp + 0xa8]
lea rcx, [r14 + r14*2]
mov rdx, qword [rsp + 0x160]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rsp + 0x150]
movdqu xmmword [rax + rcx*8], xmm0
inc r14
mov qword [rsp + 0xb0], r14
mov r14, r15
mov r15, rdi
mov rdi, rbp
mov rbp, r12
mov r12, rbx
lea rbx, [rsp + 0x60]
inc dword [rsp + 0xd4]
mov rcx, rbx
call fcn.1400418f0
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x14001af80
mov rcx, qword [rsp + 0x68]
shl rax, 4
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.14004bad0
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x14001ae00
mov rcx, qword [rsp + 0x108]
mov r8d, 1
call fcn.14004bad0
jmp 0x14001ae00
mov rax, r13
sub rax, 0x138
jne 0x14001b6fb
mov edx, 0x150
mov r8d, 8
mov rcx, rdi
call fcn.14004bad0
lea rax, [0x1400ea016]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x9017de956a90e99e
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000c6b0
movabs rcx, 0xe2020f3869823f09
xor rcx, qword [rax]
movabs rdx, 0xf847caf5df4e878a
xor rdx, qword [rax + 8]
movabs r8, 0x757594d622342559
xor r8, qword [rax + 0x10]
mov r9d, 0x3a09d301
xor r9d, dword [rax + 0x18]
movzx r10d, byte [rax + 0x1e]
movzx eax, word [rax + 0x1c]
mov r11d, eax
shr r11d, 8
xor al, 0x95
xor r11b, 0x95
xor r10b, 0x57
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rdx
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x78], r9d
mov byte [rsp + 0x7c], al
mov byte [rsp + 0x7d], r11b
mov byte [rsp + 0x7e], r10b
lea rsi, [rsp + 0x30]
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0x60]
mov r9d, 0x1f
mov rcx, rsi
call fcn.140045cd0
cmp byte [rsp + 0x30], 0x12
jne 0x14001b7b3
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x110], rax
movdqu xmm0, xmmword [rsp + 0x38]
movdqa xmmword [rsp + 0x100], xmm0
cmp rax, 2
jae 0x14001b175
lea rax, [0x1400e5855]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x564b5e616623c4b3
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000c990
mov r14, qword [rax]
mov rbx, qword [rax + 8]
movzx eax, byte [0x140120b70]
mov ecx, 0x10
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b84b
mov rdi, rax
movabs rax, 0x94524e2dcb9a1bff
xor rbx, rax
movabs rax, 0x767156433116282a
xor r14, rax
mov qword [rdi], r14
mov qword [rdi + 8], rbx
mov rbx, qword [rsp + 0xb0]
cmp rbx, qword [rsp + 0xa0]
jne 0x14001b148
lea rcx, [rsp + 0xa0]
call fcn.140037390
mov rax, qword [rsp + 0xa8]
lea rcx, [rbx + rbx*2]
mov qword [rax + rcx*8], 0x10
mov qword [rax + rcx*8 + 8], rdi
mov qword [rax + rcx*8 + 0x10], 0x10
inc rbx
mov qword [rsp + 0xb0], rbx
lea rax, [0x1400ef036]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x40526068c3b4efa0
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.14000d170
movabs rcx, 0x8acac0717f2a148c
xor rcx, qword [rax]
movabs rdx, 0xd841492e8a55ab73
xor rdx, qword [rax + 8]
movabs r8, 0x329918c0ddfac21c
xor r8, qword [rax + 0x10]
movabs r9, 0x37c50bf121a31000
xor r9, qword [rax + 0x18]
movabs r10, 0x4126f03541d7752c
xor r10, qword [rax + 0x20]
mov r11d, 0x7b23eb05
xor r11d, dword [rax + 0x28]
movzx eax, byte [rax + 0x2c]
xor al, 0xa4
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r9
mov qword [rsp + 0x50], r10
mov dword [rsp + 0x58], r11d
mov byte [rsp + 0x5c], al
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0xe0]
lea r8, [rsp + 0x30]
mov r9d, 0x2d
call fcn.140045cd0
cmp byte [rsp + 0x60], 0x12
jne 0x14001b7b3
mov rax, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
lea rdx, [rcx + rcx*2]
shl rdx, 4
add rdx, rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rax
mov qword [rsp + 0xe8], rdx
mov qword [rsp + 0x48], rdx
test rcx, rcx
jne 0x14001b38e
lea rcx, [rsp + 0x30]
call fcn.14004af80
mov r15, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb0]
lea rcx, [rsp + 0x100]
call fcn.1400418f0
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x14001b2d4
mov rcx, qword [rsp + 0x108]
shl rax, 4
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.14004bad0
lea rcx, [rsp + 0xe0]
call fcn.140051c60
lea rax, [rdi*8]
lea rbx, [rax + rax*2]
mov rax, qword [rsp + 0x88]
mov r14, qword [rsp + 0x98]
sub rax, r14
cmp rax, rdi
jb 0x14001b775
lea rcx, [r14 + r14*2]
shl rcx, 3
add rcx, qword [rsp + 0x90]
mov rdx, rsi
mov r8, rbx
call fcn.1400ea9f0
add rdi, r14
mov qword [rsp + 0x98], rdi
test r15, r15
je 0x14001b34a
shl r15, 3
lea rdx, [r15 + r15*2]
mov r8d, 8
mov rcx, rsi
call fcn.14004bad0
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x118]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rax], xmm0
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp rsi, qword [rsp + 0xe8]
je 0x14001b27d
mov rax, rsi
add rsi, 0x30
mov qword [rsp + 0x38], rsi
mov r15, qword [rax]
test r15, r15
je 0x14001b27d
mov rcx, qword [rax + 8]
mov r12, qword [rax + 0x18]
test r12, r12
mov qword [rsp + 0xd8], rcx
je 0x14001b6b0
mov qword [rsp + 0xf8], rsi
lea rbp, [r15 + 0x10]
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
not eax
mov qword [rsp + 0xf0], r15
mov rdi, rbp
mov rsi, r12
mov qword [rsp + 0xb8], r12
jmp 0x14001b43f
mov rax, qword [rsp + 0xa8]
lea rcx, [rsi + rsi*2]
mov qword [rax + rcx*8], 0x15
mov qword [rax + rcx*8 + 8], r13
mov qword [rax + rcx*8 + 0x10], 0x15
inc rsi
mov qword [rsp + 0xb0], rsi
mov r12, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc8]
mov ebx, dword [rsp + 0xc0]
mov eax, ebx
dec rsi
je 0x14001b590
test ax, ax
je 0x14001b450
lea ebx, [rax - 1]
and ebx, eax
jmp 0x14001b477
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
add r15, 0xfffffffffffffc80
add rdi, 0x10
cmp eax, 0xffff
je 0x14001b450
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebx, eax
and ebx, ecx
tzcnt eax, eax
neg rax
imul r13, rax, 0x38
add r13, r15
add r13, 0xffffffffffffffe0
je 0x14001b590
mov rcx, r13
lea rdx, [0x1400f2978]
call fcn.140019bc0
test al, al
jne 0x14001b4b9
mov rcx, r13
lea rdx, [0x1400f2998]
call fcn.140019bc0
test al, al
je 0x14001b434
mov dword [rsp + 0xc0], ebx
mov qword [rsp + 0xc8], rsi
lea rax, [0x1400ea5f8]
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x60]
mov rcx, qword [rsp + 0x60]
movabs rdx, 0xfe06c9481ba4f63a
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x60]
call fcn.14000bd20
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov esi, dword [rax + 0x10]
movzx r12d, byte [rax + 0x14]
movzx eax, byte [0x140120b70]
mov ecx, 0x15
mov edx, 1
call fcn.14004bac0
test rax, rax
je 0x14001b7a4
mov r13, rax
xor r12b, 0x61
xor esi, 0x9cd43138
movabs rax, 0x859540fd2182b095
xor rbx, rax
movabs rax, 0x60ca0633d74a078e
xor r14, rax
mov qword [r13], r14
mov qword [r13 + 8], rbx
mov dword [r13 + 0x10], esi
mov byte [r13 + 0x14], r12b
mov rsi, qword [rsp + 0xb0]
cmp rsi, qword [rsp + 0xa0]
jne 0x14001b3f0
lea rcx, [rsp + 0xa0]
call fcn.140037390
jmp 0x14001b3f0
cmp qword [rsp + 0xd8], 0
mov rsi, qword [rsp + 0xf8]
lea r14, [0x1400f2c58]
mov r15, qword [rsp + 0xf0]
je 0x14001b380
test r12, r12
je 0x14001b6b9
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
not eax
mov rdi, r15
jmp 0x14001b5f1
add r13, 0xffffffffffffffe8
mov rcx, r13
call fcn.140051c60
nop dword [rax + rax]
dec r12
lea eax, [rbx - 1]
and eax, ebx
test r12, r12
je 0x14001b6b9
test ax, ax
jne 0x14001b61d
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rbp]
pmovmskb eax, xmm0
add rdi, 0xfffffffffffffc80
add rbp, 0x10
cmp eax, 0xffff
je 0x14001b600
not eax
mov ebx, eax
tzcnt eax, ebx
neg rax
imul rax, rax, 0x38
lea r13, [rdi + rax]
mov rdx, qword [rdi + rax - 0x38]
test rdx, rdx
je 0x14001b647
mov rcx, qword [r13 - 0x30]
mov r8d, 1
call fcn.14004bad0
movzx eax, byte [r13 - 0x20]
cmp rax, 0xf
ja case.0x14001b65d.15
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
mov rdx, qword [r13 - 0x18]
test rdx, rdx
je case.0x14001b65d.0
mov rcx, qword [r13 - 0x10]
mov r8d, 1
call fcn.14004bad0
jmp case.0x14001b65d.0
lea rcx, [r13 - 0x18]
call fcn.140041820
mov rdx, qword [r13 - 0x18]
test rdx, rdx
je case.0x14001b65d.0
mov rcx, qword [r13 - 0x10]
shl rdx, 5
mov r8d, 8
call fcn.14004bad0
jmp case.0x14001b65d.0
test rcx, rcx
je 0x14001b380
mov r8, qword [rsp + 0xd8]
lea rax, [r8 + 1]
mov ecx, 0x38
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add r8, rax
add r8, 0x11
je 0x14001b380
mov rdx, r8
sub r15, rax
mov r8d, 0x10
mov rcx, r15
call fcn.14004bad0
jmp 0x14001b380
neg rax
lea r14, [rdi + r13]
add r14, 0x20
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
mov rbx, rdx
shr rbx, 4
jmp 0x14001b72d
add r14, 0x18
dec rbx
je 0x14001afb8
mov rdx, qword [r14 - 8]
test rdx, rdx
je 0x14001b720
mov rcx, qword [r14]
mov r8d, 1
call fcn.14004bad0
jmp 0x14001b720
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x88]
mov r9d, 8
mov rdx, r14
mov r8, rsi
call fcn.1400eb640
mov r14, qword [rsp + 0x98]
jmp 0x140019ff5
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x88]
mov r9d, 8
mov rdx, r14
mov r8, rdi
call fcn.1400eb640
mov r14, qword [rsp + 0x98]
jmp 0x14001b309
mov ecx, 1
mov edx, 0x15
call fcn.14006d9c0
ud2
mov ecx, 1
mov edx, 0x1f
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x20
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x18
call fcn.14006d9c0
mov ecx, 8
mov edx, 0x150
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x21
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x23
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x16
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x22
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x17
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x1d
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x10
call fcn.14006d9c0
mov ecx, 1
mov edx, 0x11
call fcn.14006d9c0
mov ecx, 1
mov edx, 0xa
call fcn.14006d9c0
int3