Function at 0x18000bd70
Capabilities:
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
mov r12, rcx
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 8
mov qword [rsp + 0xa8], 0
lea rcx, [rsp + 0x28]
call fcn.180038370
cmp byte [rsp + 0x28], 0x12
jne 0x18000d919
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 8
mov qword [rsp + 0x38], 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 0x18000be2a
cmp r9d, ebx
jne 0x18000be2a
cmp r8d, eax
jne 0x18000be2a
cmp r11d, esi
jne 0x18000be2a
cmp ebx, 0x4d566572
je 0x18000bef8
jmp 0x18000bfba
lea rax, [0x180088593]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
movabs rdx, 0x549dc1c729e67e83
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x70]
call fcn.18000de20
mov r14, qword [rax]
mov r15, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x11
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d9c0
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 + 0x38]
cmp r14, qword [rsp + 0x28]
jne 0x18000bec5
lea rcx, [rsp + 0x28]
call fcn.180030210
mov rax, qword [rsp + 0x30]
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 + 0x38], r14
cmp ebx, 0x4d566572
jne 0x18000bfba
cmp edi, 0x65726177
jne 0x18000bfba
lea rax, [0x18008cf8a]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
movabs rdx, 0xe50a50f41c9f5a6e
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x70]
call fcn.18000dbc0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x10
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d9b1
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 + 0x38]
cmp rdi, qword [rsp + 0x28]
jne 0x18000bf93
lea rcx, [rsp + 0x28]
call fcn.180030210
mov rax, qword [rsp + 0x30]
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 + 0x38], rdi
mov eax, 1
xor ecx, ecx
mov r8, rbx
cpuid
xchg rbx, r8
mov r15, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
lea rax, [rsi*8]
lea rbx, [rax + rax*2]
mov rax, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa8]
sub rax, r14
cmp rax, rsi
jb 0x18000d8ac
mov qword [rsp + 0x110], r12
lea rcx, [r14 + r14*2]
shl rcx, 3
add rcx, qword [rsp + 0xa0]
mov rdx, rdi
mov r8, rbx
call fcn.18008b440
add rsi, r14
mov qword [rsp + 0xa8], rsi
test r15, r15
je 0x18000c049
shl r15, 3
lea rdx, [r15 + r15*2]
mov r8d, 8
mov rcx, rdi
call fcn.1800326f0
rdtsc
mov qword [rsp + 0x68], rax
mov eax, 1
cpuid
rdtsc
mov qword [rsp + 0x60], rax
rdtsc
mov r11, rax
mov eax, 1
cpuid
rdtsc
mov rdi, rax
rdtsc
mov qword [rsp + 0x58], 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 + 0x68]
add rdi, qword [rsp + 0x60]
mov eax, 1
cpuid
add r10, qword [rsp + 0x58]
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 0x18000c202
lea rax, [0x1800896da]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
movabs rax, 0xcf83c429fb3e9782
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000df70
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x1800b1b10]
mov ecx, 0xa
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d9cf
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 + 0xa8]
cmp rdi, qword [rsp + 0x98]
jne 0x18000c1d5
lea rcx, [rsp + 0x98]
call fcn.180030210
mov rax, qword [rsp + 0xa0]
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 + 0xa8], rdi
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 8
mov qword [rsp + 0xe0], 0
lea rbp, [rsp + 0x28]
mov rcx, rbp
call fcn.180038450
cmp byte [rsp + 0x28], 0x12
jne 0x18000d919
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xf0], rax
movzx eax, byte [0x1800b1b10]
mov ecx, 0x150
mov edx, 8
call fcn.1800326e0
mov qword [rsp + 0x100], rax
test rax, rax
je 0x18000d948
lea rax, [0x18008faf6]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0xa51bb760497e0108
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e130
mov rsi, qword [rax]
mov rdi, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov r15, qword [rax + 0x18]
movzx ebx, byte [rax + 0x20]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x21
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d957
mov r13, rax
xor bl, 0x12
movabs rax, 0x483a6320efd85595
xor rsi, rax
movabs rax, 0x3677a6288f9240ef
xor rdi, rax
movabs rax, 0xe9cc579194ea2951
xor r14, rax
movabs rax, 0x55ea94e904f687ce
xor r15, rax
mov qword [r13], rsi
mov qword [r13 + 8], rdi
mov qword [r13 + 0x10], r14
mov qword [r13 + 0x18], r15
mov byte [r13 + 0x20], bl
lea rax, [0x180084c7f]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0xb40a6562ff073d5b
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e1a0
mov rdi, qword [rax]
mov rbx, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x18
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d939
movabs rcx, 0xef6e4ed853dc9560
xor rsi, rcx
movabs rcx, 0xe085119c0ffa14ab
xor rdi, rcx
movabs rcx, 0x2ded5a351460a827
xor rbx, rcx
mov qword [rax], rdi
mov qword [rax + 8], rbx
mov qword [rsp + 0x68], rax
mov qword [rax + 0x10], rsi
lea rax, [0x180085eaa]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x7bbf3b48de915bd0
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000dd50
mov r12, qword [rax]
mov r15, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov ebx, dword [rax + 0x18]
movzx edi, word [rax + 0x1c]
movzx esi, byte [rax + 0x1e]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x1f
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d91b
shl esi, 0x10
or edi, esi
mov r8d, edi
shr r8d, 0x10
xor r8b, 0x74
mov ecx, edi
shr ecx, 8
xor cl, 0xf2
xor dil, 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], dil
mov byte [rax + 0x1d], cl
mov qword [rsp + 0x60], rax
mov byte [rax + 0x1e], r8b
lea rax, [0x18008c238]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x44e000fbffc0f6d3
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000ddf0
mov r12, qword [rax]
mov r15, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov rbx, qword [rax + 0x18]
movzx edi, word [rax + 0x20]
movzx esi, byte [rax + 0x22]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x23
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d966
shl esi, 0x10
or edi, esi
mov r8d, edi
shr r8d, 0x10
xor r8b, 0x26
mov ecx, edi
shr ecx, 8
xor cl, 0x64
xor dil, 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], dil
mov byte [rax + 0x21], cl
mov qword [rsp + 0x58], rax
mov byte [rax + 0x22], r8b
lea rax, [0x180087384]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0xaa1651ea92d58245
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000dbe0
mov rdi, qword [rax]
mov rbx, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x18
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d939
mov r15, rax
mov qword [rsp + 0xc8], r13
movabs rax, 0xba54ce2e1fdf2eef
xor rsi, rax
movabs rax, 0x7729691337b61d7f
xor rdi, rax
movabs rax, 0x1917308c1b6fa6d6
xor rbx, rax
mov qword [r15], rdi
mov qword [r15 + 8], rbx
mov qword [r15 + 0x10], rsi
lea rax, [0x18008a581]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0xfca44bd511df66ea
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e090
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov edi, dword [rax + 0x10]
movzx esi, word [rax + 0x14]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x16
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d975
mov edx, esi
shr edx, 8
xor dl, 0x8c
xor sil, 0xa8
xor edi, 0xaedb1f36
movabs rcx, 0xc1924569d0ac623c
xor rbx, rcx
movabs rcx, 0xd9263a87ed17997b
xor r14, rcx
mov qword [rax], r14
mov qword [rax + 8], rbx
mov dword [rax + 0x10], edi
mov byte [rax + 0x14], sil
mov qword [rsp + 0xe8], rax
mov byte [rax + 0x15], dl
lea rax, [0x180082da4]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x8f90bd257b69a2c4
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e0d0
mov r13, qword [rax]
mov r12, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov ebx, dword [rax + 0x18]
movzx edi, word [rax + 0x1c]
movzx esi, byte [rax + 0x1e]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x1f
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d91b
shl esi, 0x10
or edi, esi
mov r8d, edi
shr r8d, 0x10
xor r8b, 0xa
mov ecx, edi
shr ecx, 8
xor cl, 0x84
xor dil, 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], dil
mov byte [rax + 0x1d], cl
mov qword [rsp + 0xc0], rax
mov byte [rax + 0x1e], r8b
lea rax, [0x1800878eb]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x608b910164854164
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000dd20
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x20
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d92a
mov qword [rsp + 0xb8], r15
movabs rcx, 0x20ba00986e244082
xor rsi, rcx
movabs rcx, 0xe1abb3255a1e0e6c
xor rdi, rcx
movabs rcx, 0xc3ecdfe4e39db939
xor rbx, rcx
movabs rcx, 0x2d3db7f88fb53cec
xor r14, rcx
mov qword [rax], r14
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rsp + 0xb0], rax
mov qword [rax + 0x18], rsi
lea rax, [0x180090bfe]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x23839aedb6e1598
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e030
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x20
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d92a
movabs rcx, 0xa3363e7d836c32e
xor rsi, rcx
movabs rcx, 0xb1e1dba40f90d5b7
xor rdi, rcx
movabs rcx, 0x748aafec75fe5d47
xor rbx, rcx
movabs rcx, 0x5adeea6e19df6510
xor r14, rcx
mov qword [rax], r14
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rsp + 0x108], rax
mov qword [rax + 0x18], rsi
lea rax, [0x180090d7f]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0xe38743c57c8ed856
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000ded0
mov rsi, qword [rax]
mov r13, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov ebx, dword [rax + 0x18]
movzx edi, word [rax + 0x1c]
mov r15, rbp
movzx ebp, byte [rax + 0x1e]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x1f
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d91b
mov r12, rax
shl ebp, 0x10
or edi, ebp
mov eax, edi
shr eax, 0x10
xor al, 0xd7
mov ecx, edi
shr ecx, 8
xor cl, 0x8d
xor dil, 0x69
xor ebx, 0x810d51d2
movabs rdx, 0x3819e1863aa81546
xor r14, rdx
movabs rdx, 0x605feb185f01f819
xor r13, rdx
movabs rdx, 0x9fd144982e66aa0b
xor rsi, rdx
mov qword [r12], rsi
mov qword [r12 + 8], r13
mov qword [r12 + 0x10], r14
mov dword [r12 + 0x18], ebx
mov byte [r12 + 0x1c], dil
mov byte [r12 + 0x1d], cl
mov byte [r12 + 0x1e], al
lea rax, [0x18008d022]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0xbd4f5e8ebcdd4b3c
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e000
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x20
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d92a
mov r13, r15
movabs rcx, 0xe7061ebef95ff2fe
xor rsi, rcx
movabs rcx, 0xbd2dd6c4a5282e33
xor rdi, rcx
movabs rcx, 0x5d1d7d0d2df49725
xor rbx, rcx
movabs rcx, 0x9d277ef9620926b6
xor r14, rcx
mov qword [rax], r14
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rsp + 0xf8], rax
mov qword [rax + 0x18], rsi
lea rax, [0x18009045b]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x85082892525a87f9
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000dc30
mov rdi, qword [rax]
mov r14, qword [rax + 8]
mov r15, qword [rax + 0x10]
mov rbx, r13
mov rbp, qword [rax + 0x18]
movzx esi, word [rax + 0x20]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x22
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d984
mov r13, rax
mov eax, esi
shr eax, 8
xor al, 0xec
xor sil, 0xb9
movabs rcx, 0x95ed5a56abe09424
xor rdi, rcx
movabs rcx, 0xd293d854ea5725a5
xor r14, rcx
movabs rcx, 0xa030bc9d9ab89f98
xor r15, rcx
movabs rcx, 0xf4548d6543cbaecc
xor rbp, rcx
mov qword [r13], rdi
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, [0x1800878e8]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x299bd4d6d3cb44fc
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000dba0
mov r15, qword [rax]
mov rbp, qword [rax + 8]
mov edi, dword [rax + 0x10]
movzx esi, word [rax + 0x14]
movzx ebx, byte [rax + 0x16]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x17
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d993
mov r14, rax
shl ebx, 0x10
or esi, ebx
mov eax, esi
shr eax, 0x10
xor al, 0x97
mov ecx, esi
shr ecx, 8
xor cl, 0xae
xor sil, 0x4d
xor edi, 0x5472b2fb
movabs rdx, 0x2d13e98af53e6c9c
xor rbp, rdx
movabs rdx, 0x77e0d97bf289b8d2
xor r15, rdx
mov qword [r14], r15
mov qword [r14 + 8], rbp
mov dword [r14 + 0x10], edi
mov byte [r14 + 0x14], sil
mov byte [r14 + 0x15], cl
mov byte [r14 + 0x16], al
lea rax, [0x18008c883]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
movabs rax, 0x489fe1b4f35ff874
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000db10
mov rbx, qword [rax]
mov rbp, qword [rax + 8]
mov r15, qword [rax + 0x10]
mov edi, dword [rax + 0x18]
movzx esi, byte [rax + 0x1c]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x1d
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d9a2
movabs rcx, 0x40ec48eae00f94e3
xor r15, rcx
movabs rcx, 0x68a1aa74dcdde4d7
xor rbp, rcx
movabs rcx, 0xd7b1b2c34988ecad
xor rbx, rcx
mov qword [rax], rbx
mov qword [rax + 8], rbp
mov qword [rax + 0x10], r15
xor edi, 0xf7dcee52
mov dword [rax + 0x18], edi
xor sil, 0x79
mov byte [rax + 0x1c], sil
movabs r8, 0x7ffffffffffffff1
mov rcx, qword [rsp + 0x100]
mov qword [rcx], 0x21
mov rdx, qword [rsp + 0xc8]
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], 0x21
mov qword [rcx + 0x18], 0x18
mov rdx, qword [rsp + 0x68]
mov qword [rcx + 0x20], rdx
mov qword [rcx + 0x28], 0x18
mov qword [rcx + 0x30], 0x1f
mov rdx, qword [rsp + 0x60]
mov qword [rcx + 0x38], rdx
mov qword [rcx + 0x40], 0x1f
mov qword [rcx + 0x48], 0x23
mov rdx, qword [rsp + 0x58]
mov qword [rcx + 0x50], rdx
mov qword [rcx + 0x58], 0x23
mov qword [rcx + 0x60], 0x18
mov rdx, qword [rsp + 0xb8]
mov qword [rcx + 0x68], rdx
mov qword [rcx + 0x70], 0x18
mov qword [rcx + 0x78], 0x16
mov rdx, qword [rsp + 0xe8]
mov qword [rcx + 0x80], rdx
mov qword [rcx + 0x88], 0x16
mov qword [rcx + 0x90], 0x1f
mov rdx, qword [rsp + 0xc0]
mov qword [rcx + 0x98], rdx
mov qword [rcx + 0xa0], 0x1f
mov qword [rcx + 0xa8], 0x20
mov rdx, qword [rsp + 0xb0]
mov qword [rcx + 0xb0], rdx
mov qword [rcx + 0xb8], 0x20
mov qword [rcx + 0xc0], 0x20
mov rdx, qword [rsp + 0x108]
mov qword [rcx + 0xc8], rdx
mov qword [rcx + 0xd0], 0x20
mov qword [rcx + 0xd8], 0x1f
mov qword [rcx + 0xe0], r12
mov qword [rcx + 0xe8], 0x1f
mov qword [rcx + 0xf0], 0x20
mov rdx, qword [rsp + 0xf8]
mov qword [rcx + 0xf8], rdx
mov qword [rcx + 0x100], 0x20
mov qword [rcx + 0x108], 0x22
mov qword [rcx + 0x110], r13
mov qword [rcx + 0x118], 0x22
mov qword [rcx + 0x120], 0x17
mov qword [rcx + 0x128], r14
mov qword [rcx + 0x130], 0x17
mov qword [rcx + 0x138], 0x1d
mov qword [rcx + 0x140], rax
mov qword [rcx + 0x148], 0x1d
mov dword [rsp + 0x94], 0
lea rax, [rcx + 0x20]
mov ecx, 0x138
xor edx, edx
add r8, 0xf
mov qword [rsp + 0xf8], r8
lea rbx, [0x180091ef0]
lea rdi, [0x180091f30]
jmp 0x18000ce1a
mov rcx, qword [rsp + 0xc0]
add rcx, 0xffffffffffffffe8
mov rax, qword [rsp + 0xb0]
add rax, 0x18
mov rdx, qword [rsp + 0xb8]
cmp rdx, 0xe
je 0x18000d1f7
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0xb0], rax
lea rax, [rdx + rdx*2]
inc rdx
mov qword [rsp + 0xb8], rdx
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rdx + rax*8]
cmp rcx, qword [rsp + 0xf8]
je 0x18000d1e0
lea rax, [rdx + rax*8]
mov qword [rsp + 0x118], rcx
movdqu xmm0, xmmword [rax + 8]
lea rax, [rsp + 0x120]
movdqu xmmword [rax], xmm0
lea rsi, [rsp + 0x70]
mov rcx, rsi
lea rdx, [rsp + 0x118]
call fcn.18006ee20
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0xf0]
mov r8, rsi
call fcn.1800290d0
cmp byte [rsp + 0x28], 0x12
jne 0x18000d919
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x108], rax
mov r14, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xc8], rax
test rax, rax
je 0x18000d0e0
inc dword [rsp + 0x94]
xor esi, esi
mov qword [rsp + 0xe8], r14
jmp 0x18000cef1
inc rsi
cmp rsi, qword [rsp + 0xc8]
je 0x18000d194
lea r12, [rsi + rsi*2]
shl r12, 4
mov rax, qword [r14 + r12 + 8]
test rax, rax
je 0x18000cee0
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
add r12, r14
mov rbp, qword [r12 + 0x18]
test rbp, rbp
je 0x18000d090
mov r13, qword [r12]
movdqa xmm0, xmmword [r13]
pmovmskb eax, xmm0
not eax
lea r14, [r13 + 0x10]
mov qword [rsp + 0x58], r12
jmp 0x18000cf61
add r15, 0xffffffffffffffe8
mov rcx, r15
call fcn.180037da0
nop word cs:[rax + rax]
dec rbp
lea eax, [rsi - 1]
and eax, esi
test rbp, rbp
je 0x18000d090
test ax, ax
jne 0x18000cf8d
nop word cs:[rax + rax]
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
add r13, 0xfffffffffffffc80
add r14, 0x10
cmp eax, 0xffff
je 0x18000cf70
not eax
mov esi, eax
tzcnt eax, esi
neg rax
imul rax, rax, 0x38
lea r15, [rax + r13]
mov rdx, qword [r13 + rax - 0x38]
test rdx, rdx
je 0x18000cfb7
mov rcx, qword [r15 - 0x30]
mov r8d, 1
call fcn.1800326f0
movzx eax, byte [r15 - 0x20]
cmp rax, 0xf
ja case.0x18000cfcd.15
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov rdx, qword [r15 - 0x18]
test rdx, rdx
je case.0x18000cfcd.0
mov rcx, qword [r15 - 0x10]
mov r8d, 1
call fcn.1800326f0
jmp case.0x18000cfcd.0
mov rbx, qword [r15 - 8]
test rbx, rbx
je 0x18000d053
mov r12, qword [r15 - 0x10]
add r12, 8
jmp 0x18000d019
mov rcx, r12
call fcn.180037da0
nop dword [rax + rax]
add r12, 0x20
dec rbx
je 0x18000d053
movzx eax, byte [r12 - 8]
cmp rax, 0xf
ja case.0x18000d02c.15
movsxd rax, dword [rdi + rax*4]
add rax, rdi
jmp rax
mov rdx, qword [r12]
test rdx, rdx
je case.0x18000d02c.0
mov rcx, qword [r12 + 8]
mov r8d, 1
call fcn.1800326f0
jmp case.0x18000d02c.0
mov rcx, r12
call fcn.1800275f0
jmp case.0x18000d02c.0
mov rdx, qword [r15 - 0x18]
test rdx, rdx
lea rbx, [0x180091ef0]
mov r12, qword [rsp + 0x58]
je case.0x18000cfcd.0
mov rcx, qword [r15 - 0x10]
shl rdx, 5
mov r8d, 8
call fcn.1800326f0
jmp case.0x18000cfcd.0
mov r9, qword [rsp + 0x60]
lea rax, [r9 + 1]
mov ecx, 0x38
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add r9, rax
add r9, 0x11
mov r14, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0x68]
je 0x18000cee0
mov rcx, qword [r12]
sub rcx, rax
mov r8d, 0x10
mov rdx, r9
call fcn.1800326f0
jmp 0x18000cee0
lea rax, [rsp + 0x94]
mov qword [rsp + 0x70], rax
lea rax, [0x180070de0]
mov qword [rsp + 0x78], rax
lea rax, [0x180091c58]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x48], 0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], 1
lea rcx, [rsp + 0x130]
lea rdx, [rsp + 0x28]
call fcn.18006e540
mov rsi, qword [rsp + 0xe0]
cmp rsi, qword [rsp + 0xd0]
jne 0x18000d15b
lea rcx, [rsp + 0xd0]
call fcn.180030210
mov rax, qword [rsp + 0xd8]
lea rcx, [rsi + rsi*2]
mov rdx, qword [rsp + 0x140]
mov qword [rax + rcx*8 + 0x10], rdx
movdqu xmm0, xmmword [rsp + 0x130]
movdqu xmmword [rax + rcx*8], xmm0
inc rsi
mov qword [rsp + 0xe0], rsi
inc dword [rsp + 0x94]
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x18000d1b7
shl rax, 4
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, r14
call fcn.1800326f0
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x18000cdf0
mov rcx, qword [rsp + 0x120]
mov r8d, 1
call fcn.1800326f0
jmp 0x18000cdf0
cmp qword [rsp + 0xb8], 0xe
mov rax, qword [rsp + 0xc0]
jne 0x18000d855
mov edx, 0x150
mov r8d, 8
mov rcx, qword [rsp + 0x100]
call fcn.1800326f0
lea rax, [0x1800892ae]
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
movabs rax, 0x9017de956a90e99e
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000db40
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 + 0x70], rcx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x88], r9d
mov byte [rsp + 0x8c], al
mov byte [rsp + 0x8d], r11b
mov byte [rsp + 0x8e], r10b
lea rdi, [rsp + 0x28]
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0x70]
mov r9d, 0x1f
mov rcx, rdi
call fcn.180028e10
cmp byte [rsp + 0x28], 0x12
jne 0x18000d919
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
cmp r13, 2
jae 0x18000d3c0
lea rax, [0x180084aed]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x564b5e616623c4b3
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000dc00
mov r14, qword [rax]
mov rbx, qword [rax + 8]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x10
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d9b1
mov rsi, rax
movabs rax, 0x94524e2dcb9a1bff
xor rbx, rax
movabs rax, 0x767156433116282a
xor r14, rax
mov qword [rsi], r14
mov qword [rsi + 8], rbx
mov rbx, qword [rsp + 0xe0]
cmp rbx, qword [rsp + 0xd0]
jne 0x18000d393
lea rcx, [rsp + 0xd0]
call fcn.180030210
mov rax, qword [rsp + 0xd8]
lea rcx, [rbx + rbx*2]
mov qword [rax + rcx*8], 0x10
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x10
inc rbx
mov qword [rsp + 0xe0], rbx
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xc0], r12
mov qword [rsp + 0xe8], r15
lea rax, [0x18008e2ce]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x40526068c3b4efa0
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e1c0
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 + 0x28], rcx
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r10
mov dword [rsp + 0x50], r11d
mov byte [rsp + 0x54], al
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0x28]
mov r9d, 0x2d
call fcn.180028e10
cmp byte [rsp + 0x70], 0x12
jne 0x18000d919
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xb0], rax
mov rdi, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, rdi
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc8], rdi
test rax, rax
je 0x18000d6d8
mov rax, qword [rsp + 0xc8]
jmp 0x18000d50a
lea rcx, [rsp + 0x28]
call fcn.180020b70
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
je 0x18000d711
lea rdi, [rax + 0x30]
mov r13, qword [rax]
test r13, r13
je 0x18000d6d8
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x28], r13
mov rcx, qword [rax + 0x28]
lea rdx, [rsp + 0x30]
mov qword [rdx + 0x20], rcx
movdqu xmm0, xmmword [rax + 8]
movups xmm1, xmmword [rax + 0x18]
movups xmmword [rdx + 0x10], xmm1
movdqu xmmword [rdx], xmm0
mov r14, qword [rsp + 0x40]
test r14, r14
je 0x18000d4f0
lea rdi, [r13 + 0x10]
movdqa xmm0, xmmword [r13]
pmovmskb eax, xmm0
not eax
jmp 0x18000d59d
mov rax, qword [rsp + 0xd8]
lea rcx, [rbx + rbx*2]
mov qword [rax + rcx*8], 0x15
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x15
inc rbx
mov qword [rsp + 0xe0], rbx
mov r14, qword [rsp + 0x68]
mov eax, ebp
dec r14
je 0x18000d4f0
test ax, ax
je 0x18000d5b0
lea ebp, [rax - 1]
and ebp, eax
jmp 0x18000d5d7
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
add r13, 0xfffffffffffffc80
add rdi, 0x10
cmp eax, 0xffff
je 0x18000d5b0
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov ebp, eax
and ebp, ecx
tzcnt eax, eax
neg rax
imul rsi, rax, 0x38
add rsi, r13
add rsi, 0xffffffffffffffe0
je 0x18000d4f0
mov rcx, rsi
lea rdx, [0x180091c10]
call fcn.18000bbd0
test al, al
jne 0x18000d619
mov rcx, rsi
lea rdx, [0x180091c30]
call fcn.18000bbd0
test al, al
je 0x18000d592
mov qword [rsp + 0x68], r14
lea rax, [0x180089890]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
movabs rdx, 0xfe06c9481ba4f63a
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x70]
call fcn.18000da80
mov r12, qword [rax]
mov r14, qword [rax + 8]
mov ebx, dword [rax + 0x10]
movzx r15d, byte [rax + 0x14]
movzx eax, byte [0x1800b1b10]
mov ecx, 0x15
mov edx, 1
call fcn.1800326e0
test rax, rax
je 0x18000d90a
mov rsi, rax
xor r15b, 0x61
xor ebx, 0x9cd43138
movabs rax, 0x859540fd2182b095
xor r14, rax
movabs rax, 0x60ca0633d74a078e
xor r12, rax
mov qword [rsi], r12
mov qword [rsi + 8], r14
mov dword [rsi + 0x10], ebx
mov byte [rsi + 0x14], r15b
mov rbx, qword [rsp + 0xe0]
cmp rbx, qword [rsp + 0xd0]
jne 0x18000d560
lea rcx, [rsp + 0xd0]
call fcn.180030210
jmp 0x18000d560
mov r8, qword [rsp + 0x58]
mov rax, r8
sub rax, rdi
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
cmp r8, rdi
je 0x18000d711
mov rsi, rdx
shr rsi, 5
nop dword [rax]
mov rcx, rdi
call fcn.180020b70
add rdi, 0x30
dec rsi
jne 0x18000d700
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x18000d739
shl rax, 4
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, qword [rsp + 0xc8]
call fcn.1800326f0
mov r12, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xe0]
mov r13, qword [rsp + 0xb8]
test r13, r13
mov r14, qword [rsp + 0xe8]
mov r15, qword [rsp + 0xc0]
je 0x18000d791
mov rsi, r14
nop word cs:[rax + rax]
mov rcx, rsi
call fcn.180020b70
add rsi, 0x30
dec r13
jne 0x18000d780
test r15, r15
je 0x18000d7ac
shl r15, 4
lea rdx, [r15 + r15*2]
mov r8d, 8
mov rcx, r14
call fcn.1800326f0
lea rcx, [rsp + 0xf0]
call fcn.180037da0
lea rax, [rbx*8]
lea rsi, [rax + rax*2]
mov rax, qword [rsp + 0x98]
mov r14, qword [rsp + 0xa8]
sub rax, r14
cmp rax, rbx
jb 0x18000d8db
lea rcx, [r14 + r14*2]
shl rcx, 3
add rcx, qword [rsp + 0xa0]
mov rdx, rdi
mov r8, rsi
call fcn.18008b440
add rbx, r14
mov qword [rsp + 0xa8], rbx
test r12, r12
je 0x18000d822
shl r12, 3
lea rdx, [r12 + r12*2]
mov r8d, 8
mov rcx, rdi
call fcn.1800326f0
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x110]
mov qword [rax + 0x10], rcx
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rax], xmm0
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
mov rax, qword [rsp + 0xb0]
mov rbx, rdx
shr rbx, 4
jmp 0x18000d88d
add rax, 0x18
dec rbx
je 0x18000d1f7
mov rdx, qword [rax - 8]
test rdx, rdx
je 0x18000d880
mov rcx, qword [rax]
mov r8d, 1
mov rsi, rax
call fcn.1800326f0
mov rax, rsi
jmp 0x18000d880
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x98]
mov r9d, 8
mov rdx, r14
mov r8, rsi
call fcn.18008d0f0
mov r14, qword [rsp + 0xa8]
jmp 0x18000c000
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x98]
mov r9d, 8
mov rdx, r14
mov r8, rbx
call fcn.18008d0f0
mov r14, qword [rsp + 0xa8]
jmp 0x18000d7e1
mov ecx, 1
mov edx, 0x15
call fcn.18003e2b0
ud2
mov ecx, 1
mov edx, 0x1f
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x20
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x18
call fcn.18003e2b0
mov ecx, 8
mov edx, 0x150
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x21
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x23
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x16
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x22
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x17
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x1d
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x10
call fcn.18003e2b0
mov ecx, 1
mov edx, 0x11
call fcn.18003e2b0
mov ecx, 1
mov edx, 0xa
call fcn.18003e2b0
int3