Function at 0x180067e10
Capabilities:
Check for software breakpoints
Encode data using xor
Encrypt data using speck

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2e0]
sub rsp, 0x3e0
mov rax, qword [0x180087e88]
xor rax, rsp
mov qword [rbp + 0x2d0], rax
mov eax, dword [rsp + 0x30]
lea edi, [rdx + 0x478]
mov r11, qword [rbp + 0x340]
mov ebx, edx
mov r14, qword [rbp + 0x348]
cmp edx, edi
mov esi, dword [rsp + 0x30]
mov r10, r9
mov r13d, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x30]
mov r15d, dword [rsp + 0x30]
mov dword [rbp + 0x20], eax
mov eax, dword [rsp + 0x30]
mov dword [rbp - 0x18], eax
mov eax, dword [rsp + 0x30]
mov dword [rbp + 0x40], edx
mov edx, dword [rsp + 0x30]
mov dword [rbp + 0x44], eax
mov eax, dword [rsp + 0x30]
mov qword [rbp - 0x30], r9
mov r9d, dword [rsp + 0x30]
mov qword [rbp - 0x20], r8
mov qword [rbp + 0x58], rcx
mov qword [rsp + 0x40], r11
mov qword [rbp - 0x28], r14
mov dword [rbp + 8], esi
mov dword [rsp + 0x20], r13d
mov dword [rbp + 0x10], r12d
mov dword [rbp - 0x58], edx
jae 0x1800683ce
mov ecx, dword [rsp + 0x30]
mov dword [rbp - 0x44], eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x70], eax
mov rax, qword [rbp + 0x60]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x60]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x74], r9d
mov dword [rbp - 0x14], r15d
nop dword [rax + rax]
cmp ebx, 0x1b0
ja 0x1800681d9
je 0x1800681af
cmp ebx, 0x131
ja 0x180067fa1
je 0x180067f89
mov eax, ebx
sub eax, 0x81
je 0x180067f75
sub eax, 0x58
je 0x180067f3f
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x58]
cmp eax, 0x27
jne 0x18006827f
mov eax, dword [r11]
mov dword [rbp + 0xa0], eax
jmp 0x18006827f
movsxd rcx, dword [r10]
mov r12d, 0xffffffff
mov rax, qword [r11 + 0x68]
movsxd rdx, dword [r8]
mov dword [rbp + 0x10], r12d
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
cmp qword [rax + rcx*8], 0
jne 0x18006a4f9
mov ecx, dword [rsp + 0x28]
mov edx, dword [rbp - 0x58]
jmp 0x180068275
xor r13d, r13d
mov dword [rbp - 0x44], 0
mov dword [rsp + 0x20], r13d
jmp 0x180068275
mov ecx, dword [r8]
mov r9d, dword [r11 + 0x1c]
shl r9d, cl
mov ecx, dword [rsp + 0x28]
mov dword [rsp + 0x74], r9d
jmp 0x180068275
mov eax, ebx
sub eax, 0x158
je 0x180067fca
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x58]
cmp eax, 0x31
jne 0x18006827f
mov eax, r9d
shr eax, 1
mov dword [rbp + 0x44], eax
jmp 0x18006827f
movzx eax, byte [r10 + 4]
or al, byte [r11 + 4]
mov byte [rbp + 0xa4], al
movzx eax, byte [r10 + 5]
or al, byte [r11 + 5]
mov byte [rbp + 0xa5], al
movzx eax, byte [r10 + 6]
or al, byte [r11 + 6]
mov byte [rbp + 0xa6], al
movzx eax, byte [r10 + 7]
or al, byte [r11 + 7]
mov byte [rbp + 0xa7], al
movzx eax, byte [r10 + 8]
or al, byte [r11 + 8]
mov byte [rbp + 0xa8], al
movzx eax, byte [r10 + 9]
or al, byte [r11 + 9]
mov byte [rbp + 0xa9], al
movzx eax, byte [r10 + 0xa]
or al, byte [r11 + 0xa]
mov byte [rbp + 0xaa], al
movzx eax, byte [r10 + 0xb]
or al, byte [r11 + 0xb]
mov byte [rbp + 0xab], al
movzx eax, byte [r10 + 0xc]
or al, byte [r11 + 0xc]
mov byte [rbp + 0xac], al
movzx eax, byte [r10 + 0xd]
or al, byte [r11 + 0xd]
mov byte [rbp + 0xad], al
movzx eax, byte [r10 + 0xe]
or al, byte [r11 + 0xe]
mov byte [rbp + 0xae], al
movzx eax, byte [r10 + 0xf]
or al, byte [r11 + 0xf]
mov byte [rbp + 0xaf], al
movzx eax, byte [r10 + 0x10]
or al, byte [r11 + 0x10]
mov byte [rbp + 0xb0], al
movzx eax, byte [r10 + 0x11]
or al, byte [r11 + 0x11]
mov byte [rbp + 0xb1], al
movzx eax, byte [r10 + 0x12]
or al, byte [r11 + 0x12]
mov byte [rbp + 0xb2], al
movzx eax, byte [r10 + 0x13]
or al, byte [r11 + 0x13]
mov byte [rbp + 0xb3], al
movzx eax, byte [r10 + 0x14]
or al, byte [r11 + 0x14]
mov byte [rbp + 0xb4], al
movzx eax, byte [r10 + 0x15]
or al, byte [r11 + 0x15]
mov byte [rbp + 0xb5], al
movzx eax, byte [r10 + 0x16]
or al, byte [r11 + 0x16]
mov byte [rbp + 0xb6], al
movzx eax, byte [r10 + 0x17]
or al, byte [r11 + 0x17]
mov byte [rbp + 0xb7], al
movzx eax, byte [r10 + 0x18]
or al, byte [r11 + 0x18]
mov byte [rbp + 0xb8], al
movzx eax, byte [r10 + 0x19]
or al, byte [r11 + 0x19]
mov byte [rbp + 0xb9], al
movzx eax, byte [r10 + 0x1a]
or al, byte [r11 + 0x1a]
mov byte [rbp + 0xba], al
movzx eax, byte [r10 + 0x1b]
or al, byte [r11 + 0x1b]
mov byte [rbp + 0xbb], al
movzx eax, byte [r10 + 0x1c]
or al, byte [r11 + 0x1c]
mov byte [rbp + 0xbc], al
movzx eax, byte [r10 + 0x1d]
or al, byte [r11 + 0x1d]
mov byte [rbp + 0xbd], al
movzx eax, byte [r10 + 0x1e]
or al, byte [r11 + 0x1e]
mov byte [rbp + 0xbe], al
movzx eax, byte [r10 + 0x1f]
or al, byte [r11 + 0x1f]
mov byte [rbp + 0xbf], al
movzx eax, byte [r10 + 0x20]
or al, byte [r11 + 0x20]
mov byte [rbp + 0xc0], al
movzx eax, byte [r10 + 0x21]
or al, byte [r11 + 0x21]
mov byte [rbp + 0xc1], al
movzx eax, byte [r10 + 0x22]
or al, byte [r11 + 0x22]
mov byte [rbp + 0xc2], al
movzx eax, byte [r10 + 0x23]
or al, byte [r11 + 0x23]
mov byte [rbp + 0xc3], al
jmp 0x180068275
mov r8, qword [rbp + 0x58]
movups xmm0, xmmword [rbp + 0xa0]
mov eax, dword [rbp + 0xc0]
movups xmm1, xmmword [rbp + 0xb0]
movups xmmword [r8], xmm0
movups xmmword [r8 + 0x10], xmm1
mov dword [r8 + 0x20], eax
jmp 0x180068275
cmp ebx, 0x291
ja 0x1800682e8
je 0x180068297
mov eax, ebx
sub eax, 0x1e1
je 0x180068235
sub eax, 0x27
je 0x18006a4f9
cmp eax, 0x31
jne 0x180068275
mov eax, dword [r11]
lea rdx, [rbp - 0x38]
sub eax, dword [r8]
mov ecx, 0xdc
mov dword [rbp - 0x60], eax
lea r8, [rbp - 0x60]
mov eax, dword [r11 + 8]
mov dword [rbp - 0x38], eax
call fcn.18006cdb0
mov edx, dword [rbp - 0x58]
mov ecx, dword [rsp + 0x28]
mov r11, qword [rsp + 0x40]
mov dword [rbp - 0x18], eax
jmp 0x180068270
mov eax, dword [r10]
lea rdx, [rbp - 0x38]
imul eax, r9d
mov ecx, 0xdc
mov dword [rsp + 0x70], eax
mov eax, dword [r11]
sub eax, dword [r8]
lea r8, [rbp - 0x60]
mov dword [rbp - 0x60], eax
mov eax, dword [r11 + 4]
mov dword [rbp - 0x38], eax
call fcn.18006cdb0
mov r11, qword [rsp + 0x40]
mov ecx, eax
mov edx, dword [rbp - 0x58]
mov dword [rsp + 0x28], eax
mov r9d, dword [rsp + 0x74]
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x58]
add ebx, 0x58
cmp ebx, edi
jae 0x1800683bb
mov r10, qword [rbp - 0x30]
mov r8, qword [rbp - 0x20]
jmp 0x180067ef0
mov dword [rbp + 8], ecx
lea r8, [rbp - 0x60]
mov r12d, 1
lea rdx, [rbp + 8]
mov ecx, 0xdc
mov dword [rbp - 0x60], r12d
call fcn.18006cdb0
mov esi, eax
mov dword [rbp + 8], eax
mov eax, dword [rbp - 0x18]
lea r8, [rbp - 0x60]
lea rdx, [rbp + 0x20]
mov dword [rbp + 0x20], eax
mov ecx, 0xdc
mov dword [rbp - 0x60], r12d
call fcn.18006cdb0
mov edx, dword [rbp - 0x58]
mov ecx, dword [rsp + 0x28]
mov r11, qword [rsp + 0x40]
mov dword [rbp + 0x20], eax
jmp 0x180068270
mov eax, ebx
sub eax, 0x2e9
je 0x18006835c
cmp eax, 0x58
jne 0x180068275
mov r8d, dword [r10]
mov r10d, r8d
movsxd rcx, dword [r14]
mov rax, qword [r11 + 0x38]
lea r9, [rcx*8]
imul r10d, r15d
movsxd rdx, dword [rax + rcx*4]
mov eax, 1
sub eax, edx
imul r10d, dword [rsp + 0x74]
cdqe
mov rcx, qword [r11 + rdx*8 + 0x28]
mov edx, dword [rbp - 0x58]
imul r8d, edx
add r10, qword [rcx + r9]
mov rcx, qword [r11 + rax*8 + 0x28]
mov qword [rsp + 0x38], r10
imul r8d, dword [rbp + 0x44]
add r8, qword [rcx + r9]
mov ecx, dword [rsp + 0x28]
mov r9d, dword [rsp + 0x74]
mov qword [rsp + 0x58], r8
jmp 0x18006827f
mov dword [rbp + 0x98], ecx
lea r8, [rbp + 0x90]
mov ecx, 0xdc
mov dword [rbp + 0x90], 3
lea rdx, [rbp + 0x98]
call fcn.18006cdb0
lea r8, [rbp + 0x68]
mov dword [rbp - 0x14], eax
lea rdx, [rsp + 0x30]
mov dword [rbp + 0x68], 3
mov ecx, 0xdc
mov dword [rsp + 0x30], esi
mov r15d, eax
call fcn.18006cdb0
mov ecx, dword [rsp + 0x28]
mov edx, eax
mov r11, qword [rsp + 0x40]
mov dword [rbp - 0x58], eax
jmp 0x180068270
mov r15d, dword [rsp + 0x28]
mov r9d, dword [rsp + 0x70]
mov eax, dword [rbp - 0x14]
mov rcx, qword [rbp + 0x58]
jmp 0x1800683fc
mov r10, qword [rbp + 0x60]
mov r8, qword [rbp + 0x60]
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x30]
mov dword [rbp - 0x44], eax
mov eax, dword [rsp + 0x30]
mov dword [rbp - 0x14], eax
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x70], r9d
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x58], r8
mov ebx, dword [rbp + 0x40]
lea edi, [rbx + 0xd]
mov dword [rsp + 0x48], edi
cmp ebx, edi
jae 0x18006a642
mov r12d, dword [rsp + 0x24]
mov esi, dword [rbp - 0x50]
mov ecx, dword [rsp + 0x48]
mov ebx, edx
mov edx, 5
mov edi, eax
mov eax, dword [rbp + 0x40]
mov dword [rbp - 0x40], edx
mov qword [rbp], rdi
mov qword [rbp + 0x88], rbx
nop dword [rax]
nop dword [rax + rax]
add eax, 0xffffff7f
cmp eax, 0xc
ja case.default.0x180068466
lea rcx, [0x180000000]
mov ecx, dword [rcx + rax*4 + 0x6a670]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
mov dword [rbp - 0x78], 0
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x68]
movsxd rdx, dword [rdx]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rbp + 0x38]
mov qword [rax + 0x1020], rcx
jmp 0x1800692d8
mov r8d, dword [rsp + 0x24]
test r8d, r8d
je 0x1800684b6
mov dword [rbp - 0x70], 0
jmp 0x180068539
mov edx, 0xc8
mov r11d, 1
mov eax, edx
sub eax, 0xc8
je 0x1800686b2
cmp eax, 0x7c
jne 0x180068524
cmp r9d, r11d
mov r9, qword [rbp + 0x28]
jbe 0x180068690
mov ecx, dword [rbp - 0x70]
mov rbx, r9
sub rbx, rdi
mov dword [rbp - 0x70], ecx
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x28], r9
cmp r9, r10
jae 0x18006851f
movzx ecx, byte [rbx]
inc rbx
movzx eax, byte [r9]
inc r9
mov qword [rbp + 0x48], rbx
mov qword [rbp + 0x28], r9
cmp al, cl
jne 0x180068518
mov dword [rbp - 0x70], r11d
jmp 0x1800684f4
mov dword [rbp - 0x70], 0
mov r9d, dword [rsp + 0x70]
add edx, 0x7c
cmp edx, 0x1c0
jb 0x1800684c1
mov r11, qword [rsp + 0x40]
mov edx, 5
mov rax, qword [rbp - 0x20]
cmp dword [rax], 0
jne 0x1800692c1
xor ebx, ebx
mov r12d, r8d
mov dword [rbp - 0x68], ebx
cmp dword [rsp + 0x74], ebx
jbe 0x1800692d3
nop dword [rax + rax]
cmp r9d, dword [rbp - 0x18]
jae 0x18006a2ac
cmp dword [rbp - 0x54], 0
jne 0x1800687fb
mov r15d, dword [rbp - 0x78]
cmp r15d, 0x800
jbe 0x1800687fb
mov r12d, dword [rbp - 0x4c]
mov edi, 0x11b
nop
mov eax, edi
sub eax, 0x11b
je 0x180068865
sub eax, 0x41
je 0x180068859
sub eax, 0x41
je 0x180068723
sub eax, 0x41
je 0x1800686ff
cmp eax, 0x41
jne 0x1800687d4
mov esi, dword [rbp - 0x64]
mov edx, r15d
mov r9d, r15d
sub edx, esi
shr r9d, 3
cmp edx, r9d
jae 0x1800686f3
mov rax, qword [r11 + 0x50]
movsxd rcx, dword [r14]
movsxd r10, dword [rax + rcx*4]
mov eax, esi
mov r8d, dword [rbp + r10*4 + 0xd0]
sub eax, r8d
cmp eax, edx
jbe 0x1800686f3
mov ecx, r15d
shr ecx, 4
cmp eax, ecx
jbe 0x1800686f3
sub r8d, r15d
lea eax, [r8 + rsi]
cmp eax, edx
jbe 0x1800686f3
cmp eax, ecx
jbe 0x1800686f3
mov ecx, esi
mov eax, r15d
sub ecx, dword [rbp - 0x48]
shr eax, 2
cmp ecx, eax
jbe 0x1800686f3
test r10d, r10d
jne 0x180068645
mov eax, dword [rbp + 0x18]
sub eax, dword [rbp + 0x14]
cmp eax, r9d
jbe 0x1800686f3
mov r15d, dword [rbp - 0x50]
mov r8d, 0xde
nop
cmp r8d, 0xde
je 0x1800686d4
cmp r8d, 0x17e
jne 0x1800686d7
test dword [r11 + 0x44], 0x100
jne 0x1800686d7
mov edx, 0x121
mov eax, edx
sub eax, 0x121
je 0x1800686c5
cmp eax, 1
jne 0x1800686c8
movsxd rcx, dword [r14]
mov rax, qword [r11 + 0x50]
mov dword [rax + rcx*4], r15d
jmp 0x1800686c8
cmp r9, r10
jae 0x18006851f
movzx eax, byte [r9]
inc r9
mov qword [rbp + 0x28], r9
test al, al
jne 0x180068518
mov dword [rbp - 0x70], r11d
jmp 0x180068690
mov rax, r10
mov dword [rbp - 0x70], r11d
sub rax, rdi
mov qword [rbp + 0x28], rax
jmp 0x180068524
mov dword [rbp + 0x10], ebx
inc edx
cmp edx, 0x123
jb 0x180068671
jmp 0x1800686d7
mov r15d, r12d
add r8d, 0xa0
cmp r8d, 0x21e
jb 0x180068650
mov dword [rbp - 0x50], r15d
mov r15d, dword [rbp - 0x78]
mov dword [rbp - 0x54], 1
jmp 0x1800687d4
mov ecx, dword [rbp + 0xd0]
mov r8d, ecx
cmp ecx, dword [rbp - 0x48]
cmovae r8d, dword [rbp - 0x48]
cmp ecx, dword [rbp - 0x64]
mov dword [rbp + 0x14], r8d
cmovbe ecx, dword [rbp - 0x64]
mov dword [rbp + 0x18], ecx
jmp 0x1800687d4
test byte [r11 + 0x44], 0x40
mov r10d, 3
mov ebx, dword [r11 + 0x48]
cmovne r10d, edx
mov dword [rsp + 0x68], ebx
cmp r10d, ebx
ja 0x1800687d1
mov r14d, dword [rbp - 0x48]
nop word [rax + rax]
mov ebx, dword [rbp - 0x64]
lea r9, [rbp + 0xd0]
lea r9, [r9 + r10*4]
movsxd r8, r12d
mov edx, SHSetInstanceExplorer
movsxd r11, r10d
nop dword [rax]
cmp edx, 0xaf
je 0x180068796
cmp edx, 0x222e
jne 0x1800687aa
mov eax, dword [rbp + r8*4 + 0xd0]
cmp dword [r9], eax
jbe 0x1800687aa
mov dword [rbp - 0x4c], r10d
mov r8, r11
jmp 0x1800687aa
mov ecx, dword [r9]
cmp ecx, ebx
mov eax, ecx
cmovbe eax, ebx
mov ebx, eax
cmp ecx, r14d
jae 0x1800687aa
mov r14d, ecx
add edx, 0x217f
cmp edx, 0x42fe
jbe 0x180068770
mov r12d, dword [rbp - 0x4c]
inc r10d
mov dword [rbp - 0x48], r14d
mov dword [rbp - 0x64], ebx
cmp r10d, dword [rsp + 0x68]
jbe 0x180068750
mov r14, qword [rbp - 0x28]
mov ebx, dword [rbp - 0x68]
mov r11, qword [rsp + 0x40]
add edi, 0x41
mov edx, 5
cmp edi, 0x260
jb 0x180068590
mov r10, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x24]
mov rdi, qword [rbp]
mov r9, qword [rsp + 0x40]
mov r8d, dword [r9 + 0x44]
test r8b, 8
je 0x180068949
mov qword [rbp + 0x28], r10
mov esi, 1
mov dword [rsp + 0x78], esi
mov r9, r10
test ebx, ebx
jne 0x180068886
test r12d, r12d
je 0x180068886
lea rcx, [rdi + r10]
nop dword [rax + rax]
mov dword [rsp + 0x78], esi
mov edi, esi
cmp r9, rcx
jae 0x1800688f0
movzx eax, byte [r9]
inc r9
mov qword [rbp + 0x28], r9
test al, al
je 0x180068830
xor edi, edi
mov dword [rsp + 0x78], edi
jmp 0x1800688f0
xor r12d, r12d
mov dword [rbp - 0x4c], r12d
jmp 0x1800687d4
mov dword [rbp + 0x14], 0xffffffff
mov dword [rbp - 0x48], 0xffffffff
mov dword [rbp + 0x18], 0
mov dword [rbp - 0x64], 0
jmp 0x1800687d4
mov edx, 0x79
nop dword [rax + rax]
cmp edx, 0x79
je 0x1800688d0
cmp edx, 0x2e52
jne 0x1800688da
mov r11, qword [rbp + 0x48]
cmp r11, r10
jae 0x1800688da
movzx ecx, byte [r11]
inc r11
movzx eax, byte [r9]
inc r9
mov qword [rbp + 0x48], r11
mov qword [rbp + 0x28], r9
cmp al, cl
jne 0x1800688c6
mov dword [rsp + 0x78], esi
jmp 0x1800688a1
mov dword [rsp + 0x78], 0
jmp 0x1800688da
mov r14, r10
sub r14, rdi
mov qword [rbp + 0x48], r14
add edx, 0x2dd9
cmp edx, 0x5bb2
jbe 0x180068890
mov r14, qword [rbp - 0x28]
mov edi, dword [rsp + 0x78]
xor eax, eax
lea r9, [rsp + 0x68]
cmp edi, dword [rbp - 0x70]
mov ecx, 0x195
mov edx, 7
sete al
test r8b, 0x40
mov dword [rbp - 0x70], eax
lea r8, [rbp - 0x70]
mov eax, SHSetFolderPathW
cmovne eax, ecx
mov rcx, qword [rbp + 0x38]
mov dword [rsp + 0x68], eax
call fcn.180062a50
mov dword [rbp - 0x70], edi
test edi, edi
je 0x180068944
mov r10, qword [rsp + 0x38]
mov rdi, qword [rbp]
add r10, rdi
mov qword [rsp + 0x38], r10
jmp 0x180069291
mov r9, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x24]
xor r8d, r8d
xor r15d, r15d
mov dword [rsp + 0x20], r8d
xor r14d, r14d
test ebx, ebx
jne 0x180068965
test r11d, r11d
jne 0x18006897e
mov r10, qword [rsp + 0x38]
mov rdi, qword [rbp]
mov rax, r10
sub rax, rdi
movzx r14d, byte [rax]
shl r14d, 8
jmp 0x180068987
mov r10, qword [rsp + 0x38]
mov rdi, qword [rbp]
cmp ebx, 1
ja 0x180068991
test r11d, r11d
jne 0x1800689a3
lea rax, [rdi + rdi]
mov rcx, r10
sub rcx, rax
movzx r15d, byte [rcx]
shl r15d, 8
mov ecx, dword [rsp + 0x28]
xor esi, esi
test ecx, ecx
je 0x180069288
mov r12, r10
mov r13d, 0xc9
sub r12, rdi
mov rdx, r12
sub rdx, rdi
mov qword [rbp + 0x30], rdx
nop word [rax + rax]
cmp r13d, 0xc9
je 0x180069220
cmp r13d, 0x15e
jne 0x180068dd3
test byte [r9 + 0x44], 0x40
je 0x180068e10
nop word [rax + rax]
mov edi, 0x41
mov eax, edi
sub eax, 0x3f
je 0x180068a32
sub eax, 1
je 0x180068a27
cmp eax, 1
jne 0x180068db1
add r8d, r8d
mov dword [rsp + 0x20], r8d
jmp 0x180068db1
add r14d, r14d
add r15d, r15d
jmp 0x180068db1
mov rdx, qword [rbp - 0x28]
mov rax, qword [r9 + 0x50]
movsxd rcx, dword [rdx]
cmp dword [rax + rcx*4], 0
je 0x180068b47
mov ebx, 0x22
nop dword [rax]
cmp ebx, 0x22
je 0x180068aab
cmp ebx, 0x2c7e
jne 0x180068b33
mov eax, r8d
lea r9, [rsp + 0x68]
shr eax, 8
mov ecx, r14d
shr ecx, 1
and eax, 1
and ecx, 0x7c000
mov dword [rbp - 0x80], eax
mov eax, r8d
mov edx, 7
and eax, 0x1e00
lea r8, [rbp - 0x80]
or ecx, eax
shr ecx, 9
or ecx, dword [rsp + 0x60]
mov dword [rsp + 0x68], ecx
mov rcx, qword [rbp + 0x38]
call fcn.180062a50
mov r10, qword [rsp + 0x38]
jmp 0x180068b25
movsxd rcx, dword [rdx]
mov rax, qword [r9 + 0x50]
mov r8d, dword [rax + rcx*4]
cmp r8d, esi
jbe 0x180068ac5
mov dword [rsp + 0x60], 0
jmp 0x180068b2e
mov edx, 0x85
nop word [rax + rax]
mov eax, edx
sub eax, 0x85
je 0x180068b09
cmp eax, 1
jne 0x180068b1b
movsxd r9, dword [rbp - 8]
mov ecx, 7
movzx eax, r9b
and al, 7
sub cl, al
mov rax, r9
sar rax, 3
movzx eax, byte [rax + r10]
shr eax, cl
and eax, 1
shl eax, 4
mov dword [rsp + 0x60], eax
jmp 0x180068b1b
mov eax, esi
mov r9d, esi
and eax, 0xfffffff8
sub r9d, eax
sub r9d, r8d
mov dword [rbp - 8], r9d
inc edx
cmp edx, 0x87
jb 0x180068ad0
mov rdx, qword [rbp - 0x28]
mov r9, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x20]
add ebx, 0x162e
cmp ebx, 0x428a
jbe 0x180068a50
jmp 0x180068b86
mov eax, r8d
lea r9, [rbp - 0x80]
shr eax, 8
mov ecx, r14d
shr ecx, 1
and eax, 1
and ecx, 0x7e000
mov dword [rsp + 0x68], eax
mov eax, r8d
mov edx, 7
and eax, 0x1e00
lea r8, [rsp + 0x68]
or ecx, eax
shr ecx, 9
mov dword [rbp - 0x80], ecx
mov rcx, qword [rbp + 0x38]
call fcn.180062a50
cmp dword [rbp - 0x54], 0
mov r9, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x28]
jne 0x180068da7
mov r10d, dword [r9 + 0x48]
cmp esi, r10d
jb 0x180068da7
lea eax, [rcx - 2]
cmp esi, eax
jae 0x180068da7
mov ebx, dword [rbp - 0x38]
mov r11d, 0xbd
nop word [rax + rax]
mov eax, r11d
movd xmm0, ebx
pshufd xmm0, xmm0, 0
sub eax, 0xbd
je 0x180068d84
sub eax, 6
je 0x180068bf2
mov r8d, dword [rsp + 0x20]
cmp eax, 3
jne 0x180068d65
inc dword [rbp - 0x78]
jmp 0x180068d65
mov edx, 5
cmp r10d, edx
jb 0x180068c86
cmp edx, esi
ja 0x180068c86
mov r8d, 0xe9
nop
mov eax, r8d
sub eax, 0xe9
je 0x180068c39
cmp eax, 0x6d
jne 0x180068c6e
mov eax, edx
lea rcx, [rbp + 0xd0]
lea rcx, [rcx + rax*4]
xor eax, eax
cmp dword [rsp + 0x60], ebx
sete al
add dword [rcx], eax
jmp 0x180068c6e
mov r9d, esi
mov ecx, 7
and r9d, 7
sub r9d, edx
movzx eax, r9b
mov dword [rbp - 8], r9d
and al, 7
sub cl, al
movsxd rax, r9d
mov r9, qword [rsp + 0x38]
sar rax, 3
movzx eax, byte [rax + r9]
shr eax, cl
and eax, 1
mov dword [rsp + 0x60], eax
add r8d, 0x6d
cmp r8d, 0x1c3
jb 0x180068c10
inc edx
cmp edx, r10d
jbe 0x180068c00
mov eax, r10d
sub eax, edx
inc eax
cmp edx, r10d
ja 0x180068d60
cmp eax, 0x10
jb 0x180068d3c
xorps xmm2, xmm2
lea r9d, [rdx + 8]
pcmpeqd xmm2, xmm0
and eax, 0xf
pand xmm2, xmmword [0x180080b90]
mov r8d, r10d
sub r8d, eax
nop dword [rax + rax]
mov eax, edx
movdqa xmm1, xmm2
add edx, 0x10
movdqu xmm0, xmmword [rbp + rax*4 + 0xd0]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0xd0], xmm1
lea eax, [r9 - 4]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rbp + rax*4 + 0xd0]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0xd0], xmm1
lea eax, [r9 + 4]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rbp + r9*4 + 0xd0]
paddd xmm0, xmm2
movdqu xmmword [rbp + r9*4 + 0xd0], xmm0
lea r9d, [r9 + 0x10]
movdqu xmm0, xmmword [rbp + rax*4 + 0xd0]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0xd0], xmm1
cmp edx, r8d
jbe 0x180068cc0
cmp edx, r10d
ja 0x180068d60
xor ecx, ecx
test ebx, ebx
sete cl
nop dword [rax + rax]
mov eax, edx
inc edx
add dword [rbp + rax*4 + 0xd0], ecx
cmp edx, r10d
jbe 0x180068d50
mov r8d, dword [rsp + 0x20]
add r11d, 3
cmp r11d, 0xc9
jb 0x180068bc0
mov r9, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x28]
mov dword [rbp - 0x38], ebx
jmp 0x180068dac
mov r8d, dword [rsp + 0x20]
mov eax, r14d
shr eax, 0xe
mov ebx, r8d
not eax
shr ebx, 8
and eax, 1
and ebx, 1
xor eax, ebx
add dword [rbp + 0xd0], eax
jmp 0x180068d65
mov r8d, dword [rsp + 0x20]
mov r10, qword [rsp + 0x38]
dec edi
cmp edi, 0x3e
ja 0x180068a05
inc esi
test sil, 7
je 0x180068dcc
cmp esi, ecx
jb 0x180068a00
mov ebx, dword [rbp - 0x68]
mov rdx, qword [rbp + 0x30]
mov ecx, dword [rsp + 0x28]
add r13d, 0x95
mov r11d, dword [rsp + 0x24]
cmp r13d, 0x1f3
jb 0x1800689d0
mov rdi, qword [rbp]
inc r10
mov qword [rsp + 0x38], r10
cmp esi, ecx
jb 0x1800689b1
mov r12d, r11d
jmp 0x18006928d
mov edi, SHSetInstanceExplorer
mov eax, edi
sub eax, 0xad
je 0x180068e44
sub eax, 1
je 0x180068e39
cmp eax, 1
jne 0x1800691f9
add r8d, r8d
mov dword [rsp + 0x20], r8d
jmp 0x1800691f9
add r14d, r14d
add r15d, r15d
jmp 0x1800691f9
mov rdx, qword [rbp - 0x28]
mov rax, qword [r9 + 0x50]
movsxd rcx, dword [rdx]
cmp dword [rax + rcx*4], 0
je 0x180068f69
mov ebx, SHSetFolderPathW
nop
mov eax, ebx
sub eax, 0xe4
je 0x180068ef6
cmp eax, 2
jne 0x180068f59
movsxd rcx, dword [rdx]
mov rax, qword [r9 + 0x50]
mov r8d, dword [rax + rcx*4]
cmp r8d, esi
jbe 0x180068e93
mov dword [rsp + 0x60], 0
jmp 0x180068f54
mov edx, 0x83
nop dword [rax + rax]
mov eax, edx
sub eax, 0x83
je 0x180068eb5
cmp eax, 0x68
jne 0x180068ee9
shl dword [rsp + 0x60], 2
jmp 0x180068ee9
mov eax, esi
mov r9d, esi
and eax, 0xfffffff8
mov ecx, 7
sub r9d, eax
sub r9d, r8d
movzx eax, r9b
mov dword [rbp - 8], r9d
and al, 7
sub cl, al
movsxd rax, r9d
sar rax, 3
movzx eax, byte [rax + r10]
shr eax, cl
and eax, 1
mov dword [rsp + 0x60], eax
add edx, 0x68
cmp edx, 0x153
jb 0x180068ea0
jmp 0x180068f4b
mov eax, r8d
lea r9, [rbp - 0x80]
shr eax, 8
mov ecx, r14d
shr ecx, 3
and eax, 1
and ecx, 0xf000
mov dword [rsp + 0x68], eax
mov eax, r8d
mov edx, 7
and eax, 0x600
lea r8, [rsp + 0x68]
or ecx, eax
mov eax, r15d
shr ecx, 1
and eax, 0x38000
or ecx, eax
shr ecx, 8
or ecx, dword [rsp + 0x60]
mov dword [rbp - 0x80], ecx
mov rcx, qword [rbp + 0x38]
call fcn.180062a50
mov r10, qword [rsp + 0x38]
mov rdx, qword [rbp - 0x28]
mov r9, qword [rsp + 0x40]
mov r8d, dword [rsp + 0x20]
dec ebx
cmp ebx, 0xe3
ja 0x180068e60
jmp 0x180068fb5
mov eax, r8d
lea r9, [rbp - 0x80]
shr eax, 8
mov ecx, r14d
shr ecx, 3
and eax, 1
and ecx, 0xf800
mov dword [rsp + 0x68], eax
mov eax, r8d
mov edx, 7
and eax, 0x600
lea r8, [rsp + 0x68]
or ecx, eax
mov eax, r15d
shr ecx, 1
and eax, 0x38000
or ecx, eax
shr ecx, 8
mov dword [rbp - 0x80], ecx
mov rcx, qword [rbp + 0x38]
call fcn.180062a50
cmp dword [rbp - 0x54], 0
mov r9, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x28]
jne 0x1800691ef
mov r11d, dword [r9 + 0x48]
cmp esi, r11d
jb 0x1800691ef
lea eax, [rcx - 2]
cmp esi, eax
jae 0x1800691ef
mov ebx, dword [rbp - 0x38]
mov r10d, 0xd5
nop dword [rax]
movd xmm0, ebx
pshufd xmm0, xmm0, 0
cmp r10d, 0xd5
je 0x1800691df
cmp r10d, 0xa095
je 0x1800691c7
cmp r10d, 0x14055
je 0x180069036
mov r8d, dword [rsp + 0x20]
cmp r10d, 0x1e015
jne 0x1800691a5
inc dword [rbp - 0x78]
jmp 0x1800691a5
mov edx, 3
cmp r11d, edx
jb 0x1800690cb
cmp edx, esi
ja 0x1800690cb
mov r8d, 0x1d
cmp r8d, 0x1d
je 0x18006907b
cmp r8d, 0x8f3
jne 0x1800690b0
mov eax, edx
lea rcx, [rbp + 0xd0]
lea rcx, [rcx + rax*4]
xor eax, eax
cmp dword [rsp + 0x60], ebx
sete al
add dword [rcx], eax
jmp 0x1800690b0
mov r9d, esi
mov ecx, 7
and r9d, 7
sub r9d, edx
movzx eax, r9b
mov dword [rbp - 8], r9d
and al, 7
sub cl, al
movsxd rax, r9d
mov r9, qword [rsp + 0x38]
sar rax, 3
movzx eax, byte [rax + r9]
shr eax, cl
and eax, 1
mov dword [rsp + 0x60], eax
add r8d, 0x46b
cmp r8d, 0xd41
jbe 0x180069052
inc edx
cmp edx, r11d
jbe 0x180069044
mov eax, r11d
sub eax, edx
inc eax
cmp edx, r11d
ja 0x1800691a0
cmp eax, 0x10
jb 0x18006917c
xorps xmm2, xmm2
lea r9d, [rdx + 8]
pcmpeqd xmm2, xmm0
and eax, 0xf
pand xmm2, xmmword [0x180080b90]
mov r8d, r11d
sub r8d, eax
mov eax, edx
movdqa xmm1, xmm2
add edx, 0x10
movdqu xmm0, xmmword [rbp + rax*4 + 0xd0]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0xd0], xmm1
lea eax, [r9 - 4]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rbp + rax*4 + 0xd0]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0xd0], xmm1
lea eax, [r9 + 4]
movdqa xmm1, xmm2
movdqu xmm0, xmmword [rbp + r9*4 + 0xd0]
paddd xmm0, xmm2
movdqu xmmword [rbp + r9*4 + 0xd0], xmm0
lea r9d, [r9 + 0x10]
movdqu xmm0, xmmword [rbp + rax*4 + 0xd0]
paddd xmm1, xmm0
movdqu xmmword [rbp + rax*4 + 0xd0], xmm1
cmp edx, r8d
jbe 0x180069100
cmp edx, r11d
ja 0x1800691a0
xor ecx, ecx
test ebx, ebx
sete cl
nop dword [rax + rax]
mov eax, edx
inc edx
add dword [rbp + rax*4 + 0xd0], ecx
cmp edx, r11d
jbe 0x180069190
mov r8d, dword [rsp + 0x20]
add r10d, 0x9fc0
cmp r10d, 0x27f00
jbe 0x180068ff0
mov r9, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x28]
mov dword [rbp - 0x38], ebx
jmp 0x1800691f4
xor eax, eax
mov ecx, r14d
shr ecx, 0xe
and ecx, 1
cmp ecx, ebx
sete al
add dword [rbp + 0xd0], eax
jmp 0x1800691a0
mov r8d, dword [rsp + 0x20]
mov ebx, r8d
shr ebx, 8
and ebx, 1
jmp 0x1800691a5
mov r8d, dword [rsp + 0x20]
mov r10, qword [rsp + 0x38]
dec edi
cmp edi, 0xac
ja 0x180068e15
inc esi
test sil, 7
je 0x180068dcc
cmp esi, ecx
jb 0x180068e10
jmp 0x180068dcc
movzx eax, byte [r10]
or r8d, eax
mov eax, dword [rbp - 0x14]
mov dword [rsp + 0x20], r8d
lea eax, [rax*8 - 8]
cmp esi, eax
jae 0x180068dd3
test ebx, ebx
jne 0x18006924b
test r11d, r11d
jne 0x180068dd3
mov ecx, 0xdf
mov eax, ecx
sub eax, 0xdf
je 0x180069270
cmp eax, 1
jne 0x180069279
cmp ebx, eax
ja 0x180069267
test r11d, r11d
jne 0x180069279
movzx eax, byte [rdx + 1]
or r15d, eax
jmp 0x180069279
movzx eax, byte [r12 + 1]
or r14d, eax
inc ecx
cmp ecx, 0xe1
jb 0x180069250
jmp 0x180068dd3
mov r12d, dword [rsp + 0x24]
mov r14, qword [rbp - 0x28]
mov r9d, dword [rsp + 0x70]
inc ebx
mov r11, qword [rsp + 0x40]
inc r9d
mov edx, 5
mov dword [rbp - 0x68], ebx
mov dword [rsp + 0x70], r9d
cmp ebx, dword [rsp + 0x74]
jb 0x180068560
mov r13d, dword [rsp + 0x20]
mov esi, dword [rbp - 0x50]
jmp 0x1800692d3
mov edx, dword [rsp + 0x74]
xor r12d, r12d
mov dword [rbp - 0x68], r12d
test edx, edx
jne 0x180069315
mov r12d, r8d
mov r8, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x48]
mov eax, dword [rbp + 0x40]
inc eax
mov dword [rbp + 0x40], eax
cmp eax, ecx
jae 0x18006a4f9
mov r14, qword [rbp - 0x28]
mov edx, 5
mov r15d, dword [rsp + 0x28]
mov r9d, dword [rsp + 0x70]
mov rbx, qword [rbp + 0x88]
jmp 0x180068440
mov r8d, dword [rsp + 0x24]
cmp r9d, dword [rbp - 0x18]
jae 0x18006a04b
cmp dword [rbp - 0x54], 0
jne 0x18006959e
mov ebx, dword [rbp - 0x78]
cmp ebx, 0x800
jbe 0x18006959e
mov r13d, dword [rbp - 0x64]
mov esi, ILRemoveLastID
mov r15d, dword [rbp - 0x48]
cmp esi, 0x10
je 0x1800695d8
cmp esi, 0x2b0
je 0x1800695c8
cmp esi, 0x550
je 0x18006949d
cmp esi, 0x7f0
je 0x18006947c
cmp esi, 0xa90
jne 0x18006956a
mov edx, ebx
mov r9d, ebx
sub edx, r13d
shr r9d, 3
cmp edx, r9d
jae 0x180069470
mov rax, qword [r11 + 0x50]
movsxd rcx, dword [r14]
movsxd r10, dword [rax + rcx*4]
mov eax, r13d
mov r8d, dword [rbp + r10*4 + 0xd0]
sub eax, r8d
cmp eax, edx
jbe 0x180069470
mov ecx, ebx
shr ecx, 4
cmp eax, ecx
jbe 0x180069470
sub r8d, ebx
lea eax, [r8 + r13]
cmp eax, edx
jbe 0x180069470
cmp eax, ecx
jbe 0x180069470
mov ecx, r13d
mov eax, ebx
sub ecx, r15d
shr eax, 2
cmp ecx, eax
jbe 0x180069470
test r10d, r10d
jne 0x1800693fb
mov eax, dword [rbp + 0x18]
sub eax, dword [rbp + 0x14]
cmp eax, r9d
jbe 0x180069470
mov ebx, dword [rbp - 0x4c]
mov r8d, 0x73
mov r15d, dword [rbp - 0x50]
mov eax, r8d
sub eax, 0x73
je 0x180069455
cmp eax, 0x4c
jne 0x180069458
test dword [r11 + 0x44], 0x100
jne 0x180069458
mov edx, 0xf5
cmp edx, 0xf5
je 0x180069441
cmp edx, 0x177
jne 0x180069445
movsxd rcx, dword [r14]
mov rax, qword [r11 + 0x50]
mov dword [rax + rcx*4], r15d
jmp 0x180069445
mov dword [rbp + 0x10], r12d
add edx, 0x82
cmp edx, 0x1f9
jb 0x180069424
jmp 0x180069458
mov r15d, ebx
add r8d, 0x4c
cmp r8d, 0x10b
jb 0x180069408
mov ebx, dword [rbp - 0x78]
mov dword [rbp - 0x50], r15d
mov r15d, dword [rbp - 0x48]
mov dword [rbp - 0x54], 1
jmp 0x18006956a
mov eax, dword [rbp + 0xd0]
cmp eax, r15d
mov ecx, eax
cmovae ecx, r15d
cmp eax, r13d
mov dword [rbp + 0x14], ecx
cmovbe eax, r13d
mov dword [rbp + 0x18], eax
jmp 0x18006956a
mov edi, dword [r11 + 0x48]
mov ebx, 3
xor r10d, r10d
mov dword [rbp - 0x4c], 0
mov r11d, ebx
cmp edi, ebx
jb 0x180069567
mov r12d, dword [rbp - 0x64]
mov r14d, r10d
nop dword [rax]
nop word [rax + rax]
mov eax, r11d
lea r9, [rbp + 0xd0]
mov r8d, 0x10c
lea r9, [r9 + rax*4]
cmp r8d, 0x10c
je 0x180069529
cmp r8d, 0x94a8
je 0x18006951a
cmp r8d, 0x12844
jne 0x180069530
mov edx, dword [rbp + r10*4 + 0xd0]
mov eax, r11d
cmp dword [r9], edx
cmovbe eax, r14d
cmova r10, rbx
mov r14d, eax
jmp 0x180069530
mov eax, dword [r9]
cmp eax, r15d
cmovae eax, r15d
mov r15d, eax
jmp 0x180069530
cmp dword [r9], r12d
cmova r12d, dword [r9]
add r8d, 0x939c
cmp r8d, 0x1bad4
jbe 0x1800694e4
inc r11d
mov dword [rbp - 0x4c], r14d
inc rbx
mov dword [rbp - 0x48], r15d
mov dword [rbp - 0x64], r12d
cmp r11d, edi
jbe 0x1800694d0
mov r12d, dword [rbp - 0x68]
mov r13d, dword [rbp - 0x64]
mov r14, qword [rbp - 0x28]
mov ebx, dword [rbp - 0x78]
mov r11, qword [rsp + 0x40]
add esi, 0x2a0
cmp esi, 0xd20
jbe 0x180069345
mov r13d, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x28]
mov r10, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x74]
mov eax, dword [rbp + 0x44]
mov ecx, r12d
shr ecx, 1
dec eax
cmp ecx, eax
jae 0x1800695ba
mov eax, dword [rbp + 0x20]
mov ecx, r9d
shr ecx, 1
dec eax
cmp ecx, eax
jb 0x1800695ee
mov rax, qword [rsp + 0x58]
mov rcx, rax
mov qword [rbp + 0x50], rax
jmp 0x1800695f7
xor r13d, r13d
mov dword [rbp + 0x18], 0
mov dword [rbp - 0x64], r13d
jmp 0x18006956a
mov r15d, 0xffffffff
mov dword [rbp + 0x14], 0xffffffff
mov dword [rbp - 0x48], r15d
jmp 0x18006956a
mov rax, qword [rsp + 0x58]
mov rcx, qword [rbp + 0x50]
mov r11, qword [rsp + 0x40]
test byte [r11 + 0x44], 0x10
je 0x1800699fa
test r12b, 1
jne 0x1800699fa
mov esi, dword [rbp - 0x10]
mov ebx, 0xb2
mov r14d, dword [rbp - 0xc]
mov rdi, r11
mov r15d, dword [rsp + 0x78]
mov dword [rsp + 0x20], ebx
nop dword [rax]
cmp ebx, 0x25f
ja 0x1800696e2
je 0x1800696c3
cmp ebx, 0xb2
je 0x1800696b3
cmp ebx, 0x141
je 0x1800696a6
cmp ebx, 0x1d0
jne 0x1800699c0
lea eax, [rdx - 1]
cmp r12d, eax
jae 0x180069678
mov eax, dword [rbp - 0x18]
dec eax
cmp r9d, eax
jae 0x180069678
add r10, qword [rbp]
mov qword [rbp + 0x60], r10
cmp r12d, 1
ja 0x18006968b
test r8d, r8d
je 0x18006968b
xor r14d, r14d
jmp 0x1800699c0
mov rax, qword [rbp + 0x80]
sub rax, qword [rbp + 0x88]
movzx r14d, byte [rax]
shl r14d, 8
jmp 0x1800699c0
mov qword [rbp + 0x28], r10
mov qword [rbp + 0x60], r10
jmp 0x1800699c0
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x80], rax
jmp 0x1800699c0
mov rax, qword [rbp + 0x80]
movzx esi, byte [rax]
mov rax, qword [rbp + 0x48]
shl esi, 8
movzx eax, byte [rax]
shl eax, 8
mov dword [rbp - 0x74], eax
jmp 0x1800699c0
cmp ebx, 0x2ee
je 0x180069725
cmp ebx, 0x37d
jne 0x1800699c0
mov rcx, qword [rbp + 0x38]
lea r9, [rbp - 0x80]
xor eax, eax
mov dword [rbp - 0x80], 0xc3f
test r15d, r15d
lea r8, [rsp + 0x68]
mov edx, 7
sete al
mov dword [rsp + 0x68], eax
call fcn.180062a50
jmp 0x1800699c0
mov r15d, dword [rbp + 8]
mov eax, 1
xor r9d, r9d
mov dword [rsp + 0x78], eax
mov ecx, eax
test r15d, r15d
je 0x1800699bd
mov rdx, qword [rbp + 0x80]
mov ebx, dword [rbp - 0x58]
jmp 0x180069754
mov ecx, dword [rsp + 0x78]
test ecx, ecx
je 0x180069962
mov r11, rdx
mov r10d, 0x57
sub r11, rbx
nop dword [rax + rax]
mov eax, r10d
sub eax, 0x57
je 0x18006996d
cmp eax, 0x29
jne 0x180069935
nop word [rax + rax]
mov r8d, ILRemoveLastID
nop word [rax + rax]
mov eax, r8d
sub eax, 0xf
je 0x1800698c6
cmp eax, 1
jne 0x180069912
mov edx, 0xde
nop word [rax + rax]
cmp edx, 0xde
je 0x18006989b
cmp edx, 0x2c3a
je 0x180069896
cmp edx, 0x5796
je 0x180069890
cmp edx, 0x82f2
je 0x18006988a
cmp edx, 0xae4e
jne 0x1800698a0
mov ecx, r14d
mov eax, esi
shr ecx, 3
and eax, 0x38000
and ecx, 0x7000
or ecx, eax
mov eax, dword [rbp - 0x74]
shr ecx, 3
and eax, 0x38000
or ecx, eax
shr ecx, 9
mov dword [rbp - 0x60], ecx
test ecx, ecx
jne 0x18006984a
mov eax, r13d
or eax, dword [rbp - 0x44]
test eax, 0x300
jne 0x180069842
mov rax, qword [rdi + 0x90]
mov byte [r9 + rax], cl
jmp 0x1800698a0
xor ecx, ecx
mov dword [rsp + 0x78], ecx
jmp 0x1800698a0
cmp ecx, 0x1ff
jne 0x18006987c
mov eax, r13d
and eax, dword [rbp - 0x44]
and eax, 0x300
cmp eax, 0x300
jne 0x180069872
mov rax, qword [rdi + 0x90]
mov byte [r9 + rax], 1
jmp 0x1800698a0
mov dword [rsp + 0x78], 0
jmp 0x1800698a0
mov rax, qword [rdi + 0x90]
mov byte [r9 + rax], 2
jmp 0x1800698a0
shl dword [rbp - 0x44], 2
jmp 0x1800698a0
shl r13d, 2
jmp 0x1800698a0
shl dword [rbp - 0x74], 1
jmp 0x1800698a0
add r14d, r14d
add esi, esi
add edx, 0x2b5c
cmp edx, 0xd8cc
jbe 0x1800697c0
inc r9d
test r9b, 3
je 0x180069912
cmp r9d, r15d
jb 0x1800697b5
jmp 0x180069912
mov eax, r9d
shr eax, 2
cmp eax, dword [rbp - 0x14]
jae 0x180069912
mov eax, 0xcb
cmp eax, 0xcb
je 0x1800698f7
cmp eax, 0x4db6
jne 0x180069906
mov rdx, qword [rbp + 0x60]
movzx ecx, byte [rdx]
inc rdx
mov qword [rbp + 0x60], rdx
mov dword [rbp - 0x44], ecx
jmp 0x180069906
mov rcx, qword [rbp + 0x28]
movzx r13d, byte [rcx]
inc rcx
mov qword [rbp + 0x28], rcx
add eax, 0x4ceb
cmp eax, 0x99d6
jbe 0x1800698d6
inc r8d
cmp r8d, 0x11
jb 0x1800697a0
test r9b, 7
je 0x18006992e
cmp r9d, r15d
jb 0x180069790
mov rdx, qword [rbp + 0x80]
mov r8d, dword [rsp + 0x24]
add r10d, 0x29
cmp r10d, 0xa9
jb 0x180069770
inc qword [rbp + 0x48]
inc rdx
mov qword [rbp + 0x80], rdx
cmp r9d, r15d
jb 0x180069750
mov ebx, dword [rsp + 0x20]
mov r15d, dword [rsp + 0x78]
jmp 0x1800699c0
lea eax, [rbx*8 - 8]
cmp r9d, eax
jae 0x180069935
mov ecx, 0x41
nop
cmp ecx, 0x41
je 0x180069997
cmp ecx, 0x60
jne 0x1800699b0
mov rax, qword [rbp + 0x48]
movzx eax, byte [rax + 1]
or dword [rbp - 0x74], eax
jmp 0x1800699b0
cmp r12d, 1
ja 0x1800699a2
test r8d, r8d
jne 0x1800699aa
movzx eax, byte [r11 + 1]
or r14d, eax
movzx eax, byte [rdx + 1]
or esi, eax
add ecx, 0x1f
cmp ecx, 0x7f
jb 0x180069980
jmp 0x180069935
mov r15d, eax
mov r10, qword [rsp + 0x38]
add ebx, 0x8f
mov r8d, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rcx, qword [rbp + 0x50]
mov edx, dword [rsp + 0x74]
mov dword [rsp + 0x20], ebx
cmp ebx, 0x40c
jb 0x180069630
mov r15d, dword [rsp + 0x28]
mov r11, rdi
xor r9d, r9d
xor r13d, r13d
xor esi, esi
mov dword [rbp - 0xc], r9d
xor edi, edi
mov dword [rsp + 0x20], r13d
test r12d, r12d
jne 0x180069a1a
mov eax, dword [rsp + 0x24]
test eax, eax
jne 0x180069a35
mov r8, qword [rsp + 0x38]
mov r10, qword [rbp]
mov rax, r8
sub rax, r10
movzx edi, byte [rax]
mov eax, dword [rsp + 0x24]
shl edi, 8
jmp 0x180069a3e
mov r8, qword [rsp + 0x38]
mov r10, qword [rbp]
cmp r12d, 1
ja 0x180069a48
test eax, eax
jne 0x180069a93
mov rdx, qword [rsp + 0x58]
lea rax, [r10 + r10]
sub rdx, qword [rbp + 0x88]
mov ecx, 0xcd
sub r8, rax
cmp ecx, 0xcd
je 0x180069a7a
cmp ecx, 0x15b
jne 0x180069a81
movzx r9d, byte [rdx]
shl r9d, 8
jmp 0x180069a81
movzx esi, byte [r8]
shl esi, 8
add ecx, 0x8e
cmp ecx, 0x1e9
jb 0x180069a60
mov dword [rbp - 0xc], r9d
mov rdx, qword [rsp + 0x58]
xor ebx, ebx
mov rcx, qword [rbp + 0x50]
movzx r10d, byte [rdx]
movzx r8d, byte [rcx]
shl r10d, 8
shl r8d, 8
mov dword [rbp - 0x10], r10d
mov dword [rbp - 0x74], r8d
test r15d, r15d
je 0x180069fe1
mov eax, dword [rbp - 0x58]
lea r15d, [rax*8 - 8]
mov eax, dword [rbp - 0x14]
mov dword [rbp + 0x30], r15d
lea r14d, [rax*8 - 8]
mov dword [rbp + 0x70], r14d
nop dword [rax]
mov eax, ebx
shr eax, 1
cmp eax, r15d
jae 0x180069b52
sub rdx, qword [rbp + 0x88]
mov ecx, 0xee
mov r11d, dword [rsp + 0x24]
nop word [rax + rax]
cmp ecx, 0xee
je 0x180069b1d
cmp ecx, 0x77ee
jne 0x180069b3b
mov rax, qword [rbp + 0x50]
movzx eax, byte [rax + 1]
or r8d, eax
jmp 0x180069b3b
cmp r12d, 1
ja 0x180069b28
test r11d, r11d
jne 0x180069b2f
movzx eax, byte [rdx + 1]
or r9d, eax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 1]
or r10d, eax
add ecx, 0x7700
cmp ecx, 0xee00
jbe 0x180069b00
mov r11, qword [rsp + 0x40]
mov dword [rbp - 0x74], r8d
mov r15d, dword [rbp - 0x60]
mov rdx, qword [rsp + 0x38]
nop dword [rax + rax]
movzx eax, byte [rdx]
or r13d, eax
cmp ebx, r14d
jae 0x180069bbb
test r12d, r12d
jne 0x180069b77
cmp dword [rsp + 0x24], r12d
jne 0x180069bbb
sub rdx, qword [rbp]
mov ecx, 0x8d
lea r8, [rdx + 1]
sub rdx, qword [rbp]
cmp ecx, 0x8d
jne 0x180069ba9
movzx eax, byte [r8]
or edi, eax
cmp r12d, 1
ja 0x180069ba3
cmp dword [rsp + 0x24], 0
jne 0x180069ba9
movzx eax, byte [rdx + 1]
or esi, eax
add ecx, 0x82
cmp ecx, 0x10f
jb 0x180069b88
mov r8d, dword [rbp - 0x74]
mov r14d, dword [rsp + 0x60]
mov r12d, dword [rbp - 0x54]
nop dword [rax]
nop dword [rax + rax]
add r8d, r8d
add r10d, r10d
add r9d, r9d
mov dword [rbp - 0x74], r8d
cmp dword [rsp + 0x78], 0
mov dword [rbp - 0x10], r10d
mov dword [rbp - 0xc], r9d
je 0x180069c30
mov rax, qword [r11 + 0x90]
mov ecx, ebx
shr rcx, 1
cmp byte [rcx + rax], 2
jge 0x180069c30
mov ecx, SHSetInstanceExplorer
mov eax, ecx
sub eax, 0xad
je 0x180069c19
cmp eax, 1
jne 0x180069c20
shl esi, 2
add ebx, 2
jmp 0x180069c20
shl r13d, 2
shl edi, 2
inc ecx
cmp ecx, 0xaf
jb 0x180069c03
jmp 0x180069f83
add r13d, r13d
add edi, edi
add esi, esi
test byte [r11 + 0x44], 4
je 0x180069d39
mov r8, qword [r11 + 0x58]
mov ecx, ebx
mov eax, r10d
and ecx, 1
and eax, 0x30000
test byte [rsp + 0x70], 1
jne 0x180069cc3
test ecx, ecx
mov ecx, r9d
jne 0x180069c94
shr rcx, 2
and ecx, 0xc000
or rcx, rax
mov eax, edi
and eax, 0x38000
shr rcx, 4
or rcx, rax
mov eax, r13d
and eax, 0x200
shr rcx, 5
or rcx, rax
shr rcx, 5
jmp 0x180069d2e
shr ecx, 2
and ecx, 0xc000
or ecx, eax
mov eax, edi
shr ecx, 4
and eax, 0x70000
or ecx, eax
mov eax, r13d
shr ecx, 5
and eax, 0x600
or ecx, eax
shr ecx, 5
add ecx, 0x100
jmp 0x180069d2e
mov edx, r9d
shr edx, 2
and edx, 0xc000
or edx, eax
mov eax, esi
shr edx, 4
test ecx, ecx
mov ecx, edi
jne 0x180069d06
and ecx, 0x38000
and eax, 0x38000
or ecx, edx
shr ecx, 3
or ecx, eax
mov eax, r13d
shr ecx, 2
and eax, 0x200
or ecx, eax
shr ecx, 5
add ecx, 0x300
jmp 0x180069d2e
and ecx, 0x70000
and eax, 0x70000
or ecx, edx
shr ecx, 3
or ecx, eax
mov eax, r13d
shr ecx, 2
and eax, 0x600
or ecx, eax
shr ecx, 5
add ecx, 0xb00
cmp byte [rcx + r8], 2
jl 0x180069f6a
mov rax, qword [rbp - 0x28]
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x50]
mov r9d, dword [rax + rcx*4]
test r9d, r9d
je 0x180069e37
mov r8d, 0x10f
nop word [rax + rax]
mov eax, r8d
sub eax, 0x10f
je 0x180069da3
cmp eax, 0x5b
jne 0x180069e20
mov r15d, edi
mov eax, esi
shr r15d, 2
and eax, 0x10000
and r15d, 0x6000
or r15d, eax
mov eax, r13d
shr r15d, 2
and eax, 0x600
or r15d, eax
shr r15d, 9
or r15d, r14d
jmp 0x180069e20
cmp r9d, ebx
jbe 0x180069db2
xor r14d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x180069e20
mov edx, SHSetInstanceExplorer
mov eax, edx
sub eax, 0xac
je 0x180069dfe
sub eax, 0x20
je 0x180069dd1
cmp eax, 0x20
jne 0x180069e10
shl dword [rsp + 0x60], 4
jmp 0x180069e10
movsxd r10, dword [rbp - 8]
mov ecx, 7
movzx eax, r10b
and al, 7
sub cl, al
mov rax, r10
mov r10, qword [rsp + 0x38]
sar rax, 3
movzx eax, byte [rax + r10]
shr eax, cl
and eax, 1
mov dword [rsp + 0x60], eax
jmp 0x180069e10
mov eax, ebx
mov r10d, ebx
and eax, 0xfffffff8
sub r10d, eax
sub r10d, r9d
mov dword [rbp - 8], r10d
add edx, 0x20
cmp edx, 0x10c
jb 0x180069db7
mov r14d, dword [rsp + 0x60]
add r8d, 0x5b
cmp r8d, 0x1c5
jb 0x180069d60
mov r10d, dword [rbp - 0x10]
jmp 0x180069e62
mov r15d, edi
mov eax, esi
shr r15d, 2
and eax, 0x10000
and r15d, 0xe000
or r15d, eax
mov eax, r13d
and eax, 0x600
shr r15d, 2
or r15d, eax
shr r15d, 9
mov ecx, dword [rbp - 0x74]
mov eax, r10d
test bl, 1
je 0x180069e86
and eax, 0x18000
and ecx, 0x18000
bts eax, 0x13
shr eax, 2
or eax, ecx
shr eax, 7
jmp 0x180069e99
shr eax, 2
and ecx, 0x30000
and eax, 0xc000
or eax, ecx
shr eax, 8
mov ecx, dword [rsp + 0x70]
lea r9, [rbp - 0x80]
and ecx, 1
lea r8, [rsp + 0x68]
shl ecx, 0xb
mov edx, 7
or ecx, eax
mov eax, r13d
or r15d, ecx
shr eax, 8
mov rcx, qword [rbp + 0x38]
and eax, 1
mov dword [rsp + 0x68], eax
mov dword [rbp - 0x80], r15d
call fcn.180062a50
mov r11, qword [rsp + 0x40]
test r12d, r12d
jne 0x180069f62
mov r9d, dword [r11 + 0x48]
cmp ebx, r9d
jb 0x180069f62
mov r8d, 0xb5
nop dword [rax]
mov eax, r8d
sub eax, 0xb5
je 0x180069f04
cmp eax, 1
jne 0x180069f56
inc dword [rbp - 0x78]
jmp 0x180069f56
mov eax, edi
mov ecx, 3
shr eax, 6
not eax
xor eax, r13d
shr eax, 8
and eax, 1
add dword [rbp + 0xd0], eax
cmp r9d, ecx
jb 0x180069f56
nop dword [rax]
nop dword [rax + rax]
mov eax, ecx
lea rdx, [rbp + 0xd0]
lea rdx, [rdx + rax*4]
mov eax, r13d
shr eax, cl
inc ecx
not eax
xor eax, r13d
shr eax, 8
and eax, 1
add dword [rdx], eax
cmp ecx, r9d
jbe 0x180069f30
inc r8d
cmp r8d, 0xb7
jb 0x180069ef0
mov r10d, dword [rbp - 0x10]
mov r9d, dword [rbp - 0xc]
inc ebx
test bl, 1
je 0x180069f7b
cmp ebx, dword [rsp + 0x28]
jb 0x180069c30
mov r8d, dword [rbp - 0x74]
mov dword [rbp - 0x60], r15d
mov ecx, dword [rsp + 0x28]
test bl, 7
je 0x180069f94
cmp ebx, ecx
jb 0x180069bd0
mov rdx, qword [rsp + 0x38]
mov r14d, dword [rbp + 0x70]
inc rdx
mov r12d, dword [rbp - 0x68]
mov qword [rsp + 0x38], rdx
test bl, 0xf
je 0x180069fb6
cmp ebx, ecx
jb 0x180069b60
mov rdx, qword [rsp + 0x58]
inc qword [rbp + 0x50]
inc rdx
mov r15d, dword [rbp + 0x30]
mov dword [rsp + 0x20], r13d
mov qword [rsp + 0x58], rdx
cmp ebx, ecx
jb 0x180069ae0
mov r15d, dword [rsp + 0x28]
mov rcx, qword [rbp + 0x50]
test r12b, 1
jne 0x18006a021
mov eax, 0x1b
nop dword [rax]
cmp eax, 0x1b
je 0x18006a005
cmp eax, 0x2be
jne 0x18006a00c
sub rdx, qword [rbp + 0x88]
jmp 0x18006a00c
sub rcx, qword [rbp + 0x88]
add eax, 0x2a3
cmp eax, 0x546
jbe 0x180069ff0
mov qword [rbp + 0x50], rcx
mov qword [rsp + 0x58], rdx
mov r9d, dword [rsp + 0x70]
inc r12d
mov edx, dword [rsp + 0x74]
inc r9d
mov r14, qword [rbp - 0x28]
mov r10, qword [rsp + 0x38]
mov dword [rbp - 0x68], r12d
mov dword [rsp + 0x70], r9d
cmp r12d, edx
jb 0x180069310
mov r12d, dword [rsp + 0x24]
mov esi, dword [rbp - 0x50]
mov rdi, qword [rbp]
jmp 0x1800692d3
mov esi, 0xffffffff
mov dword [rbp - 0x54], 0
mov dword [rbp - 0x50], esi
jmp 0x1800692d8
lea r8, [r11 + 0x78]
xor edx, edx
xor ecx, ecx
mov r9d, 0xdf
call fcn.180054960
mov rcx, qword [rbp - 0x30]
mov r11, qword [rsp + 0x40]
mov r8, qword [rbp - 0x20]
mov r10, qword [rsp + 0x38]
movsxd rdx, dword [rcx]
mov rcx, qword [r11 + 0x68]
movsxd r8, dword [r8]
mov rcx, qword [rcx + rdx*8]
movsxd rdx, dword [r14]
mov rcx, qword [rcx + r8*8]
mov qword [rcx + rdx*8], rax
lea rcx, [0x18006cd80]
mov rax, qword [rbp + 0x38]
mov qword [rax + 0x1018], rcx
jmp 0x1800692d3
mov rax, qword [rbp - 0x30]
mov rcx, qword [rbp - 0x20]
movsxd rdx, dword [rax]
mov rax, qword [r11 + 0x68]
movsxd rcx, dword [rcx]
mov rdx, qword [rax + rdx*8]
movsxd rax, dword [r14]
mov rdx, qword [rdx + rcx*8]
mov ecx, 0xef
mov rdx, qword [rdx + rax*8]
call fcn.18004a1b0
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
jmp 0x1800692d3
mov rdx, qword [rbp + 0x38]
mov ecx, 0x70
call fcn.1800630d0
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
jmp 0x1800692d3
movsxd rax, dword [r14]
lea rdx, [rbp + 0x30]
imul rcx, rax, 0x1028
xor eax, eax
mov r8d, 0x1d
add rcx, qword [r11 + 0x70]
test r12d, r12d
mov qword [rbp + 0x38], rcx
sete al
mov dword [rbp + 0x30], eax
call fcn.1800634d0
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
jmp 0x1800692d3
test dword [r11 + 0x44], 0x200
je 0x1800692d8
movsxd rcx, dword [r14]
mov rax, qword [r11 + 0x50]
mov dword [rax + rcx*4], 0
jmp 0x1800692d8
mov rax, qword [r11 + 0x68]
xor r8d, r8d
mov rbx, qword [rbp - 0x30]
mov r15, qword [rbp - 0x20]
movsxd rcx, dword [rbx]
movsxd rdx, dword [r15]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov edx, 0x102
mov r9, qword [rax + rcx*8]
lea rcx, [rbp + 0x78]
mov dword [rbp + 0x78], 0xff
call fcn.180062a50
movsxd rcx, dword [rbx]
xor r8d, r8d
movsxd rdx, dword [r15]
mov rdi, qword [rsp + 0x40]
mov rax, qword [rdi + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov edx, 0x102
mov r9, qword [rax + rcx*8]
lea rcx, [rsp + 0x50]
mov eax, dword [rdi + 0x44]
and eax, 0x200
bts eax, 0xa
shr eax, 9
mov dword [rsp + 0x50], eax
call fcn.180062a50
mov r10, qword [rsp + 0x38]
mov r11, rdi
mov rdi, qword [rbp]
jmp 0x1800692d3
mov eax, dword [rbp - 0x54]
mov ecx, 1
cmp dword [r11 + 0x48], 0
mov dword [rsp + 0x78], 0
cmove eax, ecx
mov dword [rbp - 0x54], eax
jmp 0x1800692d8
mov r8d, dword [r11 + 0x48]
lea rcx, [rbp + 0xd0]
inc r8d
xor edx, edx
shl r8, 2
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rbp - 0x30]
mov r11, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
mov r8, qword [rsp + 0x58]
cmp dword [rax], 0
jne 0x1800692d8
movsxd rcx, dword [r14]
mov rax, qword [r11 + 0x50]
mov dword [rax + rcx*4], 0
jmp 0x1800692d8
lea rax, [rbx + r8]
mov qword [rbp + 0x50], rax
mov rax, qword [rbp - 0x30]
cmp dword [rax], 0
je 0x18006a29a
test dword [r11 + 0x44], 0x200
jne 0x18006a29a
mov dword [rsp + 0x24], 0
mov r12d, dword [rsp + 0x24]
jmp 0x1800692d8
mov dword [rsp + 0x24], 1
mov r12d, dword [rsp + 0x24]
jmp 0x1800692d8
mov r13d, dword [rsp + 0x20]
mov esi, dword [rbp - 0x50]
jmp 0x1800692d3
cmp esi, 0xffffffff
je 0x18006a4f9
test dword [r11 + 0x44], 0x100
je 0x18006a502
mov ebx, PathMakeUniqueName
nop dword [rax]
cmp ebx, 0x1351
ja 0x18006a3db
je 0x18006a3aa
cmp ebx, 0x2b
je 0x18006a36f
cmp ebx, 0x68d
je 0x18006a33e
cmp ebx, 0xcef
jne 0x18006a4e7
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x68]
movsxd rdx, dword [rdx]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov r9, qword [rax + rcx*8]
lea rcx, [rsp + 0x50]
mov dword [rsp + 0x50], 0
jmp 0x18006a4d5
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x68]
movsxd rdx, dword [rdx]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov r9, qword [rax + rcx*8]
lea rcx, [rbp + 0x78]
mov dword [rbp + 0x78], 6
jmp 0x18006a4d5
movsxd rcx, dword [r14]
mov rax, qword [r11 + 0x50]
mov rdx, qword [rbp - 0x20]
mov dword [rax + rcx*4], esi
mov rax, qword [rbp - 0x30]
movsxd rdx, dword [rdx]
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov r9, qword [rax + rcx*8]
lea rcx, [rbp + 0x30]
mov dword [rbp + 0x30], 0xff
jmp 0x18006a4d5
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x68]
movsxd rdx, dword [rdx]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov r9, qword [rax + rcx*8]
lea rcx, [rbp + 0x70]
mov dword [rbp + 0x70], 0
jmp 0x18006a4d5
cmp ebx, 0x19b3
je 0x18006a4a9
cmp ebx, 0x2015
je 0x18006a479
cmp ebx, 0x2677
jne 0x18006a4e7
movsxd r8, dword [r14]
mov rax, qword [r11 + 0x68]
mov rdi, qword [rbp - 0x30]
mov r15, qword [rbp - 0x20]
movsxd rdx, dword [rdi]
movsxd rcx, dword [r15]
mov rax, qword [rax + rdx*8]
mov edx, 0x102
mov rcx, qword [rax + rcx*8]
mov rax, qword [r11 + 0x50]
mov r9, qword [rcx + r8*8]
mov ecx, dword [rax + r8*4]
xor r8d, r8d
mov dword [rbp - 0x80], ecx
lea rcx, [rbp - 0x80]
call fcn.180062a50
movsxd rcx, dword [rdi]
xor r8d, r8d
movsxd rdx, dword [r15]
mov rdi, qword [rsp + 0x40]
mov rax, qword [rdi + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov edx, 0x102
mov r9, qword [rax + rcx*8]
lea rcx, [rsp + 0x68]
mov dword [rsp + 0x68], 0
call fcn.180062a50
mov r11, rdi
jmp 0x18006a4e7
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x68]
movsxd rdx, dword [rdx]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov r9, qword [rax + rcx*8]
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], 0
jmp 0x18006a4d5
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x20]
movsxd rcx, dword [rax]
mov rax, qword [r11 + 0x68]
movsxd rdx, dword [rdx]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov r9, qword [rax + rcx*8]
lea rcx, [rbp + 0x68]
mov dword [rbp + 0x68], 0
xor r8d, r8d
mov edx, 0x102
call fcn.180062a50
mov r11, qword [rsp + 0x40]
add ebx, 0x662
cmp ebx, 0x2cae
jbe 0x18006a2e0
mov rax, qword [rbp + 0x58]
jmp 0x18006a645
mov rbx, qword [rbp + 0x60]
mov edi, 6
mov r12d, dword [rbp + 0x10]
nop
cmp edx, 5
ja case.default.0x18006a52d
lea r8, [0x180000000]
mov eax, edx
mov ecx, dword [r8 + rax*4 + 0x6a6a4]
add rcx, r8
jmp rcx
mov eax, r12d
lea rcx, [rsp + 0x50]
sar eax, 0x10
mov r9, rbx
movzx eax, al
xor r8d, r8d
mov edx, 0x102
mov dword [rsp + 0x50], eax
call fcn.180062a50
mov eax, r12d
sar eax, 8
movzx eax, al
mov dword [rsp + 0x50], eax
jmp 0x18006a610
lea r8, [r11 + 0x78]
xor edx, edx
xor ecx, ecx
mov r9d, 0xdf
call fcn.180054960
mov rbx, rax
mov dword [rsp + 0x50], 0xff
mov r9, rax
jmp 0x18006a613
mov rax, qword [rbp - 0x30]
mov r8, rbx
mov rdx, qword [rbp - 0x20]
movsxd rcx, dword [rax]
movsxd rdx, dword [rdx]
mov rax, qword [r11 + 0x68]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [r14]
mov rax, qword [rax + rdx*8]
mov edx, 0xdf
lea rcx, [rax + rcx*8]
call fcn.18006cb30
jmp 0x18006a625
mov dword [rsp + 0x50], 0
jmp 0x18006a610
mov r9, rbx
mov dword [rsp + 0x50], 6
xor r8d, r8d
lea rcx, [rsp + 0x50]
mov edx, 0x102
call fcn.180062a50
mov eax, r12d
sar eax, 0x18
movzx eax, al
mov dword [rsp + 0x50], eax
jmp 0x18006a610
movzx eax, r12b
lea rcx, [rsp + 0x50]
mov r9, rbx
mov dword [rsp + 0x50], eax
xor r8d, r8d
mov edx, 0x102
call fcn.180062a50
mov dword [rsp + 0x50], esi
mov r9, rbx
xor r8d, r8d
lea rcx, [rsp + 0x50]
mov edx, 0x102
call fcn.180062a50
mov edx, dword [rbp - 0x40]
mov r11, qword [rsp + 0x40]
dec edx
mov dword [rbp - 0x40], edx
sub rdi, 1
jne 0x18006a510
mov rax, qword [rbp + 0x58]
jmp 0x18006a645
mov rax, rcx
mov rcx, qword [rbp + 0x2d0]
xor rcx, rsp
call fcn.180079740
mov rbx, qword [rsp + 0x420]
add rsp, 0x3e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret