Function at 0x18000c220
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 qword [rsp + 0x108], rcx
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], 8
mov qword [rsp + 0xa8], 0
lea rcx, [rsp + 0x28]
call fcn.18003a6c0
cmp byte [rsp + 0x28], 0x12
jne 0x18000e0b9
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 r8d, ecx
mov r9d, edx
mov r10d, eax
mov eax, 0x40000000
xor ecx, ecx
mov rsi, rbx
cpuid
xchg rbx, rsi
mov ebx, ecx
mov edi, edx
cmp r10d, eax
setne al
cmp r11d, esi
setne cl
mov edx, ecx
and dl, al
add al, cl
sub al, dl
cmp r8d, ebx
setne cl
mov edx, eax
and dl, cl
add al, cl
sub al, dl
cmp r9d, edi
setne cl
test cl, al
jne 0x18000c2f1
xor cl, al
test cl, 1
je 0x18000c3b3
lea rax, [0x18008b593]
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.18000e8e0
mov r14, qword [rax]
mov r15, qword [rax + 8]
movzx ebp, byte [rax + 0x10]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x11
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e160
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 0x18000c38c
lea rcx, [rsp + 0x28]
call fcn.180032420
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 0x18000c481
cmp edi, 0x65726177
jne 0x18000c481
lea rax, [0x18008ff8a]
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.18000e4a0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x10
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e151
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 0x18000c45a
lea rcx, [rsp + 0x28]
call fcn.180032420
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
xor ecx, ecx
mov eax, 1
mov r8, rbx
cpuid
xchg rbx, r8
mov rdi, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
lea rax, [rsi*8]
lea r14, [rax + rax*2]
mov rax, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa8]
sub rax, r15
cmp rax, rsi
jb 0x18000e04c
lea rcx, [r15 + r15*2]
shl rcx, 3
add rcx, qword [rsp + 0xa0]
mov rdx, rbx
mov r8, r14
call fcn.18008d9a0
add rsi, r15
mov qword [rsp + 0xa8], rsi
test rdi, rdi
je 0x18000c525
mov eax, edi
not eax
and eax, 0x18
mov rcx, rdi
and rcx, 0xffffffffffffffe7
imul rcx, rax
mov eax, edi
and eax, 0x18
or rdi, 0x18
imul rdi, rax
add rdi, rcx
mov r8d, 8
mov rcx, rbx
mov rdx, rdi
call fcn.180034a40
rdtsc
mov qword [rsp + 0x68], rax
mov eax, 1
cpuid
rdtsc
mov qword [rsp + 0x60], rax
rdtsc
mov r8, rax
mov eax, 1
cpuid
rdtsc
mov rbx, rax
rdtsc
mov rbp, rax
mov eax, 1
cpuid
rdtsc
mov rsi, rax
rdtsc
mov qword [rsp + 0x58], rax
mov eax, 1
cpuid
rdtsc
mov r12, rax
rdtsc
mov rdi, rax
mov eax, 1
cpuid
rdtsc
mov r9, rax
rdtsc
mov r10, rax
mov eax, 1
cpuid
rdtsc
mov r15, rax
rdtsc
mov r11, rax
mov eax, 1
cpuid
rdtsc
mov r14, rax
rdtsc
mov r13, rax
not r8
add rbx, qword [rsp + 0x60]
sub r8, qword [rsp + 0x68]
mov eax, 1
cpuid
sub r8, rbp
mov rax, rbx
and rax, rsi
xor rbx, rsi
lea rbp, [rbx + rax*2]
rdtsc
mov rbx, rax
add rdi, qword [rsp + 0x58]
add r9, r12
rdtsc
mov rsi, rax
add r9, r15
not r11
sub r11, r10
not r11
add r11, rdi
mov eax, 1
cpuid
not r8
add r11, r8
add r9, r14
rdtsc
mov r8, rax
add r9, rbp
not rsi
sub rsi, r13
rdtsc
not rsi
add rsi, r11
add r8, rbx
add r8, r9
mov r9, rsi
and r9, rax
or rsi, rax
mov eax, 1
cpuid
add rsi, r9
mov rax, r8
xor rax, rsi
not rsi
and rsi, r8
add rsi, rsi
sub rsi, rax
rdtsc
add rsi, rax
cmp rsi, 0xa
jae 0x18000c71b
lea rax, [0x18008c6da]
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.18000eb80
mov rdi, qword [rax]
movzx ebx, word [rax + 8]
movzx eax, byte [0x1800b4b10]
mov ecx, 0xa
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e16f
mov rsi, rax
mov eax, ebx
shr eax, 8
xor al, 0xad
mov ecx, ebx
not cl
or bl, 0xcc
or cl, 0x33
and cl, bl
not cl
movabs rdx, 0xd5c685ee70623ba5
xor rdi, rdx
mov qword [rsi], rdi
mov byte [rsi + 8], cl
mov byte [rsi + 9], al
mov rdi, qword [rsp + 0xa8]
cmp rdi, qword [rsp + 0x98]
jne 0x18000c6ee
lea rcx, [rsp + 0x98]
call fcn.180032420
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 + 0xc8], 0
mov qword [rsp + 0xd0], 8
mov qword [rsp + 0xd8], 0
lea r15, [rsp + 0x28]
mov rcx, r15
call fcn.18003a7a0
cmp byte [rsp + 0x28], 0x12
jne 0x18000e0b9
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xf0], rax
movzx eax, byte [0x1800b4b10]
mov ecx, 0x150
mov edx, 8
call fcn.180034a30
mov qword [rsp + 0x100], rax
test rax, rax
je 0x18000e0e8
lea rax, [0x180092af6]
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.18000ee80
mov rsi, qword [rax]
mov rdi, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov r14, qword [rax + 0x18]
movzx ebp, byte [rax + 0x20]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x21
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0f7
mov r13, rax
mov eax, ebp
not al
or bpl, 0xed
or al, 0x12
and al, bpl
not al
movabs rcx, 0x483a6320efd85595
xor rsi, rcx
movabs rcx, 0x3677a6288f9240ef
xor rdi, rcx
movabs rcx, 0xe9cc579194ea2951
xor rbx, rcx
movabs rcx, 0x55ea94e904f687ce
xor r14, rcx
mov qword [r13], rsi
mov qword [r13 + 8], rdi
mov qword [r13 + 0x10], rbx
mov qword [r13 + 0x18], r14
mov byte [r13 + 0x20], al
lea rax, [0x180087c7f]
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.18000efa0
mov rdi, qword [rax]
mov rbx, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x18
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0d9
movabs rdx, 0xef6e4ed853dc9560
mov rcx, rsi
and rcx, rdx
add rcx, rcx
add rsi, rdx
sub rsi, rcx
movabs rdx, 0x642ef04dcbac12e1
movabs rcx, 0x84abe1d1c456064a
xor rcx, rdx
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, [0x180088eaa]
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.18000e7d0
mov rbx, qword [rax]
mov r12, r15
mov r15, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov edi, dword [rax + 0x18]
movzx esi, word [rax + 0x1c]
movzx ebp, byte [rax + 0x1e]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x1f
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0bb
shl ebp, 0x10
or esi, ebp
mov r10d, esi
shr r10d, 0x10
xor r10b, 0x74
mov ecx, esi
shr ecx, 8
xor cl, 0xf2
xor sil, 0xcd
xor edi, 0xa673b726
not r14
movabs rdx, 0x5a64ca732ac258fd
not rdx
mov r8, r14
or r8, rdx
and rdx, r14
not rdx
and rdx, r8
movabs r8, 0x1e0be27f3f813d87
not r8
mov r9, r15
or r9, r8
and r8, r15
not r8
and r8, r9
not r8
movabs r9, 0x7df1f0969ffe36c5
xor rbx, r9
mov qword [rax], rbx
mov qword [rax + 8], r8
mov qword [rax + 0x10], rdx
mov dword [rax + 0x18], edi
mov byte [rax + 0x1c], sil
mov byte [rax + 0x1d], cl
mov qword [rsp + 0x60], rax
mov byte [rax + 0x1e], r10b
lea rax, [0x18008f238]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x28]
movabs rax, 0x44e000fbffc0f6d3
mov qword [rsp + 0x28], rax
mov r14, r12
mov rdx, qword [rsp + 0x28]
call fcn.18000e8a0
mov r12, qword [rax]
mov r15, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
movzx esi, word [rax + 0x20]
movzx ebp, byte [rax + 0x22]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x23
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e106
shl ebp, 0x10
or esi, ebp
mov ecx, esi
shr ecx, 0x10
mov r8d, ecx
not r8b
or cl, 0x26
or r8b, 0xd9
and r8b, cl
mov ecx, esi
shr ecx, 8
xor cl, 0x64
xor sil, 0x4d
movabs rdx, 0xffc8422be822d27d
xor rdi, rdx
movabs rdx, 0xafd9e032d3d7bc5c
xor rbx, 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], rbx
mov qword [rax + 0x18], rdi
mov byte [rax + 0x20], sil
mov byte [rax + 0x21], cl
mov qword [rsp + 0x58], rax
mov byte [rax + 0x22], r8b
lea rax, [0x18008a384]
mov qword [rsp + 0x28], rax
mov r15, r14
mov rcx, qword [rsp + 0x28]
movabs rax, 0xaa1651ea92d58245
mov qword [rsp + 0x28], rax
mov rdx, qword [rsp + 0x28]
call fcn.18000e4f0
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
mov rsi, qword [rax + 0x10]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x18
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0d9
mov qword [rsp + 0xc0], r13
movabs rdx, 0x76248be0f4282fc2
movabs rcx, 0xcc7045ceebf7012d
xor rcx, rdx
xor rsi, rcx
movabs rdx, 0x7729691337b61d7f
mov rcx, rbx
and rcx, rdx
add rcx, rcx
sub rdx, rcx
add rdx, rbx
movabs rcx, 0x1917308c1b6fa6d6
xor rdi, rcx
mov qword [rax], rdx
mov qword [rax + 8], rdi
mov qword [rsp + 0xe8], rax
mov qword [rax + 0x10], rsi
lea rax, [0x18008d581]
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.18000ed90
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov edi, dword [rax + 0x10]
movzx esi, word [rax + 0x14]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x16
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e115
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 + 0xb8], rax
mov byte [rax + 0x15], dl
lea rax, [0x180085da4]
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.18000edf0
mov r13, qword [rax]
mov r12, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov edi, dword [rax + 0x18]
movzx esi, word [rax + 0x1c]
movzx ebp, byte [rax + 0x1e]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x1f
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0bb
shl ebp, 0x10
or esi, ebp
mov r9d, esi
shr r9d, 0x10
xor r9b, 0xa
mov edx, esi
shr edx, 8
mov ecx, edx
not cl
or dl, 0x7b
or cl, 0x84
and cl, dl
not cl
mov edx, esi
and dl, 0x76
add dl, dl
sub sil, dl
add sil, 0xf6
xor edi, 0x82d1741f
movabs rdx, 0xcc22a7970f184a5e
xor rbx, rdx
movabs rdx, 0x49dbc16564682967
xor r12, rdx
movabs rdx, 0xa26b3b02468d6662
mov r8, r13
and r8, rdx
add r8, r8
add r13, rdx
sub r13, r8
mov qword [rax], r13
mov qword [rax + 8], r12
mov qword [rax + 0x10], rbx
mov dword [rax + 0x18], edi
mov byte [rax + 0x1c], sil
mov byte [rax + 0x1d], cl
mov qword [rsp + 0xb0], rax
mov byte [rax + 0x1e], r9b
lea rax, [0x18008a8eb]
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.18000e760
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x20
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0ca
movabs rdx, 0x20ba00986e244082
mov rcx, rsi
and rcx, rdx
add rcx, rcx
add rsi, rdx
sub rsi, rcx
movabs rcx, 0xe1abb3255a1e0e6c
xor rdi, rcx
not r14
movabs r8, 0xc3ecdfe4e39db939
not r8
mov rcx, r14
or rcx, r8
not rcx
and r8, r14
or r8, rcx
not r8
mov rcx, rbx
not rcx
movabs rdx, 0x2d3db7f88fb53cec
or rcx, rdx
not rdx
or rdx, rbx
and rdx, rcx
not rdx
mov qword [rax], rdx
mov qword [rax + 8], r8
mov qword [rax + 0x10], rdi
mov qword [rsp + 0xe0], rax
mov qword [rax + 0x18], rsi
lea rax, [0x180093bfe]
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.18000ece0
mov r14, qword [rax]
mov rbx, qword [rax + 8]
mov rdi, qword [rax + 0x10]
mov rsi, qword [rax + 0x18]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x20
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0ca
movabs rcx, 0xa3363e7d836c32e
xor rsi, rcx
movabs rdx, 0xb1e1dba40f90d5b7
mov rcx, rdi
and rcx, rdx
add rcx, rcx
add rdi, rdx
sub 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 + 0xf8], rax
mov qword [rax + 0x18], rsi
lea rax, [0x180093d7f]
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.18000ea10
mov rbp, qword [rax]
mov r13, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov edi, dword [rax + 0x18]
movzx esi, word [rax + 0x1c]
movzx r14d, byte [rax + 0x1e]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x1f
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0bb
mov r12, rax
shl r14d, 0x10
or esi, r14d
mov eax, esi
shr eax, 0x10
mov ecx, eax
or cl, 0x28
not al
or al, 0xd7
and al, cl
not al
mov ecx, esi
shr ecx, 8
mov edx, ecx
and dl, 0xd
add dl, dl
sub cl, dl
add cl, 0x8d
xor sil, 0x69
xor edi, 0x810d51d2
movabs rdx, 0x3819e1863aa81546
xor rbx, rdx
movabs rdx, 0x605feb185f01f819
xor r13, rdx
movabs rdx, 0x9fd144982e66aa0b
xor rbp, rdx
mov qword [r12], rbp
mov qword [r12 + 8], r13
mov qword [r12 + 0x10], rbx
mov dword [r12 + 0x18], edi
mov byte [r12 + 0x1c], sil
mov byte [r12 + 0x1d], cl
mov byte [r12 + 0x1e], al
lea rax, [0x180090022]
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.18000ec80
mov rbx, qword [rax]
mov r14, qword [rax + 8]
mov rsi, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x20
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0ca
movabs rcx, 0xe7061ebef95ff2fe
xor rdi, rcx
movabs r8, 0xbd2dd6c4a5282e33
not r8
mov rcx, rsi
or rcx, r8
and r8, rsi
not r8
and r8, rcx
not r8
movabs rcx, 0x5d1d7d0d2df49725
not rcx
mov rdx, r14
or rdx, rcx
and rcx, r14
not rcx
and rcx, rdx
not rcx
movabs rdx, 0x9d277ef9620926b6
xor rbx, rdx
mov qword [rax], rbx
mov qword [rax + 8], rcx
mov qword [rax + 0x10], r8
mov qword [rsp + 0x110], rax
mov qword [rax + 0x18], rdi
lea rax, [0x18009345b]
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.18000e5b0
mov rdi, qword [rax]
mov r14, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov rbp, qword [rax + 0x18]
mov rsi, r15
movzx r15d, word [rax + 0x20]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x22
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e124
mov r13, rax
mov eax, r15d
shr eax, 8
xor al, 0xec
mov ecx, r15d
not cl
or r15b, 0x46
or cl, 0xb9
and cl, r15b
not cl
movabs rdx, 0x95ed5a56abe09424
xor rdi, rdx
not r14
movabs rdx, 0xd293d854ea5725a5
not rdx
mov r8, r14
or r8, rdx
not r8
and rdx, r14
or rdx, r8
not rdx
movabs r8, 0xa030bc9d9ab89f98
xor rbx, r8
movabs r8, 0xf4548d6543cbaecc
xor rbp, r8
mov qword [r13], rdi
mov qword [r13 + 8], rdx
mov qword [r13 + 0x10], rbx
mov qword [r13 + 0x18], rbp
mov byte [r13 + 0x20], cl
mov byte [r13 + 0x21], al
lea rax, [0x18008a8e8]
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.18000e470
mov r14, qword [rax]
mov r15, qword [rax + 8]
mov ebp, dword [rax + 0x10]
movzx edi, word [rax + 0x14]
movzx esi, byte [rax + 0x16]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x17
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e133
mov rbx, rax
shl esi, 0x10
or edi, esi
mov eax, edi
shr eax, 0x10
mov ecx, eax
and cl, 0x17
add cl, cl
sub al, cl
add al, 0x97
mov ecx, edi
shr ecx, 8
xor cl, 0xae
xor dil, 0x4d
xor ebp, 0x5472b2fb
movabs rdx, 0x2d13e98af53e6c9c
xor r15, rdx
movabs rdx, 0x77e0d97bf289b8d2
xor r14, rdx
mov qword [rbx], r14
mov qword [rbx + 8], r15
mov dword [rbx + 0x10], ebp
mov byte [rbx + 0x14], dil
mov byte [rbx + 0x15], cl
mov byte [rbx + 0x16], al
lea rax, [0x18008f883]
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.18000e360
mov r15, qword [rax]
mov rbp, qword [rax + 8]
mov r14, qword [rax + 0x10]
mov esi, dword [rax + 0x18]
movzx edi, byte [rax + 0x1c]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x1d
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e142
mov ecx, esi
and ecx, 0x77dcee52
add ecx, ecx
neg ecx
add ecx, esi
add ecx, 0xf7dcee52
movabs rdx, 0x40ec48eae00f94e3
xor r14, rdx
movabs rdx, 0x68a1aa74dcdde4d7
mov r8, rbp
and r8, rdx
add rbp, rdx
add r8, r8
sub rbp, r8
movabs rdx, 0xd7b1b2c34988ecad
mov r8, r15
and r8, rdx
add r8, r8
sub rdx, r8
add rdx, r15
mov qword [rax], rdx
mov qword [rax + 8], rbp
mov qword [rax + 0x10], r14
mov dword [rax + 0x18], ecx
xor dil, 0x79
mov byte [rax + 0x1c], dil
movabs r8, 0x7ffffffffffffff1
mov rcx, qword [rsp + 0x100]
mov qword [rcx], 0x21
mov rdx, qword [rsp + 0xc0]
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 + 0xe8]
mov qword [rcx + 0x68], rdx
mov qword [rcx + 0x70], 0x18
mov qword [rcx + 0x78], 0x16
mov rdx, qword [rsp + 0xb8]
mov qword [rcx + 0x80], rdx
mov qword [rcx + 0x88], 0x16
mov qword [rcx + 0x90], 0x1f
mov rdx, qword [rsp + 0xb0]
mov qword [rcx + 0x98], rdx
mov qword [rcx + 0xa0], 0x1f
mov qword [rcx + 0xa8], 0x20
mov rdx, qword [rsp + 0xe0]
mov qword [rcx + 0xb0], rdx
mov qword [rcx + 0xb8], 0x20
mov qword [rcx + 0xc0], 0x20
mov rdx, qword [rsp + 0xf8]
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 + 0x110]
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], rbx
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]
xor ecx, ecx
add r8, 0xf
mov qword [rsp + 0xf8], r8
lea rbx, [0x180094ef0]
lea rdi, [0x180094f30]
jmp 0x18000d47e
mov rax, qword [rsp + 0xb8]
add rax, 0x18
mov rcx, qword [rsp + 0xb0]
cmp rcx, 0xe
je 0x18000d8c1
mov qword [rsp + 0xb8], rax
lea rax, [rcx + rcx*2]
inc rcx
mov qword [rsp + 0xb0], rcx
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rdx + rax*8]
cmp rcx, qword [rsp + 0xf8]
je 0x18000d86a
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.180071380
lea rcx, [rsp + 0x28]
lea rdx, [rsp + 0xf0]
mov r8, rsi
call fcn.18002aeb0
cmp byte [rsp + 0x28], 0x12
jne 0x18000e0b9
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xe0], rax
mov r14, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0xc0], rax
test rax, rax
je 0x18000d750
inc dword [rsp + 0x94]
xor esi, esi
mov qword [rsp + 0xe8], r14
jmp 0x18000d551
inc rsi
cmp rsi, qword [rsp + 0xc0]
je 0x18000d804
lea r15, [rsi + rsi*2]
shl r15, 4
mov rax, qword [r14 + r15 + 8]
test rax, rax
je 0x18000d540
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rsi
add r15, r14
mov r13, qword [r15 + 0x18]
test r13, r13
je 0x18000d6f0
mov rsi, qword [r15]
movdqa xmm0, xmmword [rsi]
pmovmskb eax, xmm0
lea ebp, [rax + rax]
not ebp
add ebp, eax
lea r12, [rsi + 0x10]
mov qword [rsp + 0x58], r15
jmp 0x18000d5c5
add r14, 0xffffffffffffffe8
mov rcx, r14
call fcn.18003a0f0
nop word cs:[rax + rax]
dec r13
lea eax, [rbp - 1]
xor ebp, eax
not ebp
and ebp, eax
test r13, r13
je 0x18000d6f0
test bp, bp
jne 0x18000d5f3
nop word [rax + rax]
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
add rsi, 0xfffffffffffffc80
add r12, 0x10
cmp eax, 0xffff
je 0x18000d5d0
lea ebp, [rax + rax]
not ebp
add ebp, eax
tzcnt eax, ebp
neg rax
imul rax, rax, 0x38
lea r14, [rsi + rax]
mov rdx, qword [rsi + rax - 0x38]
test rdx, rdx
je 0x18000d61b
mov rcx, qword [r14 - 0x30]
mov r8d, 1
call fcn.180034a40
movzx eax, byte [r14 - 0x20]
cmp rax, 0xf
ja case.0x18000d631.15
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov rdx, qword [r14 - 0x18]
test rdx, rdx
je case.0x18000d631.0
mov rcx, qword [r14 - 0x10]
mov r8d, 1
call fcn.180034a40
jmp case.0x18000d631.0
mov rbx, qword [r14 - 8]
test rbx, rbx
je 0x18000d6b0
mov r15, qword [r14 - 0x10]
add r15, 8
jmp 0x18000d679
mov rcx, r15
call fcn.18003a0f0
nop
add r15, 0x20
dec rbx
je 0x18000d6b0
movzx eax, byte [r15 - 8]
cmp rax, 0xf
ja case.0x18000d68b.15
movsxd rax, dword [rdi + rax*4]
add rax, rdi
jmp rax
mov rdx, qword [r15]
test rdx, rdx
je case.0x18000d68b.0
mov rcx, qword [r15 + 8]
mov r8d, 1
call fcn.180034a40
jmp case.0x18000d68b.0
mov rcx, r15
call fcn.180029270
jmp case.0x18000d68b.0
mov rdx, qword [r14 - 0x18]
test rdx, rdx
lea rbx, [0x180094ef0]
mov r15, qword [rsp + 0x58]
je case.0x18000d631.0
mov rcx, qword [r14 - 0x10]
shl rdx, 5
mov r8d, 8
call fcn.180034a40
jmp case.0x18000d631.0
mov r9, qword [rsp + 0x60]
lea rax, [r9 + 1]
mov ecx, 0x38
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add r9, 0x11
mov rcx, rax
and rcx, r9
add rcx, rcx
xor r9, rax
add r9, rcx
mov r14, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0x68]
je 0x18000d540
mov rcx, qword [r15]
sub rcx, rax
mov r8d, 0x10
mov rdx, r9
call fcn.180034a40
jmp 0x18000d540
lea rax, [rsp + 0x94]
mov qword [rsp + 0x70], rax
lea rax, [0x180073340]
mov qword [rsp + 0x78], rax
lea rax, [0x180094c58]
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.180070aa0
mov rsi, qword [rsp + 0xd8]
cmp rsi, qword [rsp + 0xc8]
jne 0x18000d7cb
lea rcx, [rsp + 0xc8]
call fcn.180032420
mov rax, qword [rsp + 0xd0]
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 + 0xd8], rsi
inc dword [rsp + 0x94]
mov rdx, qword [rsp + 0xe0]
test rdx, rdx
je 0x18000d841
mov eax, edx
not eax
and eax, 0x30
mov rcx, rdx
and rcx, 0xffffffffffffffcf
imul rcx, rax
mov eax, edx
and eax, 0x30
or rdx, 0x30
imul rdx, rax
add rdx, rcx
mov r8d, 8
mov rcx, r14
call fcn.180034a40
mov rdx, qword [rsp + 0x118]
test rdx, rdx
je 0x18000d460
mov rcx, qword [rsp + 0x120]
mov r8d, 1
call fcn.180034a40
jmp 0x18000d460
mov r8, qword [rsp + 0xb0]
mov eax, r8d
and eax, 0x17
mov rcx, r8
not rcx
and rcx, 0xffffffffffffffe8
imul rcx, rax
mov rax, r8
and rax, 0xffffffffffffffe8
mov rdx, r8
or rdx, 0xffffffffffffffe8
imul rdx, rax
lea rax, [rdx + rcx]
add rax, 0x150
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
cmp r8, 0xe
mov rax, qword [rsp + 0xb8]
jne 0x18000e010
mov edx, 0x150
mov r8d, 8
mov rcx, qword [rsp + 0x100]
call fcn.180034a40
lea rax, [0x18008c2ae]
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.18000e3e0
movabs rcx, 0xe2020f3869823f09
xor rcx, qword [rax]
mov r8, qword [rax + 8]
movabs rdx, 0xf847caf5df4e878a
mov r9, r8
and r9, rdx
add r9, r9
sub rdx, r9
add rdx, r8
mov r9, qword [rax + 0x10]
not r9
movabs r8, 0x757594d622342559
not r8
mov r10, r9
or r10, r8
and r8, r9
not r8
and r8, r10
mov r9d, 0x3a09d301
xor r9d, dword [rax + 0x18]
movzx r10d, byte [rax + 0x1e]
movzx eax, word [rax + 0x1c]
mov r11d, eax
shr r11d, 8
mov ebx, eax
not bl
or bl, 0x6a
or al, 0x95
and al, bl
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.18002abc0
cmp byte [rsp + 0x28], 0x12
jne 0x18000e0b9
mov r12, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
cmp r13, 2
jae 0x18000dac4
lea rax, [0x180087aed]
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.18000e540
mov r14, qword [rax]
mov rbx, qword [rax + 8]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x10
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e151
mov rsi, rax
movabs rax, 0x308fdd6f98cee1f2
movabs rcx, 0xa4dd93425354fa0d
xor rcx, rax
xor rbx, rcx
movabs rax, 0x767156433116282a
xor r14, rax
mov qword [rsi], r14
mov qword [rsi + 8], rbx
mov rbx, qword [rsp + 0xd8]
cmp rbx, qword [rsp + 0xc8]
jne 0x18000da97
lea rcx, [rsp + 0xc8]
call fcn.180032420
mov rax, qword [rsp + 0xd0]
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 + 0xd8], rbx
mov qword [rsp + 0xb0], r13
mov qword [rsp + 0xb8], r12
mov qword [rsp + 0xe8], r15
lea rax, [0x1800912ce]
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.18000efe0
movabs rcx, 0x8acac0717f2a148c
xor rcx, qword [rax]
movabs rdx, 0xd841492e8a55ab73
xor rdx, qword [rax + 8]
mov r8, qword [rax + 0x10]
movabs r9, 0x329918c0ddfac21c
not r9
or r9, r8
not r9
movabs r10, 0xcd66e73f22053de3
and r10, r8
or r10, r9
mov r8, qword [rax + 0x18]
movabs r9, 0x37c50bf121a31000
mov r11, r8
and r11, r9
add r11, r11
add r8, r9
sub r8, r11
movabs r9, 0x7f3fe705de6265e3
xor r9, qword [rax + 0x20]
movabs r11, 0x3e1917309fb510cf
xor r11, r9
mov r9d, 0x7b23eb05
xor r9d, 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], r10
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x48], r11
mov dword [rsp + 0x50], r9d
mov byte [rsp + 0x54], al
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0xf0]
lea r8, [rsp + 0x28]
mov r9d, 0x2d
call fcn.18002abc0
cmp byte [rsp + 0x70], 0x12
jne 0x18000e0b9
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xe0], rax
mov rbx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
lea rdx, [rax + rax*2]
shl rdx, 4
add rdx, rbx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0xc0], rbx
test rax, rax
je 0x18000de35
mov rax, qword [rsp + 0xc0]
jmp 0x18000dc4a
lea rcx, [rsp + 0x28]
call fcn.180022300
mov rax, qword [rsp + 0x60]
cmp rax, qword [rsp + 0x58]
je 0x18000de74
lea rbx, [rax + 0x30]
mov rbp, qword [rax]
test rbp, rbp
je 0x18000de35
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x28], rbp
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 r13, qword [rsp + 0x40]
test r13, r13
je 0x18000dc30
lea r12, [rbp + 0x10]
movdqa xmm0, xmmword [rbp]
pmovmskb eax, xmm0
not eax
jmp 0x18000dce6
mov rax, qword [rsp + 0xd0]
lea rcx, [rdi + rdi*2]
mov qword [rax + rcx*8], 0x15
mov qword [rax + rcx*8 + 8], rsi
mov qword [rax + rcx*8 + 0x10], 0x15
inc rdi
mov qword [rsp + 0xd8], rdi
mov edi, dword [rsp + 0x68]
mov rax, r13
not rax
lea r13, [rax + r13*2]
mov eax, edi
test r13, r13
je 0x18000dc30
test ax, ax
je 0x18000dd00
lea edi, [rax - 1]
and edi, eax
jmp 0x18000dd29
movdqa xmm0, xmmword [r12]
pmovmskb eax, xmm0
add rbp, 0xfffffffffffffc80
add r12, 0x10
cmp eax, 0xffff
je 0x18000dd00
mov ecx, 0xfffffffe
sub ecx, eax
not eax
mov edi, eax
and edi, ecx
tzcnt eax, eax
neg rax
imul rsi, rax, 0x38
add rsi, rbp
add rsi, 0xffffffffffffffe0
je 0x18000dc30
mov rcx, rsi
lea rdx, [0x180094c10]
call fcn.18000c080
test al, al
jne 0x18000dd6b
mov rcx, rsi
lea rdx, [0x180094c30]
call fcn.18000c080
test al, al
je 0x18000dcd1
mov dword [rsp + 0x68], edi
lea rax, [0x18008c890]
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.18000e290
mov r15, qword [rax]
mov rbx, qword [rax + 8]
mov edi, dword [rax + 0x10]
movzx r14d, byte [rax + 0x14]
movzx eax, byte [0x1800b4b10]
mov ecx, 0x15
mov edx, 1
call fcn.180034a30
test rax, rax
je 0x18000e0aa
mov rsi, rax
xor r14b, 0x61
xor edi, 0x9cd43138
movabs rax, 0x859540fd2182b095
xor rbx, rax
mov rax, r15
movabs rcx, 0x60ca0633d74a078e
and rax, rcx
add rax, rax
add r15, rcx
sub r15, rax
mov qword [rsi], r15
mov qword [rsi + 8], rbx
mov dword [rsi + 0x10], edi
mov byte [rsi + 0x14], r14b
mov rdi, qword [rsp + 0xd8]
cmp rdi, qword [rsp + 0xc8]
jne 0x18000dca0
lea rcx, [rsp + 0xc8]
call fcn.180032420
jmp 0x18000dca0
mov r8, qword [rsp + 0x58]
mov rax, r8
sub rax, rbx
movabs rcx, 0xaaaaaaaaaaaaaaab
mul rcx
cmp r8, rbx
je 0x18000de74
mov rsi, rdx
shr rsi, 5
xor edi, edi
nop dword [rax + rax]
inc rdi
mov rcx, rbx
call fcn.180022300
add rbx, 0x30
dec rsi
jne 0x18000de60
mov rax, qword [rsp + 0xe0]
test rax, rax
je 0x18000de9c
shl rax, 4
lea rdx, [rax + rax*2]
mov r8d, 8
mov rcx, qword [rsp + 0xc0]
call fcn.180034a40
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov r14, qword [rsp + 0xd8]
mov rbp, qword [rsp + 0xb0]
test rbp, rbp
mov r12, qword [rsp + 0xe8]
mov r13, qword [rsp + 0xb8]
je 0x18000def4
xor r15d, r15d
mov rsi, r12
nop word [rax + rax]
inc r15
mov rcx, rsi
call fcn.180022300
add rsi, 0x30
dec rbp
jne 0x18000dee0
test r13, r13
je 0x18000df16
shl r13, 4
lea rdx, [r13*2]
add rdx, r13
mov r8d, 8
mov rcx, r12
call fcn.180034a40
lea rcx, [rsp + 0xf0]
call fcn.18003a0f0
mov rax, r14
and rax, 0xffffffffffffffe7
mov ecx, r14d
not ecx
and ecx, 0x18
imul rcx, rax
mov eax, r14d
and eax, 0x18
mov rsi, r14
or rsi, 0x18
imul rsi, rax
add rsi, rcx
mov rax, qword [rsp + 0x98]
mov r15, qword [rsp + 0xa8]
mov rcx, r15
not rcx
and rcx, rax
xor rax, r15
add rcx, rcx
sub rcx, rax
cmp rcx, r14
jb 0x18000e07b
lea rcx, [r15 + r15*2]
shl rcx, 3
add rcx, qword [rsp + 0xa0]
mov rdx, rbx
mov r8, rsi
call fcn.18008d9a0
mov rax, r15
and rax, r14
xor r15, r14
lea rax, [r15 + rax*2]
mov qword [rsp + 0xa8], rax
test rdi, rdi
je 0x18000dfdd
mov rax, rdi
and rax, 0xffffffffffffffe7
mov ecx, edi
not ecx
and ecx, 0x18
imul rcx, rax
mov eax, edi
and eax, 0x18
or rdi, 0x18
imul rdi, rax
add rdi, rcx
mov r8d, 8
mov rcx, rbx
mov rdx, rdi
call fcn.180034a40
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x108]
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
mov rbx, rdx
shr rbx, 4
jmp 0x18000e02d
add rax, 0x18
dec rbx
je 0x18000d8c1
mov rdx, qword [rax - 8]
test rdx, rdx
je 0x18000e020
mov rcx, qword [rax]
mov r8d, 1
mov rsi, rax
call fcn.180034a40
mov rax, rsi
jmp 0x18000e020
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x98]
mov r9d, 8
mov rdx, r15
mov r8, rsi
call fcn.18008f930
mov r15, qword [rsp + 0xa8]
jmp 0x18000c4c7
mov qword [rsp + 0x20], 0x18
lea rcx, [rsp + 0x98]
mov r9d, 8
mov rdx, r15
mov r8, r14
call fcn.18008f930
mov r15, qword [rsp + 0xa8]
jmp 0x18000df75
mov ecx, 1
mov edx, 0x15
call fcn.180040620
ud2
mov ecx, 1
mov edx, 0x1f
call fcn.180040620
mov ecx, 1
mov edx, 0x20
call fcn.180040620
mov ecx, 1
mov edx, 0x18
call fcn.180040620
mov ecx, 8
mov edx, 0x150
call fcn.180040620
mov ecx, 1
mov edx, 0x21
call fcn.180040620
mov ecx, 1
mov edx, 0x23
call fcn.180040620
mov ecx, 1
mov edx, 0x16
call fcn.180040620
mov ecx, 1
mov edx, 0x22
call fcn.180040620
mov ecx, 1
mov edx, 0x17
call fcn.180040620
mov ecx, 1
mov edx, 0x1d
call fcn.180040620
mov ecx, 1
mov edx, 0x10
call fcn.180040620
mov ecx, 1
mov edx, 0x11
call fcn.180040620
mov ecx, 1
mov edx, 0xa
call fcn.180040620
int3