Function at 0x1800308f0
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.1801a6ad0
cmp byte [rsp + 0x30], 0x12
jne 0x180032343
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 0x1800309af
cmp r9d, ebx
jne 0x1800309af
cmp r8d, eax
jne 0x1800309af
cmp r11d, esi
jne 0x1800309af
cmp ebx, 0x4d566572
je 0x180030a7d
jmp 0x180030b3f
lea rax, [0x1801f820b]
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.18000ba50
mov r14, qword [rax]
mov r15, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x180281288]
mov ecx, 0x11
mov edx, 1
call fcn.180057670
test rax, rax
je 0x1800323ea
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 0x180030a4a
lea rcx, [rsp + 0x30]
call fcn.18003d580
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 0x180030b3f
cmp edi, 0x65726177
jne 0x180030b3f
lea rax, [0x1801fcc02]
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.18000e6b0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x180281288]
mov ecx, 0x10
mov edx, 1
call fcn.180057670
test rax, rax
je 0x1800323db
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 0x180030b18
lea rcx, [rsp + 0x30]
call fcn.18003d580
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 0x1800322d6
lea rcx, [r14 + r14*2]
shl rcx, 3
add rcx, qword [rsp + 0x90]
mov rdx, rdi
mov r8, rbx
call fcn.1801f0cd0
add rsi, r14
mov qword [rsp + 0x98], rsi
test r15, r15
je 0x180030bc6
shl r15, 3
lea rdx, [r15 + r15*2]
mov r8d, 8
mov rcx, rdi
call fcn.180057680
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, 0x2719
jbe 0x180030d94
lea rax, [0x1801f9352]
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.18000bbd0
mov rbx, qword [rax]
movzx edi, word [rax + 8]
movzx eax, byte [0x180281288]
mov ecx, 0xa
mov edx, 1
call fcn.180057670
test rax, rax
je 0x1800323f9
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 0x180030d67
lea rcx, [rsp + 0x88]
call fcn.18003d580
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.1801a6bb0
cmp byte [rsp + 0x30], 0x12
jne 0x180032343
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0xe0], rax
movzx eax, byte [0x180281288]
mov ecx, 0x150
mov edx, 8
call fcn.180057670
test rax, rax
je 0x180032372
mov rdi, rax
lea rax, [0x1801ff76e]
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.18000de80
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 [0x180281288]
mov ecx, 0x21
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032381
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, [0x1801f48f7]
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.18000bcf0
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x180281288]
mov ecx, 0x18
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032363
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, [0x1801f5b22]
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.18000e3b0
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 [0x180281288]
mov ecx, 0x1f
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032345
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, [0x1801fbeb0]
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.18000d250
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 [0x180281288]
mov ecx, 0x23
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032390
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, [0x1801f6ffc]
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.18000c7c0
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x180281288]
mov ecx, 0x18
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032363
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, [0x1801fa1f9]
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.18000bd70
mov r15, qword [rax]
mov r14, qword [rax + 8]
mov ebx, dword [rax + 0x10]
movzx esi, word [rax + 0x14]
movzx eax, byte [0x180281288]
mov ecx, 0x16
mov edx, 1
call fcn.180057670
test rax, rax
je 0x18003239f
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, [0x1801f2a1c]
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.18000caa0
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 [0x180281288]
mov ecx, 0x1f
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032345
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, [0x1801f7563]
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.18000d660
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 [0x180281288]
mov ecx, 0x20
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032354
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, [0x180200876]
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.18000e5c0
mov r15, qword [rax]
mov r14, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x180281288]
mov ecx, 0x20
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032354
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, [0x1802009f7]
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.18000df80
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 [0x180281288]
mov ecx, 0x1f
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032345
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, [0x1801fcc9a]
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.18000e5f0
mov r15, qword [rax]
mov r14, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x180281288]
mov ecx, 0x20
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032354
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, [0x1802000d3]
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.18000bb20
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 [0x180281288]
mov ecx, 0x22
mov edx, 1
call fcn.180057670
test rax, rax
je 0x1800323ae
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, [0x1801f7560]
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.18000d950
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 [0x180281288]
mov ecx, 0x17
mov edx, 1
call fcn.180057670
test rax, rax
je 0x1800323bd
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, [0x1801fc4fb]
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.18000c870
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 [0x180281288]
mov ecx, 0x1d
mov edx, 1
call fcn.180057670
test rax, rax
je 0x1800323cc
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 0x1800319a1
add r13, 0x18
cmp r13, 0x150
je 0x180031b48
mov rax, qword [rdi + r13]
cmp rax, rbp
je 0x180031b39
mov qword [rsp + 0x100], rax
movups xmm0, xmmword [rdi + r13 + 8]
movups xmmword [r14], xmm0
mov rcx, rbx
mov rdx, r15
call fcn.1801d1ce0
mov rcx, rsi
lea rdx, [rsp + 0xe0]
mov r8, rbx
call fcn.180032990
cmp byte [rsp + 0x30], 0x12
jne 0x180032343
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x70], rax
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x60], xmm0
test rax, rax
jne 0x180031adf
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, [0x1801d3ff0]
mov qword [rsp + 0x148], rax
lea rax, [0x1802018d0]
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.1801d2010
mov r14, qword [rsp + 0xb0]
cmp r14, qword [rsp + 0xa0]
jne 0x180031a99
lea rcx, [rsp + 0xa0]
call fcn.18003d580
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.180047530
mov rax, qword [rsp + 0x60]
test rax, rax
je 0x180031b10
mov rcx, qword [rsp + 0x68]
shl rax, 4
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.180057680
mov rdx, qword [rsp + 0x100]
test rdx, rdx
je 0x180031990
mov rcx, qword [rsp + 0x108]
mov r8d, 1
call fcn.180057680
jmp 0x180031990
mov rax, r13
sub rax, 0x138
jne 0x18003228b
mov edx, 0x150
mov r8d, 8
mov rcx, rdi
call fcn.180057680
lea rax, [0x1801f8f26]
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.18000c5e0
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.1800326d0
cmp byte [rsp + 0x30], 0x12
jne 0x180032343
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x110], rax
movdqu xmm0, xmmword [rsp + 0x38]
movdqa xmmword [rsp + 0x100], xmm0
cmp rax, 2
jae 0x180031d05
lea rax, [0x1801f4765]
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.18000e1b0
mov r14, qword [rax]
mov rbx, qword [rax + 8]
movzx eax, byte [0x180281288]
mov ecx, 0x10
mov edx, 1
call fcn.180057670
test rax, rax
je 0x1800323db
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 0x180031cd8
lea rcx, [rsp + 0xa0]
call fcn.18003d580
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, [0x1801fdf46]
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.18000cff0
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.1800326d0
cmp byte [rsp + 0x60], 0x12
jne 0x180032343
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 0x180031f1e
lea rcx, [rsp + 0x30]
call fcn.18003b6c0
mov r15, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0xa8]
mov rdi, qword [rsp + 0xb0]
lea rcx, [rsp + 0x100]
call fcn.180047530
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x180031e64
mov rcx, qword [rsp + 0x108]
shl rax, 4
lea rdx, [rax + rax*2]
mov r8d, 8
call fcn.180057680
lea rcx, [rsp + 0xe0]
call fcn.18005d100
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 0x180032305
lea rcx, [r14 + r14*2]
shl rcx, 3
add rcx, qword [rsp + 0x90]
mov rdx, rsi
mov r8, rbx
call fcn.1801f0cd0
add rdi, r14
mov qword [rsp + 0x98], rdi
test r15, r15
je 0x180031eda
shl r15, 3
lea rdx, [r15 + r15*2]
mov r8d, 8
mov rcx, rsi
call fcn.180057680
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 0x180031e0d
mov rax, rsi
add rsi, 0x30
mov qword [rsp + 0x38], rsi
mov r15, qword [rax]
test r15, r15
je 0x180031e0d
mov rcx, qword [rax + 8]
mov r12, qword [rax + 0x18]
test r12, r12
mov qword [rsp + 0xd8], rcx
je 0x180032240
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 0x180031fcf
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 0x180032120
test ax, ax
je 0x180031fe0
lea ebx, [rax - 1]
and ebx, eax
jmp 0x180032007
movdqa xmm0, xmmword [rdi]
pmovmskb eax, xmm0
add r15, 0xfffffffffffffc80
add rdi, 0x10
cmp eax, 0xffff
je 0x180031fe0
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 0x180032120
mov rcx, r13
lea rdx, [0x180201888]
call fcn.180030750
test al, al
jne 0x180032049
mov rcx, r13
lea rdx, [0x1802018a8]
call fcn.180030750
test al, al
je 0x180031fc4
mov dword [rsp + 0xc0], ebx
mov qword [rsp + 0xc8], rsi
lea rax, [0x1801f9508]
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.18000dcc0
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov esi, dword [rax + 0x10]
movzx r12d, byte [rax + 0x14]
movzx eax, byte [0x180281288]
mov ecx, 0x15
mov edx, 1
call fcn.180057670
test rax, rax
je 0x180032334
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 0x180031f80
lea rcx, [rsp + 0xa0]
call fcn.18003d580
jmp 0x180031f80
cmp qword [rsp + 0xd8], 0
mov rsi, qword [rsp + 0xf8]
lea r14, [0x180201b68]
mov r15, qword [rsp + 0xf0]
je 0x180031f10
test r12, r12
je 0x180032249
movdqa xmm0, xmmword [r15]
pmovmskb eax, xmm0
not eax
mov rdi, r15
jmp 0x180032181
add r13, 0xffffffffffffffe8
mov rcx, r13
call fcn.18005d100
nop dword [rax + rax]
dec r12
lea eax, [rbx - 1]
and eax, ebx
test r12, r12
je 0x180032249
test ax, ax
jne 0x1800321ad
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rbp]
pmovmskb eax, xmm0
add rdi, 0xfffffffffffffc80
add rbp, 0x10
cmp eax, 0xffff
je 0x180032190
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 0x1800321d7
mov rcx, qword [r13 - 0x30]
mov r8d, 1
call fcn.180057680
movzx eax, byte [r13 - 0x20]
cmp rax, 0xf
ja case.0x1800321ed.15
movsxd rax, dword [r14 + rax*4]
add rax, r14
jmp rax
mov rdx, qword [r13 - 0x18]
test rdx, rdx
je case.0x1800321ed.0
mov rcx, qword [r13 - 0x10]
mov r8d, 1
call fcn.180057680
jmp case.0x1800321ed.0
lea rcx, [r13 - 0x18]
call fcn.180047a90
mov rdx, qword [r13 - 0x18]
test rdx, rdx
je case.0x1800321ed.0
mov rcx, qword [r13 - 0x10]
shl rdx, 5
mov r8d, 8
call fcn.180057680
jmp case.0x1800321ed.0
test rcx, rcx
je 0x180031f10
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 0x180031f10
mov rdx, r8
sub r15, rax
mov r8d, 0x10
mov rcx, r15
call fcn.180057680
jmp 0x180031f10
neg rax
lea r14, [rdi + r13]
add r14, 0x20
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
mov rbx, rdx
shr rbx, 4
jmp 0x1800322bd
add r14, 0x18
dec rbx
je 0x180031b48
mov rdx, qword [r14 - 8]
test rdx, rdx
je 0x1800322b0
mov rcx, qword [r14]
mov r8d, 1
call fcn.180057680
jmp 0x1800322b0
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x88]
mov r9d, 8
mov rdx, r14
mov r8, rsi
call fcn.1801f1b30
mov r14, qword [rsp + 0x98]
jmp 0x180030b85
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x88]
mov r9d, 8
mov rdx, r14
mov r8, rdi
call fcn.1801f1b30
mov r14, qword [rsp + 0x98]
jmp 0x180031e99
mov ecx, 1
mov edx, 0x15
call fcn.18018dc30
ud2
mov ecx, 1
mov edx, 0x1f
call fcn.18018dc30
mov ecx, 1
mov edx, 0x20
call fcn.18018dc30
mov ecx, 1
mov edx, 0x18
call fcn.18018dc30
mov ecx, 8
mov edx, 0x150
call fcn.18018dc30
mov ecx, 1
mov edx, 0x21
call fcn.18018dc30
mov ecx, 1
mov edx, 0x23
call fcn.18018dc30
mov ecx, 1
mov edx, 0x16
call fcn.18018dc30
mov ecx, 1
mov edx, 0x22
call fcn.18018dc30
mov ecx, 1
mov edx, 0x17
call fcn.18018dc30
mov ecx, 1
mov edx, 0x1d
call fcn.18018dc30
mov ecx, 1
mov edx, 0x10
call fcn.18018dc30
mov ecx, 1
mov edx, 0x11
call fcn.18018dc30
mov ecx, 1
mov edx, 0xa
call fcn.18018dc30
int3