Function at 0x18000e240
Capabilities:
Decrypt data using aes via x86 extensions
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push rbp
push rbx
push rsi
push r12
push r13
lea rbp, [rsp - 0x60]
sub rsp, 0x160
mov rax, qword [0x180146030]
xor rax, rsp
mov qword [rbp + 0x50], rax
xor r12b, r12b
mov rbx, rcx
mov r13b, 1
movabs rsi, 0x1248fe7a5c30
test rcx, rcx
je 0x180010f45
cmp qword [rcx + 0xd50], 0
je 0x180010f45
cmp qword [rcx + 0xd58], 0
je 0x180010f45
cmp qword [rcx + 0xd60], 0
je 0x180010f45
mov eax, dword ds:[rcx + 0xd78]
add eax, dword ds:[rcx + 0xd7c]
cmp eax, dword [rcx + 0xd80]
ja 0x180010f45
cmp dword [rcx + 0xd48], 1
jne 0x180010f45
cmp dword [rcx + 0xdc0], 0
jne 0x18000e2ec
mov dword [rcx + 0xdc0], 0x4b
cmp dword [rcx + 0xdc4], 0
jne 0x18000e2ff
mov dword [rcx + 0xdc4], 8
mov ecx, dword [rcx + 0xd94]
mov eax, dword [rbx + 0xd9c]
mov qword [rsp + 0x198], rdi
mov qword [rsp + 0x1a0], r14
mov qword [rsp + 0x1a8], r15
cmp ecx, eax
jae 0x180010ef9
xor r14d, r14d
lea r15, [0x180000000]
nop word [rax + rax]
xorps xmm0, xmm0
lea eax, [rcx + 1]
xorps xmm1, xmm1
mov dword [rbx + 0xd94], eax
xor eax, eax
inc rsi
mov qword [rsp + 0x38], rsi
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x30], rax
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rsp + 0x40], xmm1
movups xmmword [rsp + 0x50], xmm1
movups xmmword [rsp + 0x60], xmm1
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
test r12b, r12b
jne 0x180010eef
cmp qword [rbx + 0xdb0], rax
je 0x18000e3bf
test byte [rbx + 0xdb8], 2
jne 0x180010f30
mov rdi, qword [rbx + 0x3f0]
mov rax, qword [rbx + 0xd68]
cmp rdi, rax
jb 0x180010ee5
mov r8d, dword [rbx + 0xd78]
lea rdx, [r8 + rax]
cmp rdi, rdx
jae 0x180010ee5
lea rcx, [rdi + 1]
cmp rcx, rax
jbe 0x180010ee5
nop word [rax + rax]
cmp rcx, rdx
ja 0x180010ee5
movzx ecx, byte [rbx + 0xd42]
lea r9, [rsp + 0x30]
mov rdx, qword [rbx + 0xd50]
sub rdi, rax
and ecx, 0xf
sub r8, rdi
mov eax, ecx
add rdx, rdi
or rax, 0xff00
shl rax, 4
or rax, rcx
shl rax, 4
or rax, rcx
mov rcx, rbx
mov qword [rsp + 0x30], rax
call fcn.1800073e0
mov ecx, 0x80000000
cmp eax, ecx
jae 0x180010ed3
lfence
mov rcx, qword [rbx + 0x3f0]
mov rdx, qword [rbx + 0xd68]
cmp rcx, rdx
jb 0x180010ee5
mov r9d, dword ds:[rbx + 0xd78]
add r9, rdx
cmp rcx, r9
jae 0x180010ee5
movzx r8d, byte [rbx + 0xc]
add r8, rcx
cmp r8, rdx
jbe 0x180010ee5
nop word [rax + rax]
cmp r8, r9
ja 0x180010ee5
mov rcx, qword [rbx + 0xd60]
mov rdx, r14
add rcx, rdi
test byte [rcx], 2
jne 0x18000e4f8
inc rdx
inc rcx
cmp rdx, 1
jb 0x18000e4b6
mov rax, qword [rbx + 0xd60]
lea rdx, [rdi + 1]
inc dword [rbx + 0xd98]
mov r9b, 4
mov byte [rsp + 0x20], 0
or byte [rax + rdi], 2
movzx r8d, byte [rbx + 0xc]
mov rcx, qword [rbx + 0xd60]
dec r8
call fcn.180007c00
test byte ds:[rbx + 0x318], 8
jne 0x18000e50f
cmp byte [rbx + 0xd43], 3
je 0x180010ebf
movzx r8d, byte [rbx + 0xc]
mov rdx, r14
test r8, r8
je 0x18000e540
mov rcx, qword [rbx + 0xd60]
add rcx, rdi
test byte [rcx], 1
jne 0x18000e538
inc rdx
inc rcx
cmp rdx, r8
jb 0x18000e526
jmp 0x18000e540
or qword [rbx + 0xdb0], 4
mov rcx, qword [rbx + 0xd60]
mov rdx, r14
add rcx, rdi
nop dword [rax]
test byte [rcx], 4
jne 0x18000e568
inc rdx
inc rcx
cmp rdx, 1
jb 0x18000e550
jmp 0x18000e573
or qword [rbx + 0xdb0], 0x800
mov rcx, qword [rbx + 0x3f0]
mov edx, dword [rbx + 0x304]
cmp edx, 0x1a9
movzx r13d, r13b
cmovne r13d, r14d
lea rax, [r8 + rcx]
mov qword [rbx + 0x3f0], rax
cmp byte [rbx + 0x343], 0
jne 0x18000e5b1
cmp byte [rbx + 0x344], 0
jne 0x18000e5b1
inc dword [rbx + 0xd88]
cmp dword ds:[rbx + 0x30c], 0x80
jne 0x18000e68e
cmp edx, 0xee
je 0x18000e68e
movzx eax, byte ds:[rbx + 0x4e]
mov qword [rbx + 0x438], rcx
cmp al, 1
jb 0x18000e5ee
cmp dword [rbx + 0x58], 2
lea rdi, [rbx + 0x58]
je 0x18000e606
cmp al, 2
jb case.0x180010c40.1602
lea rdi, [rbx + 0x98]
cmp dword [rdi], 2
jne case.0x180010c40.1602
test rdi, rdi
je case.0x180010c40.1602
mov rdx, rdi
mov rcx, rbx
call fcn.18000d140
mov rdx, qword [rbx + 0xd68]
mov r10d, dword [rdi + 8]
cmp rax, rdx
jb 0x18000e64e
mov r9d, dword [rbx + 0xd78]
add r9, rdx
cmp rax, r9
jae 0x18000e64e
lea r8, ds:[rax + r10]
cmp r8, rdx
jbe 0x18000e64e
cmp r8, r9
jbe case.0x180010c40.1602
mov rdx, qword [rbx + 0xd70]
cmp rax, rdx
jb 0x180010ea2
mov r9d, dword [rbx + 0xd7c]
add r9, rdx
cmp rax, r9
jae 0x180010ea2
lea r8, [rax + r10]
cmp r8, rdx
jbe 0x180010ea2
nop
cmp r8, r9
jbe case.0x180010c40.1602
jmp 0x180010ea2
mov eax, edx
cmp edx, 0x10e
jg 0x18000ef0a
nop dword [rax]
je case.0x18000ef41.271
sub eax, 7
cmp eax, 0xe7
ja case.0x180010c40.1608
cdqe
movzx eax, byte [r15 + rax + 0x10fbc]
mov ecx, dword [r15 + rax*4 + 0x10f50]
add rcx, r15
jmp rcx
mov eax, dword [rbx + 0x60]
mov dword [rbp - 0x30], eax
mov eax, dword [rbx + 0x438]
mov dword [rbp - 0x64], eax
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000da00
test eax, eax
je case.0x180010c40.1602
mov r14, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x198]
mov r15, qword [rsp + 0x1a8]
mov rcx, qword [rbp + 0x50]
xor rcx, rsp
call fcn.18008e6f0
add rsp, 0x160
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18000ce80
xor edx, edx
mov rcx, rbx
test al, al
je 0x18000e768
lea r8, [rbp - 0x70]
jmp 0x18000e6e4
lea r8, [rsp + 0x40]
jmp 0x18000e6e4
lea r8, ds:[rbp - 0x70]
mov edx, 2
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x30]
mov rcx, rbx
mov r8, qword [rbp - 0x70]
mov r9, qword [rsp + 0x40]
mov rdx, r8
sub rdx, r9
mov byte [rsp + 0x28], 4
mov qword [rbp - 0x10], rdx
mov dword [rbp + 0x30], eax
mov dword [rsp + 0x20], eax
call fcn.18000c960
mov rax, qword ds:[rsp + 0x40]
mov rcx, rbx
cmp qword [rbp - 0x70], rax
jne 0x18000e805
lea r8, [rbp - 0x70]
mov edx, 1
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
nop dword [rax]
jmp 0x18000e6db
lea r8, [rsp + 0x40]
mov edx, 2
jmp 0x18000e6e4
lea r8, ds:[rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
cmp dword [rbx + 0x304], 7
mov r9, qword [rbp - 0x70]
mov r8, qword [rsp + 0x40]
mov ecx, dword [rbp - 0x30]
mov dword [rbp + 0x30], ecx
lea rdx, [r9 + r8]
mov qword [rbp - 0x10], rdx
jne 0x18000e87b
mov eax, dword [rbx + 0x3e0]
and eax, 1
add rax, rdx
mov rdx, rax
mov qword [rbp - 0x10], rax
mov byte [rsp + 0x28], 5
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.18000c960
lea r8, [rbp - 0x10]
jmp 0x18000e6df
lea r8, ds:[rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov r8, qword ds:[rsp + 0x40]
mov byte [rsp + 0x28], 4
lea rdx, [r8 - 1]
jmp 0x18000f09e
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov rax, qword ds:[rbp - 0x70]
xor edx, edx
mov ecx, dword [rbp - 0x80]
mov r9, qword [rbx + 0x3e0]
mov r10, qword [rsp + 0x40]
shl rcx, 3
mov r8, r10
div rcx
mov rax, r9
or r9, 1
and rax, 0xfffffffffffffffe
mov qword [rbp - 0x70], rdx
mov rcx, rdx
shr r8, cl
and r8b, 1
cmove r9, rax
mov eax, dword [rbx + 0x304]
mov qword [rbx + 0x3e0], r9
cmp eax, 0x46
jne 0x18000e958
bts r10, rdx
mov qword [rsp + 0x40], r10
lea r8, [rsp + 0x40]
jmp 0x18000e6df
cmp eax, 0x45
jne 0x18000e970
btr r10, rcx
mov qword [rsp + 0x40], r10
lea r8, [rsp + 0x40]
jmp 0x18000e6df
cmp eax, 0x44
jne 0x18000e988
btc r10, rcx
mov qword [rsp + 0x40], r10
lea r8, [rsp + 0x40]
jmp 0x18000e6df
cmp eax, 0x43
je case.0x180010c40.1602
lea r8, [rsp + 0x40]
jmp 0x18000e6df
lea r8, [rbp - 0x10]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, ds:[rbp - 0x10]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18000da00
test eax, eax
jne 0x18000e6f1
mov rax, qword ds:[rbx + 0x70]
lea r8, [rbp - 0x10]
add qword [rbp - 0x10], rax
mov edx, 1
jmp 0x18000e6e1
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rsp + 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, ds:[rsp + 0x40]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18000da00
jmp 0x18000fd09
and qword [rbx + 0x3e0], 0xfffffffffffffbff
jmp case.0x180010c40.1602
and qword [rbx + 0x3e0], 0xfffffffffffffffe
jmp case.0x180010c40.1602
xor qword [rbx + 0x3e0], 1
jmp case.0x180010c40.1602
cmp byte ds:[rbx + 0xd43], 0
jne 0x180010ebf
and qword [rbx + 0x3e0], 0xfffffffffffffdff
jmp case.0x180010c40.1602
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov ecx, dword [rbp - 0x30]
lea eax, [rcx + rcx]
mov dword [rbp - 0x80], eax
cmp ecx, 1
jne 0x18000eac5
test byte [rbp - 0x70], 0x80
je 0x18000efef
mov rax, qword ds:[rbp - 0x70]
lea r8, [rsp + 0x40]
or rax, 0xffffffffffffff00
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
mov rax, qword [rbp - 0x70]
cmp ecx, 2
je 0x18000f00e
cmp ecx, 4
jmp 0x18000f043
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov edx, dword ds:[rbp - 0x30]
mov rcx, qword [rbp - 0x70]
mov dword [rbp - 0x80], edx
cmp edx, 1
jne 0x18000eb25
shr rcx, 7
lea r8, [rsp + 0x40]
and ecx, edx
neg rcx
sbb rax, rax
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
cmp edx, 2
jne 0x18000eb46
shr rcx, 0xf
lea r8, [rsp + 0x40]
and ecx, 1
neg rcx
sbb rax, rax
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
mov rax, rcx
lea r8, [rsp + 0x40]
shr rax, 0x1f
and eax, 1
shr rcx, 0x3f
cmp edx, 4
cmove rcx, rax
neg rcx
sbb rax, rax
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
nop
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x30]
mov dword [rbp - 0x80], eax
cmp eax, 2
je 0x18000ec1d
cmp eax, 4
je 0x18000ebf3
nop dword [rax]
cmp eax, 8
jne 0x18000ec23
movzx eax, byte [rbp - 0x70]
lea r8, [rsp + 0x40]
mov byte [rsp + 0x47], al
movzx eax, byte [rbp - 0x6f]
mov byte [rsp + 0x46], al
movzx eax, byte [rbp - 0x6e]
mov byte [rsp + 0x45], al
movzx eax, byte [rbp - 0x6d]
mov byte [rsp + 0x44], al
movzx eax, byte [rbp - 0x6c]
mov byte [rsp + 0x43], al
movzx eax, byte [rbp - 0x6b]
mov byte [rsp + 0x42], al
movzx eax, byte [rbp - 0x6a]
mov byte [rsp + 0x41], al
movzx eax, byte [rbp - 0x69]
mov byte [rsp + 0x40], al
jmp 0x18000e6df
movzx eax, byte [rbp - 0x70]
lea r8, [rsp + 0x40]
mov byte [rsp + 0x43], al
movzx eax, byte [rbp - 0x6f]
mov byte [rsp + 0x42], al
movzx eax, byte [rbp - 0x6e]
mov byte [rsp + 0x41], al
movzx eax, byte [rbp - 0x6d]
mov byte [rsp + 0x40], al
jmp 0x18000e6df
mov word [rsp + 0x40], r14w
lea r8, [rsp + 0x40]
jmp 0x18000e6df
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
nop
test eax, eax
jne 0x18000e6f1
mov rcx, qword [rbp - 0x70]
mov rax, qword [rbx + 0x3e0]
test rcx, rcx
jne 0x18000ec68
or rax, 0x40
mov qword [rbx + 0x3e0], rax
jmp case.0x180010c40.1602
mov edi, dword [rbp - 0x30]
and rax, 0xffffffffffffffbf
mov r11d, dword [rbx + 0x304]
mov edx, edi
cmp r11d, 0x40
mov qword [rbx + 0x3e0], rax
mov dword [rbp - 0x80], edi
sete r8b
call fcn.18000e1e0
movzx r8d, al
mov qword [rsp + 0x40], r8
cmp r11d, 0x41
jne 0x18000ecaf
mov eax, edi
shl rax, 3
sub rax, r8
dec rax
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
jmp 0x18000e6df
mov qword [rbx + 0x358], r14
mov qword [rbx + 0x370], r14
mov qword [rbx + 0x360], r14
mov qword [rbx + 0x368], r14
jmp case.0x180010c40.1602
xorps xmm0, xmm0
movups xmmword [rbx + 0x500], xmm0
movups xmmword [rbx + 0x510], xmm0
movups xmmword [rbx + 0x520], xmm0
movups xmmword [rbx + 0x530], xmm0
jmp case.0x180010c40.1602
movabs rax, 0x100000000
test qword [rbx + 0xdb8], rax
je 0x180010ea2
lea r8, ds:[rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
movzx eax, byte ds:[rsp + 0x40]
mov byte [rbp - 0x20], al
movzx eax, byte [rsp + 0x41]
mov byte [rbp - 0x1f], al
movzx eax, byte [rsp + 0x42]
mov byte [rbp - 0x1e], al
movzx eax, byte [rsp + 0x43]
mov byte [rbp - 0x1d], al
movzx eax, byte [rsp + 0x44]
mov byte [rbp - 0x1c], al
movzx eax, byte [rsp + 0x45]
mov byte [rbp - 0x1b], al
movzx eax, byte [rsp + 0x46]
mov byte [rbp - 0x1a], al
movzx eax, byte [rsp + 0x47]
mov byte [rbp - 0x19], al
movzx eax, byte [rsp + 0x48]
mov byte [rbp - 0x18], al
movzx eax, byte [rsp + 0x49]
mov byte [rbp - 0x17], al
movzx eax, byte [rsp + 0x4a]
mov byte [rbp - 0x16], al
movzx eax, byte [rsp + 0x4b]
mov byte [rbp - 0x15], al
movzx eax, byte [rsp + 0x4c]
mov byte [rbp - 0x14], al
movzx eax, byte [rsp + 0x4d]
mov byte [rbp - 0x13], al
movzx eax, byte [rsp + 0x4e]
mov byte [rbp - 0x12], al
movzx eax, byte [rsp + 0x4f]
mov byte [rbp - 0x11], al
movzx eax, byte [rbp - 0x70]
mov byte [rbp + 0x40], al
movzx eax, byte [rbp - 0x6f]
mov byte [rbp + 0x41], al
movzx eax, byte [rbp - 0x6e]
mov byte [rbp + 0x42], al
movzx eax, byte [rbp - 0x6d]
mov byte [rbp + 0x43], al
movzx eax, byte [rbp - 0x6c]
mov byte [rbp + 0x44], al
movzx eax, byte [rbp - 0x6b]
mov byte [rbp + 0x45], al
movzx eax, byte [rbp - 0x6a]
mov byte [rbp + 0x46], al
movzx eax, byte [rbp - 0x69]
mov byte [rbp + 0x47], al
movzx eax, byte [rbp - 0x68]
mov byte [rbp + 0x48], al
movzx eax, byte [rbp - 0x67]
mov byte [rbp + 0x49], al
movzx eax, byte [rbp - 0x66]
mov byte [rbp + 0x4a], al
movzx eax, byte [rbp - 0x65]
mov byte [rbp + 0x4b], al
movzx eax, byte [rbp - 0x64]
mov byte [rbp + 0x4c], al
movzx eax, byte [rbp - 0x63]
mov byte [rbp + 0x4d], al
movzx eax, byte [rbp - 0x62]
mov byte [rbp + 0x4e], al
movzx eax, byte [rbp - 0x61]
mov byte [rbp + 0x4f], al
mov eax, dword [rbx + 0x304]
cmp eax, 0x11
jne 0x18000ee52
movdqa xmm0, xmmword [rbp - 0x20]
aesdec xmm0, xmmword [rbp + 0x40]
jmp 0x18000ee6f
cmp eax, 0x14
jne 0x18000ee64
movdqa xmm0, xmmword [rbp - 0x20]
aesdeclast xmm0, xmmword [rbp + 0x40]
jmp 0x18000ee6f
cmp eax, 0x1d
jne 0x18000ee80
aesimc xmm0, xmmword [rbp + 0x40]
movdqa xmmword [rbp - 0x20], xmm0
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rbp - 0x20]
lea r8, [rsp + 0x40]
mov byte [rsp + 0x40], al
movzx eax, byte [rbp - 0x1f]
mov byte [rsp + 0x41], al
movzx eax, byte [rbp - 0x1e]
mov byte [rsp + 0x42], al
movzx eax, byte [rbp - 0x1d]
mov byte [rsp + 0x43], al
movzx eax, byte [rbp - 0x1c]
mov byte [rsp + 0x44], al
movzx eax, byte [rbp - 0x1b]
mov byte [rsp + 0x45], al
movzx eax, byte [rbp - 0x1a]
mov byte [rsp + 0x46], al
movzx eax, byte [rbp - 0x19]
mov byte [rsp + 0x47], al
movzx eax, byte [rbp - 0x18]
mov byte [rsp + 0x48], al
movzx eax, byte [rbp - 0x17]
mov byte [rsp + 0x49], al
movzx eax, byte [rbp - 0x16]
mov byte [rsp + 0x4a], al
movzx eax, byte [rbp - 0x15]
mov byte [rsp + 0x4b], al
movzx eax, byte [rbp - 0x14]
mov byte [rsp + 0x4c], al
movzx eax, byte [rbp - 0x13]
mov byte [rsp + 0x4d], al
movzx eax, byte [rbp - 0x12]
mov byte [rsp + 0x4e], al
movzx eax, byte [rbp - 0x11]
mov byte [rsp + 0x4f], al
jmp 0x18000e6df
cmp eax, 0x222
jg 0x18000fc05
je case.0x18000fc41.549
sub eax, 0x10f
cmp eax, 0x9c
ja case.0x180010c40.1608
cdqe
movzx eax, byte [r15 + rax + 0x11104]
mov ecx, dword [r15 + rax*4 + 0x110a4]
add rcx, r15
jmp rcx
mov eax, dword ds:[rbx + 0x60]
mov ecx, 0x20
cmp eax, 0x20
cmova eax, ecx
mov dword [rbp - 0x30], eax
mov rax, qword [rbx + 0x438]
mov qword [rbp - 0x68], rax
jmp 0x18000e6db
cmp byte [rbx + 0xd43], 0
jne 0x180010ebf
lea r8, ds:[rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
jmp 0x18000e6db
lea r8, ds:[rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x30]
cmp eax, 1
jne 0x18000f005
test byte [rbp - 0x70], 0x80
je 0x18000efef
mov rax, qword [rbp - 0x70]
lea r8, [rsp + 0x40]
or rax, 0xffffffffffffff00
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
movzx eax, byte ds:[rbp - 0x70]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
cmp eax, 2
jne 0x18000f03c
mov rax, qword [rbp - 0x70]
bt rax, 0xf
jae 0x18000f02a
or rax, 0xffffffffffff0000
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
movzx eax, ax
lea r8, [rsp + 0x40]
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
cmp eax, 4
mov rax, qword [rbp - 0x70]
jne 0x18000f06a
bt rax, 0x1f
jae 0x18000f068
movabs rcx, 0xffffffff00000000
lea r8, [rsp + 0x40]
or rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x18000e6df
mov eax, eax
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x40]
jmp 0x18000e6df
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov r8, qword [rsp + 0x40]
mov byte [rsp + 0x28], 5
lea rdx, [r8 + 1]
mov eax, dword [rbp - 0x80]
mov r9d, 1
movzx edi, byte [rbx + 0x3e0]
mov rcx, rbx
mov dword [rbp + 0x30], eax
mov dword [rbp - 0x30], eax
mov dword [rsp + 0x20], eax
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x70], 1
call fcn.18000c960
mov rax, qword [rbx + 0x3e0]
and dil, 1
je 0x18000f0ed
or rax, 1
lea r8, [rbp - 0x10]
mov qword [rbx + 0x3e0], rax
jmp 0x18000e6df
and rax, 0xfffffffffffffffe
lea r8, [rbp - 0x10]
mov qword [rbx + 0x3e0], rax
jmp 0x18000e6df
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
not qword [rsp + 0x40]
lea r8, [rsp + 0x40]
jmp 0x18000e6df
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x30]
lea r8, [rbp - 0x10]
mov dword [rbp - 0x80], eax
xor edx, edx
mov dword [rbp + 0x30], eax
mov rcx, rbx
mov rax, qword [rbp - 0x70]
neg rax
mov qword [rsp + 0x40], r14
mov qword [rbp - 0x10], rax
call fcn.18000da00
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp + 0x30]
mov rcx, rbx
mov r9, qword [rbp - 0x70]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rbp - 0x10]
mov byte [rsp + 0x28], 4
mov dword [rsp + 0x20], eax
call fcn.18000c960
cmp qword [rbp - 0x70], 0
mov rax, qword [rbx + 0x3e0]
je 0x18000f1b6
or rax, 1
mov qword [rbx + 0x3e0], rax
jmp case.0x180010c40.1602
and rax, 0xfffffffffffffffe
mov qword [rbx + 0x3e0], rax
jmp case.0x180010c40.1602
movzx eax, byte [rbx + 0x4c]
cmp eax, 0xf
ja case.0x180010c40.1602
mov ecx, dword [r15 + rax*4 + 0x111a4]
add rcx, r15
jmp rcx
mov eax, dword [rbx + 0x3e0]
shr rax, 0xb
test al, 1
je case.0x180010c40.1602
jmp case.0x18000ef41.279
mov eax, dword [rbx + 0x3e0]
shr rax, 0xb
test al, 1
jmp 0x18000f355
test byte [rbx + 0x3e0], 1
je case.0x180010c40.1602
jmp case.0x18000ef41.279
test byte [rbx + 0x3e0], 1
jmp 0x18000f355
mov eax, dword [rbx + 0x3e0]
shr al, 6
test al, 1
je case.0x180010c40.1602
jmp case.0x18000ef41.279
mov eax, dword [rbx + 0x3e0]
shr al, 6
test al, 1
jmp 0x18000f355
mov rax, qword ds:[rbx + 0x3e0]
mov rcx, rax
shr rcx, 6
or ecx, eax
test cl, 1
je case.0x180010c40.1602
jmp case.0x18000ef41.279
mov rax, qword [rbx + 0x3e0]
mov rcx, rax
shr rcx, 6
or ecx, eax
test cl, 1
jmp 0x18000f355
mov eax, dword [rbx + 0x3e0]
shr al, 7
test al, 1
je case.0x180010c40.1602
jmp case.0x18000ef41.279
mov eax, dword [rbx + 0x3e0]
shr al, 7
test al, 1
jmp 0x18000f355
mov eax, dword [rbx + 0x3e0]
shr al, 2
test al, 1
je case.0x180010c40.1602
nop dword [rax]
jmp case.0x18000ef41.279
mov eax, dword [rbx + 0x3e0]
shr al, 2
test al, 1
jmp 0x18000f355
mov rax, qword [rbx + 0x3e0]
mov rcx, rax
shr rax, 7
shr rcx, 0xb
xor ecx, eax
test cl, 1
je case.0x180010c40.1602
jmp case.0x18000ef41.279
mov rax, qword [rbx + 0x3e0]
mov rcx, rax
shr rax, 7
shr rcx, 0xb
xor ecx, eax
test cl, 1
jmp 0x18000f355
mov rcx, qword [rbx + 0x3e0]
mov rdx, rcx
mov rax, rcx
shr rdx, 0xb
shr rax, 7
xor edx, eax
shr rcx, 6
or edx, ecx
test dl, 1
je case.0x180010c40.1602
jmp case.0x18000ef41.279
mov rcx, qword [rbx + 0x3e0]
mov rdx, rcx
mov rax, rcx
shr rdx, 0xb
shr rax, 7
xor edx, eax
shr rcx, 6
or edx, ecx
test dl, 1
jne case.0x180010c40.1602
lea r8, [rbp - 0x10]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov rax, qword [rbx + 0x70]
lea r8, [rbp - 0x10]
add qword [rbp - 0x10], rax
mov edx, 1
jmp 0x18000e6e1
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
cmp qword [rsp + 0x40], 0
jne case.0x180010c40.1602
lea r8, [rbp - 0x10]
mov edx, 2
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov rax, qword ds:[rbx + 0x70]
lea r8, [rbp - 0x10]
add qword [rbp - 0x10], rax
mov edx, 2
jmp 0x18000e6e1
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
dec qword [rsp + 0x40]
lea r8, [rsp + 0x40]
lea edx, [rax + 1]
mov rcx, rbx
call fcn.18000da00
test eax, eax
jne 0x18000e6f1
cmp qword [rsp + 0x40], 0
jbe case.0x180010c40.1602
mov eax, dword [rbx + 0x304]
cmp eax, 0x15e
jne 0x18000f44d
mov eax, dword ds:[rbx + 0x3e0]
shr rax, 6
test al, 1
je 0x18000f3b4
jmp case.0x180010c40.1602
cmp eax, 0x15f
jne 0x18000f46d
mov eax, dword ds:[rbx + 0x3e0]
shr rax, 6
test al, 1
jne 0x18000f3b4
jmp case.0x180010c40.1602
cmp eax, 0x15d
jmp 0x18000f3ae
movzx eax, word ds:[rbx + 0x70]
jmp 0x1800104e1
movzx eax, byte [rbx + 0x4f]
lea r8, [rsp + 0x40]
mov rcx, rbx
cmp al, 1
jne 0x18000f4ca
xor edx, edx
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov edi, dword [rbp - 0x80]
lea eax, [rdi + rdi]
mov dword [rbp + 0x30], eax
jmp 0x18000f513
cmp al, 2
jne 0x18000f4e2
xor edx, edx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea edx, [rax + 1]
jmp 0x18000f4f7
mov edx, 1
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea edx, [rax + 2]
lea r8, ds:[rbp - 0x70]
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov edi, dword [rbp - 0x80]
mov dword [rbp + 0x30], edi
mov eax, dword [rbx + 0x304]
cmp edi, 1
jne 0x18000f565
nop
cmp eax, 0x1a0
jne 0x18000f545
movzx eax, byte ds:[rsp + 0x40]
movzx edx, byte [rbp - 0x70]
imul eax, edx
mov word [rbp - 0x10], ax
mov r11, qword [rbp - 0x10]
jmp 0x18000f6cf
movsx eax, byte ds:[rbp - 0x70]
movsx ecx, byte [rsp + 0x40]
movzx edx, ax
movzx eax, cx
imul eax, edx
mov word [rbp - 0x10], ax
mov r11, qword [rbp - 0x10]
jmp 0x18000f6cf
cmp edi, 2
jne 0x18000f5a5
cmp eax, 0x1a0
jne 0x18000f589
movzx ecx, word [rbp - 0x70]
movzx eax, word [rsp + 0x40]
imul ecx, eax
mov dword [rbp - 0x10], ecx
mov r11, qword [rbp - 0x10]
jmp 0x18000f6cf
movsx ecx, word ds:[rbp - 0x70]
movsx eax, word [rsp + 0x40]
imul ecx, eax
mov dword [rbp - 0x10], ecx
mov r11, qword [rbp - 0x10]
jmp 0x18000f6cf
cmp edi, 4
jne 0x18000f5db
cmp eax, 0x1a0
jne 0x18000f5c5
mov r11, qword ds:[rbp - 0x70]
imul r11, qword [rsp + 0x40]
mov qword [rbp - 0x10], r11
jmp 0x18000f6cf
movsxd r11, dword [rsp + 0x40]
movsxd rax, dword [rbp - 0x70]
imul r11, rax
mov qword [rbp - 0x10], r11
jmp 0x18000f6cf
mov r10d, dword [rsp + 0x40]
cmp eax, 0x1a0
mov eax, dword [rbp - 0x70]
jne 0x18000f64d
mov r8, qword [rsp + 0x40]
mov r9d, r10d
mov rcx, qword [rbp - 0x70]
imul r9, rax
shr r8, 0x20
shr rcx, 0x20
mov rdx, r8
imul rdx, rax
imul r10, rcx
imul r8, rcx
mov eax, edx
lea r11, [r10 + rdx]
shr rdx, 0x20
shl r11, 0x20
add r11, r9
shr r9, 0x20
add r9, rax
mov qword [rbp - 0x10], r11
mov eax, r10d
add r9, rax
shr r10, 0x20
shr r9, 0x20
add r9, r8
add r9, r10
add r9, rdx
mov qword [rbp - 8], r9
jmp 0x18000f6cf
mov r14, qword [rsp + 0x40]
mov r8, r10
mov rsi, qword [rbp - 0x70]
mov r9, r14
imul r8, rax
shr r9, 0x20
mov rcx, rsi
shr rcx, 0x20
mov rdx, r9
imul rdx, rax
imul r10, rcx
imul r9, rcx
mov eax, edx
lea r11, [r10 + rdx]
shr rdx, 0x20
shl r11, 0x20
add r11, r8
shr r8, 0x20
add r8, rax
mov qword [rbp - 0x10], r11
mov eax, r10d
add rax, r8
shr r10, 0x20
shr rax, 0x20
add rax, r9
add rax, r10
add rax, rdx
mov qword [rbp - 8], rax
test r14, r14
jns 0x18000f6bd
sub rax, rsi
mov qword [rbp - 8], rax
nop dword [rax]
test rsi, rsi
jns 0x18000f6cc
sub rax, r14
mov qword [rbp - 8], rax
xor r14d, r14d
cmp byte [rbx + 0x4f], 1
jne 0x18000f73d
mov eax, edi
sub eax, 1
je 0x18000f730
nop dword [rax]
sub eax, 1
je 0x18000f722
sub eax, 2
je 0x18000f707
cmp eax, 4
jne 0x18000f75a
mov rax, qword [rbp - 8]
mov qword [rbx + 0x368], rax
mov qword [rbx + 0x358], r11
jmp 0x18000f75a
mov rax, r11
shr rax, 0x20
mov qword [rbx + 0x368], rax
mov eax, dword [rbp - 0x10]
mov qword [rbx + 0x358], rax
jmp 0x18000f75a
mov rax, r11
shr rax, 0x10
mov word [rbx + 0x368], ax
movzx eax, word [rbp - 0x10]
mov word [rbx + 0x358], ax
jmp 0x18000f75a
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18000da00
test eax, eax
jne 0x18000e6f1
mov r11, qword [rbp - 0x10]
mov edi, dword [rbp - 0x80]
xor dl, dl
cmp dword [rbx + 0x304], 0x1a0
jne 0x18000f7bd
sub edi, 1
je 0x18000f7b2
sub edi, 1
je 0x18000f7a5
sub edi, 2
je 0x18000f796
nop word [rax + rax]
cmp edi, 4
jne 0x18000f860
cmp qword [rbp - 8], 0
setne dl
jmp 0x18000f860
cmp dword ds:[rbp - 0xc], 0
setne dl
jmp 0x18000f860
cmp r14w, word [rbp - 0xe]
setne dl
jmp 0x18000f860
cmp byte [rbp - 0xf], dl
setne dl
jmp 0x18000f860
nop dword [rax]
cmp edi, 1
jne 0x18000f7d3
movzx r11d, byte [rbp - 0x10]
shr r11b, 7
and r11b, dil
jmp 0x18000f7f5
cmp edi, 2
jne 0x18000f7e2
shr r11, 0xf
and r11b, 1
jmp 0x18000f7f5
cmp edi, 4
jne 0x18000f7f1
shr r11, 0x1f
and r11b, 1
jmp 0x18000f7f5
shr r11, 0x3f
sub edi, 1
je 0x18000f847
sub edi, 1
je 0x18000f82e
nop
sub edi, 2
je 0x18000f81d
cmp edi, 4
jne 0x18000f860
cmp qword [rbp - 8], 0
jne 0x18000f816
test r11b, r11b
jmp 0x18000f85c
cmp qword [rbp - 8], 0xffffffffffffffff
jmp 0x18000f856
mov eax, dword [rbp - 0xc]
test eax, eax
jne 0x18000f829
test r11b, r11b
jmp 0x18000f85c
cmp eax, 0xffffffff
jmp 0x18000f856
movzx eax, word [rbp - 0xe]
cmp r14w, ax
jne 0x18000f83d
test r11b, r11b
jmp 0x18000f85c
mov ecx, 0xffff
cmp cx, ax
jmp 0x18000f856
movzx eax, byte [rbp - 0xf]
test al, al
jne 0x18000f854
test r11b, r11b
jmp 0x18000f85c
cmp al, 0xff
jne 0x18000f85e
cmp r11b, 1
je 0x18000f860
mov dl, 1
mov rcx, qword [rbx + 0x3e0]
mov rax, rcx
or rcx, 1
and rax, 0xfffffffffffffffe
test dl, dl
cmove rcx, rax
mov rax, rcx
bts rcx, 0xb
btr rax, 0xb
test dl, dl
cmove rcx, rax
mov qword [rbx + 0x3e0], rcx
jmp case.0x180010c40.1602
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x30]
cmp eax, 1
jne 0x18000f998
cmp dword [rbx + 0x304], 0x9c
movsx r10, word [rbx + 0x358]
jne 0x18000f8f9
movzx edx, byte [rbp - 0x70]
test dl, dl
je 0x180010ea2
movzx eax, r10w
shr rax, 8
cmp rax, rdx
jae 0x180010ea2
mov ecx, edx
movzx eax, r10w
xor edx, edx
div ecx
jmp 0x18000f982
movsx rsi, byte [rbp - 0x70]
movzx r11d, r10w
shr r11w, 0xf
mov rdi, rsi
shr rdi, 0x3f
mov r9, r10
neg r9
mov r8, rsi
test r11b, r11b
cmove r9, r10
neg r8
test dil, dil
cmove r8, rsi
test r8, r8
je 0x180010ea2
mov rax, r9
shr rax, 8
movzx eax, al
cmp rax, r8
jae 0x180010ea2
xor edx, edx
mov rax, r9
div r8
mov rcx, rax
and eax, 0x80
cmp r11b, dil
je 0x18000f973
nop
test rax, rax
je 0x18000f97c
cmp rcx, 0x80
je 0x18000f97c
jmp 0x180010ea2
test rax, rax
jne 0x180010ea2
mov eax, r10d
cdq
idiv esi
mov byte [rbp - 0xf], dl
mov byte [rbp - 0x10], al
movzx eax, word [rbp - 0x10]
mov word [rbx + 0x358], ax
jmp case.0x180010c40.1602
nop dword [rax + rax]
cmp eax, 2
jne 0x18000faa5
movzx r8d, word [rbx + 0x368]
movzx eax, word [rbx + 0x358]
shl r8d, 0x10
or r8d, eax
cmp dword [rbx + 0x304], 0x9c
jne 0x18000fa05
movzx edx, word [rbp - 0x70]
test rdx, rdx
je 0x180010ea2
mov eax, r8d
shr rax, 0x10
cmp rax, rdx
jae 0x180010ea2
mov ecx, edx
mov eax, r8d
xor edx, edx
div ecx
mov word [rbx + 0x368], dx
mov word [rbx + 0x358], ax
jmp case.0x180010c40.1602
movsx rsi, word [rbp - 0x70]
mov r11d, r8d
shr r11d, 0x1f
mov rdi, rsi
shr rdi, 0x3f
mov r9, rsi
movsxd rax, r8d
mov r10, rax
neg r10
test r11b, r11b
cmove r10, rax
neg r9
test dil, dil
cmove r9, rsi
test r9, r9
je 0x180010ea2
mov rax, r10
shr rax, 0x10
movzx eax, ax
cmp rax, r9
jae 0x180010ea2
xor edx, edx
mov rax, r10
div r9
mov rcx, rax
and eax, 0x8000
cmp dil, r11b
je 0x18000fa79
test rax, rax
je 0x18000fa89
cmp rcx, 0x8000
je 0x18000fa89
jmp 0x180010ea2
nop dword [rax]
test rax, rax
jne 0x180010ea2
mov eax, r8d
cdq
idiv esi
mov word [rbx + 0x368], dx
mov word [rbx + 0x358], ax
jmp case.0x180010c40.1602
cmp eax, 4
jne case.0x180010c40.1602
mov ecx, dword [rbx + 0x368]
mov eax, dword [rbx + 0x358]
shl rcx, 0x20
or rcx, rax
cmp dword [rbx + 0x304], 0x9c
jne 0x18000faf7
mov r8d, dword [rbp - 0x70]
test r8, r8
je 0x180010ea2
mov rax, rcx
shr rax, 0x20
cmp rax, r8
jae 0x180010ea2
xor edx, edx
mov rax, rcx
div r8
jmp 0x18000fb76
movsxd rdi, dword [rbp - 0x70]
mov r11, rcx
mov r10, rdi
shr r11, 0x3f
shr r10, 0x3f
mov r8, rdi
mov r9, rcx
test r11b, r11b
je 0x18000fb17
neg r9
test r10b, r10b
je 0x18000fb1f
neg r8
nop
test r8, r8
je 0x180010ea2
mov rax, r9
shr rax, 0x20
cmp rax, r8
jae 0x180010ea2
xor edx, edx
mov rax, r9
div r8
mov edx, 0x80000000
mov r8, rax
and rax, rdx
xor r10b, r11b
je 0x18000fb65
test rax, rax
je 0x18000fb6e
cmp r8, rdx
je 0x18000fb6e
nop dword [rax + rax]
jmp 0x180010ea2
test rax, rax
jne 0x180010ea2
mov rax, rcx
cqo
idiv rdi
mov dword [rbp - 0x10], eax
mov rcx, rax
mov eax, edx
mov qword [rbx + 0x368], rax
mov eax, ecx
mov qword [rbx + 0x358], rax
mov dword [rbp - 0xc], edx
jmp case.0x180010c40.1602
movzx eax, byte [rbx + 0x3e0]
mov byte [rbx + 0x359], al
jmp case.0x180010c40.1602
test r13b, r13b
je case.0x180010c40.1602
inc dword [rbx + 0xd84]
jmp case.0x180010c40.1602
mov rax, qword [rbx + 0x40]
cmp rax, 0x80
je case.0x18000fc41.572
cmp rax, 0x2e
jne 0x180010ea2
or qword [rbx + 0xdb0], 0x10
jmp 0x180010ea2
nop
cmp edx, 0x130
jne case.0x18000e6ca.14
lea r8, [rbp - 0x70]
mov rcx, rbx
jmp 0x1800104a6
lea r8, ds:[rbp - 0x70]
xor edx, edx
mov rcx, rbx
jmp 0x1800104ab
cmp eax, 0x454
jg 0x180010ad5
je case.0x180010c40.1606
sub eax, 0x223
cmp eax, 0xb7
ja case.0x180010c40.1608
cdqe
movzx eax, byte [r15 + rax + 0x11258]
mov ecx, dword [r15 + rax*4 + 0x111e4]
add rcx, r15
jmp rcx
movzx edx, byte [rbx + 0x4c]
mov rcx, rbx
call fcn.18000ce80
test al, al
mov qword [rbp - 0x70], 1
mov eax, dword [rbx + 0x60]
mov dword [rbp - 0x30], eax
jne 0x18000e6db
mov qword [rbp - 0x70], r14
jmp 0x18000e6db
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
nop
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov r8, qword [rsp + 0x40]
mov r9, qword [rbp - 0x70]
mov rdx, r8
mov ecx, dword [rbp - 0x30]
sub rdx, r9
cmp dword [rbx + 0x304], 0x28b
mov dword [rbp + 0x30], ecx
mov qword [rbp - 0x10], rdx
jne 0x18000fcd4
mov eax, dword [rbx + 0x3e0]
and eax, 1
sub rdx, rax
mov qword [rbp - 0x10], rdx
mov byte [rsp + 0x28], 4
mov dword [rsp + 0x20], ecx
mov rcx, rbx
call fcn.18000c960
cmp dword [rbx + 0x304], 0x60
je case.0x180010c40.1602
lea r8, [rbp - 0x10]
jmp 0x18000e6df
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
lea edx, [rax + 1]
jmp 0x18000e6e1
mov eax, 0x20
lea r8, [rbp - 0x70]
mov dword [rbp - 0x30], eax
mov edx, 1
mov eax, dword [rbx + 0x358]
mov dword [rbp - 0x54], eax
mov eax, dword [rbx + 0x360]
mov dword [rbp - 0x58], eax
mov eax, dword [rbx + 0x368]
mov dword [rbp - 0x5c], eax
mov eax, dword [rbx + 0x370]
mov dword [rbp - 0x60], eax
mov eax, dword [rbx + 0x378]
mov dword [rbp - 0x64], eax
mov eax, dword [rbx + 0x380]
mov dword [rbp - 0x68], eax
mov eax, dword [rbx + 0x388]
mov dword [rbp - 0x6c], eax
mov eax, dword [rbx + 0x390]
mov dword [rbp - 0x70], eax
jmp 0x18000e6e1
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x54]
mov qword [rbx + 0x358], rax
mov eax, dword [rbp - 0x58]
mov qword [rbx + 0x360], rax
mov eax, dword [rbp - 0x5c]
mov qword [rbx + 0x368], rax
mov eax, dword [rbp - 0x60]
mov qword [rbx + 0x370], rax
mov eax, dword [rbp - 0x64]
mov qword [rbx + 0x378], rax
mov eax, dword [rbp - 0x68]
mov qword [rbx + 0x380], rax
mov eax, dword [rbp - 0x6c]
mov qword [rbx + 0x388], rax
mov eax, dword [rbp - 0x70]
mov qword [rbx + 0x390], rax
jmp case.0x180010c40.1602
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
nop dword [rax + rax]
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x80]
mov rcx, qword [rbp - 0x70]
cmp eax, 8
jne 0x18000fe30
and ecx, 0x3f
jmp 0x18000fe33
and ecx, 0x1f
mov r9d, dword [rbx + 0x304]
mov qword [rbp - 0x70], rcx
mov dword [rbp + 0x30], eax
cmp r9d, 0x29d
je 0x18000feff
cmp r9d, 0x286
je 0x18000feff
mov r8, qword [rsp + 0x40]
cmp r9d, 0x2a0
jne 0x18000fe74
mov rdx, r8
shr rdx, cl
jmp 0x18000ff0a
cmp eax, 1
jne 0x18000fea5
test byte ds:[rsp + 0x40], 0x80
je 0x18000fe94
mov rdx, r8
or rdx, 0xffffffffffffff00
sar rdx, cl
jmp 0x18000ff0a
movzx edx, r8b
sar rdx, cl
jmp 0x18000ff0a
cmp eax, 2
jne 0x18000fece
bt r8, 0xf
jae 0x18000fec5
mov rdx, r8
or rdx, 0xffffffffffff0000
sar rdx, cl
jmp 0x18000ff0a
movzx edx, r8w
sar rdx, cl
jmp 0x18000ff0a
cmp eax, 4
jne 0x18000fef7
bt r8, 0x1f
jae 0x18000feef
mov rdx, r8
movabs r10, 0xffffffff00000000
or rdx, r10
sar rdx, cl
jmp 0x18000ff0a
mov edx, r8d
sar rdx, cl
jmp 0x18000ff0a
mov rdx, r8
sar rdx, cl
jmp 0x18000ff0a
mov r8, qword [rsp + 0x40]
mov rdx, r8
shl rdx, cl
mov qword [rbp - 0x10], rdx
test rcx, rcx
je 0x18000ff87
nop word [rax + rax]
cmp r9d, 0x29d
je 0x18000ff73
cmp r9d, 0x286
je 0x18000ff73
cmp r9d, 0x2a0
mov r9, rcx
mov rcx, rbx
jne 0x18000ff5c
mov byte [rsp + 0x28], 2
mov dword [rsp + 0x20], eax
call fcn.18000c960
lea r8, [rbp - 0x10]
jmp 0x18000e6df
mov byte [rsp + 0x28], 3
mov dword [rsp + 0x20], eax
call fcn.18000c960
lea r8, [rbp - 0x10]
jmp 0x18000e6df
mov r9, rcx
mov byte [rsp + 0x28], 1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.18000c960
lea r8, [rbp - 0x10]
jmp 0x18000e6df
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
nop
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
mov r11d, dword [rbp - 0x80]
mov r15d, 0x1f
mov ecx, dword [rbx + 0x304]
cmp r11d, 8
mov eax, 0x3f
cmove r15d, eax
and r15d, dword [rbp - 0x70]
lea edi, [r11*8]
mov r9d, r15d
cmp ecx, 0x260
je 0x180010058
nop word [rax + rax]
cmp ecx, 0x263
je 0x180010058
xor edx, edx
mov eax, r15d
div edi
mov r9d, edx
nop word [rax + rax]
cmp ecx, 0x276
jne 0x180010345
test r9d, r9d
je 0x1800102a5
mov rax, qword [rsp + 0x40]
mov ecx, r9d
mov r8, rax
sub edi, r9d
shl r8, cl
mov ecx, edi
shr rax, cl
or r8, rax
mov qword [rsp + 0x40], r8
jmp 0x1800102aa
cmp r11d, 1
jne 0x18001006d
mov eax, 0x38e38e39
mul r9d
shr edx, 1
imul eax, edx, 0xfffffff7
jmp 0x180010081
cmp r11d, 2
jne 0x180010084
mov eax, 0xf0f0f0f1
mul r9d
shr edx, 4
imul eax, edx, 0xffffffef
add r9d, eax
cmp ecx, 0x260
jne 0x1800101a5
movzx r14d, byte [rbx + 0x3e0]
mov r8, qword [rsp + 0x40]
and r14b, 1
test r9d, r9d
je 0x180010115
cmp r9d, edi
jne 0x1800100b3
xor esi, esi
jmp 0x1800100bc
mov ecx, r9d
mov rsi, r8
shl rsi, cl
nop dword [rax]
cmp r9d, 1
jne 0x1800100cd
xor r10d, r10d
dec edi
jmp 0x1800100d9
sub edi, r9d
mov r10, r8
lea ecx, [rdi + 1]
shr r10, cl
mov rdx, qword [rbx + 0x3e0]
mov ecx, edi
shr r8, cl
mov rax, rdx
and rax, 0xfffffffffffffffe
lea ecx, [r9 - 1]
or rdx, 1
and r8b, 1
movzx r8d, r14b
cmove rdx, rax
shl r8, cl
or r8, r10
mov qword [rbx + 0x3e0], rdx
or r8, rsi
mov qword [rsp + 0x40], r8
cmp r15d, 1
jne 0x18001017c
nop
cmp r11d, r15d
jne 0x18001012e
shr r8, 7
and r8d, r15d
jmp 0x180010154
cmp r11d, 2
jne 0x18001013e
shr r8, 0xf
and r8d, 1
jmp 0x180010154
nop
cmp r11d, 4
jne 0x180010150
shr r8, 0x1f
and r8d, 1
jmp 0x180010154
shr r8, 0x3f
mov rdx, qword [rbx + 0x3e0]
mov rcx, rdx
mov rax, rdx
btr rax, 0xb
bts rdx, 0xb
and ecx, 1
cmp rcx, r8
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
xor r14d, r14d
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000da00
test eax, eax
jne 0x18000e6f1
lea r15, [0x180000000]
nop dword [rax]
jmp case.0x180010c40.1602
cmp ecx, 0x263
jne 0x180010016
movzx esi, byte [rbx + 0x3e0]
mov r10, qword [rsp + 0x40]
and sil, 1
cmp r15d, 1
jne 0x18001022e
mov r8, r10
cmp r11d, r15d
jne 0x1800101dc
shr r8, 7
and r8d, r15d
jmp 0x180010206
nop dword [rax]
cmp r11d, 2
jne 0x1800101f0
shr r8, 0xf
and r8d, 1
jmp 0x180010206
cmp r11d, 4
jne 0x180010202
shr r8, 0x1f
and r8d, 1
jmp 0x180010206
shr r8, 0x3f
mov rdx, qword [rbx + 0x3e0]
mov rcx, rdx
mov rax, rdx
btr rax, 0xb
bts rdx, 0xb
and ecx, 1
cmp rcx, r8
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
test r9d, r9d
je 0x18001017f
cmp r9d, edi
jne 0x180010242
mov r11, r14
jmp 0x18001024b
mov r11, r10
mov ecx, r9d
shr r11, cl
cmp r9d, 1
jne 0x180010258
mov r8, r14
dec edi
jmp 0x180010264
sub edi, r9d
mov r8, r10
lea ecx, [rdi + 1]
shl r8, cl
mov rdx, qword [rbx + 0x3e0]
lea ecx, [r9 - 1]
mov rax, rdx
shr r10, cl
and rax, 0xfffffffffffffffe
or rdx, 1
and r10b, 1
mov ecx, edi
cmove rdx, rax
movzx eax, sil
shl rax, cl
or rax, r8
mov qword [rbx + 0x3e0], rdx
or rax, r11
mov qword [rsp + 0x40], rax
jmp 0x18001017f
mov r8, qword [rsp + 0x40]
test r15d, r15d
je 0x1800102d4
mov rdx, qword [rbx + 0x3e0]
movzx ecx, byte [rsp + 0x40]
mov rax, rdx
and rax, 0xfffffffffffffffe
or rdx, 1
and cl, 1
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
cmp r15d, 1
jne 0x18001017f
nop
cmp r11d, r15d
jne 0x1800102ee
shr r8, 7
and r8d, r15d
jmp 0x180010314
cmp r11d, 2
jne 0x1800102fe
shr r8, 0xf
and r8d, 1
jmp 0x180010314
nop
cmp r11d, 4
jne 0x180010310
shr r8, 0x1f
and r8d, 1
jmp 0x180010314
shr r8, 0x3f
mov rdx, qword ds:[rbx + 0x3e0]
mov rcx, rdx
mov rax, rdx
btr rax, 0xb
bts rdx, 0xb
and ecx, 1
cmp rcx, r8
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
jmp 0x18001017f
test r9d, r9d
je 0x18001036a
mov rax, qword [rsp + 0x40]
mov ecx, r9d
mov r10, rax
sub edi, r9d
shr r10, cl
mov ecx, edi
shl rax, cl
or r10, rax
mov qword [rsp + 0x40], r10
jmp 0x18001036f
mov r10, qword [rsp + 0x40]
test r15d, r15d
je 0x1800103d3
mov rdx, r10
cmp r11d, 1
jne 0x18001038f
shr rdx, 7
and edx, r11d
jmp 0x1800103b3
cmp r11d, 2
jne 0x18001039e
shr rdx, 0xf
and edx, 1
jmp 0x1800103b3
nop
cmp r11d, 4
jne 0x1800103af
shr rdx, 0x1f
and edx, 1
jmp 0x1800103b3
shr rdx, 0x3f
mov rcx, qword [rbx + 0x3e0]
mov rax, rcx
or rcx, 1
and rax, 0xfffffffffffffffe
test rdx, rdx
cmove rcx, rax
mov qword [rbx + 0x3e0], rcx
cmp r15d, 1
jne 0x18001017f
mov r8, r10
cmp r11d, r15d
jne 0x1800103ee
shr r8, 7
and r8d, r15d
jmp 0x180010414
cmp r11d, 2
jne 0x1800103fe
shr r8, 0xf
and r8d, 1
jmp 0x180010414
nop
cmp r11d, 4
jne 0x180010410
shr r8, 0x1f
and r8d, 1
jmp 0x180010414
shr r8, 0x3f
movzx eax, byte [rbp - 0x80]
mov rdx, qword [rbx + 0x3e0]
shl al, 3
lea ecx, [rax + 0xfe]
mov rax, rdx
shr r10, cl
btr rax, 0xb
bts rdx, 0xb
and r10d, 1
cmp r10, r8
cmove rdx, rax
mov qword [rbx + 0x3e0], rdx
jmp 0x18001017f
test byte ds:[rbx + 9], 4
lea r8, [rbp - 0x70]
mov rcx, rbx
je 0x18000e7ea
mov edx, 3
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000da00
test eax, eax
jne 0x18000e6f1
jmp 0x18000f3b4
cmp dword [rbx + 0x58], 3
lea r8, [rbp - 0x70]
mov rcx, rbx
mov edx, 3
je 0x1800104ab
mov edx, 2
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
movzx eax, byte ds:[rbx + 0xd]
and al, 0xf
cmp al, 2
je 0x1800104dd
cmp al, 4
je 0x1800104d7
cmp al, 8
je 0x1800104d1
mov eax, r14d
jmp 0x1800104e1
movzx eax, word [rbp - 0x68]
jmp 0x1800104e1
movzx eax, word [rbp - 0x6c]
jmp 0x1800104e1
movzx eax, word [rbp - 0x6e]
cmp byte [rbx + 0xd42], 1
jne 0x180010ea2
cmp ax, 0x33
jne 0x180010ea2
or qword [rbx + 0xdb0], 0x80
jmp 0x180010ea2
mov eax, dword [rbx + 0xd9c]
cmp dword [rbx + 0xd94], eax
jae case.0x180010c40.1602
nop word [rax + rax]
lea r8, [rsp + 0x40]
mov edx, 2
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x18000e6f1
cmp byte [rbx + 7], al
jge 0x18001054b
cmp qword [rsp + 0x40], 0
je case.0x180010c40.1602
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
nop dword [rax]
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000da00
test eax, eax
jne 0x18000e6f1
nop
cmp byte [rbx + 7], al
jge case.0x180010c40.1602
dec qword [rsp + 0x40]
lea r8, [rsp + 0x40]
lea edx, [rax + 2]
mov rcx, rbx
call fcn.18000da00
nop
test eax, eax
jne 0x18000e6f1
inc dword ds:[rbx + 0xd94]
mov eax, dword ds:[rbx + 0xd94]
cmp eax, dword [rbx + 0xd9c]
jb 0x180010520
jmp case.0x180010c40.1602
mov eax, dword ds:[rbx + 0xd9c]
cmp dword [rbx + 0xd94], eax
jae case.0x180010c40.1602
nop dword [rax]
lea r8, ds:[rsp + 0x40]
mov edx, 2
mov rcx, rbx
call fcn.18000d360
test eax, eax
jne 0x180010c7e
cmp byte [rbx + 7], al
jge 0x18001061e
cmp qword [rsp + 0x40], 0
je case.0x180010c40.1602
xorps xmm0, xmm0
lea r8, [rsp + 0x40]
xor eax, eax
xor edx, edx
mov rcx, rbx
mov qword [rbp - 0x80], rax
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
call fcn.18000d360
test eax, eax
jne 0x180010c7e
lea r8, ds:[rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
test eax, eax
jne 0x180010c7e
mov eax, dword [rbp - 0x80]
mov rcx, rbx
mov r8, qword [rsp + 0x40]
mov r9, qword [rbp - 0x70]
mov rdx, r8
sub rdx, r9
mov byte [rsp + 0x28], 4
mov qword [rbp - 0x10], rdx
mov dword [rbp + 0x30], eax
mov dword [rsp + 0x20], eax
call fcn.18000c960
cmp byte ds:[rbx + 7], 0
jge case.0x180010c40.1602
xorps xmm0, xmm0
lea r8, [rsp + 0x40]
xor eax, eax
mov rcx, rbx
movups xmmword [rsp + 0x40], xmm0
mov qword [rbp - 0x80], rax
movups xmmword [rsp + 0x50], xmm0
lea edx, [rax + 2]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
call fcn.18000d360
test eax, eax
jne 0x180010c7e
dec qword [rsp + 0x40]
lea r8, [rsp + 0x40]
lea edx, [rax + 2]
mov rcx, rbx
call fcn.18000da00
test eax, eax
jne 0x180010c7e
movzx eax, byte ds:[rbx + 7]
test al, 0x20
je 0x180010711
test byte [rbx + 0x3e0], 0x40
je case.0x180010c40.1602
test al, 0x10
je 0x180010726
test byte ds:[rbx + 0x3e0], 0x40
jne case.0x180010c40.1602
inc dword [rbx + 0xd94]
mov eax, dword [rbx + 0xd94]
cmp eax, dword [rbx + 0xd9c]
jb 0x1800105f0
nop
jmp case.0x180010c40.1602
or qword [rbx + 0x3e0], 0x400
jmp case.0x180010c40.1602
or qword ds:[rbx + 0x3e0], 1
jmp case.0x180010c40.1602
cmp byte [rbx + 0xd43], 0
jne 0x180010ebf
or qword ds:[rbx + 0x3e0], 0x200
jmp case.0x180010c40.1602
movzx eax, byte [rbx + 0x359]
and al, 0xd7
or al, 2
mov byte [rbx + 0x3e0], al
jmp case.0x180010c40.1602
movzx eax, byte [rbx + 0x3e0]
and al, 1
neg al
sbb al, al
mov byte [rbx + 0x358], al
jmp case.0x180010c40.1602
lfence
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbp - 0x30]
mov rdx, r14
mov r9, qword [rbp - 0x70]
mov ecx, r14d
mov dword [rbp - 0x80], eax
mov qword [rsp + 0x40], rdx
lea r8d, [rax*8]
test r8d, r8d
je 0x18001080d
mov rax, r9
shr rax, cl
test al, 1
je 0x180010801
inc rdx
inc ecx
cmp ecx, r8d
jb 0x1800107f4
mov qword [rsp + 0x40], rdx
mov rax, qword [rbx + 0x3e0]
and rax, 0xfffffffffffff73a
test r9, r9
jne 0x180010823
or rax, 0x40
mov qword [rbx + 0x3e0], rax
lea r8, [rsp + 0x40]
jmp 0x180010c6c
lfence
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
mov r11d, dword [rbp - 0x30]
cmp dword [rbx + 0x304], 0x2da
mov edx, r11d
mov rcx, qword [rbp - 0x70]
sete r8b
mov dword [rbp - 0x80], r11d
call fcn.18000e1e0
mov rdx, qword ds:[rbx + 0x3e0]
mov ecx, r11d
movzx r8d, al
mov rax, rdx
and rax, 0xfffffffffffffffe
shl rcx, 3
or rdx, 1
mov qword [rsp + 0x40], r8
cmp r8, rcx
cmovne rdx, rax
mov rax, rdx
or rdx, 0x40
and rax, 0xffffffffffffffbf
test r8, r8
lea r8, [rsp + 0x40]
cmovne rdx, rax
mov qword [rbx + 0x3e0], rdx
jmp 0x180010c6c
lfence
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
cmp dword [rbp - 0x80], 8
je 0x180010952
movzx eax, byte [rbp - 0x69]
mov byte [rsp + 0x4f], al
movzx eax, byte [rsp + 0x47]
mov byte [rsp + 0x4e], al
movzx eax, byte [rbp - 0x6a]
mov byte [rsp + 0x4d], al
movzx eax, byte [rsp + 0x46]
mov byte [rsp + 0x4c], al
movzx eax, byte [rbp - 0x6b]
mov byte [rsp + 0x4b], al
movzx eax, byte [rsp + 0x45]
mov byte [rsp + 0x4a], al
movzx eax, byte [rbp - 0x6c]
mov byte [rsp + 0x49], al
movzx eax, byte [rsp + 0x44]
mov byte [rsp + 0x48], al
movzx eax, byte [rbp - 0x6d]
lea r8, [rsp + 0x40]
mov byte [rsp + 0x47], al
movzx eax, byte [rsp + 0x43]
mov byte [rsp + 0x46], al
movzx eax, byte [rbp - 0x6e]
mov byte [rsp + 0x45], al
movzx eax, byte [rsp + 0x42]
mov byte [rsp + 0x44], al
movzx eax, byte [rbp - 0x6f]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x41]
mov byte [rsp + 0x42], al
movzx eax, byte [rbp - 0x70]
mov byte [rsp + 0x41], al
jmp 0x180010c6c
lfence
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, ds:[rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
mov edx, r14d
cmp dword [rbp - 0x80], eax
jbe 0x1800109f8
nop dword [rax + rax]
mov eax, edx
lea rcx, [rsp + 0x40]
add rcx, rax
inc edx
movzx eax, byte [rbp + rax - 0x70]
xor byte [rcx], al
cmp edx, dword [rbp - 0x80]
jb 0x1800109e0
lea r8, ds:[rsp + 0x40]
jmp 0x180010c6c
cmp byte [rbx + 0xd43], 0
jne 0x180010ebf
movabs rax, 0x200000000
jmp 0x180010e9b
cmp byte [rbx + 0xd43], 0
jne 0x180010ebf
mov rax, qword ds:[rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x180010a53
cmp byte [rbx + 0xd42], 2
je 0x180010a6c
jmp 0x180010ea2
cmp rax, 0x176
jne 0x180010ea2
cmp byte [rbx + 0xd42], 1
jne 0x180010ea2
movabs rax, 0x400000000
jmp 0x180010e9b
cmp byte [rbx + 0xd43], 0
jne 0x180010ea2
movabs rax, 0x1000000000
jmp 0x180010e9b
lfence
lea r8, [rbp - 0x70]
mov dword [rbp - 0x30], 4
xor edx, edx
mov dword [rbp - 0x70], esi
mov rcx, rbx
call fcn.18000da00
lfence
test eax, eax
jne 0x18000e6f1
mov rax, rsi
lea r8, [rbp - 0x70]
shr rax, 0x20
mov edx, 1
mov dword [rbp - 0x70], eax
jmp 0x180010c6e
nop word [rax + rax]
cmp eax, 0x5d9
jg 0x180010c13
je 0x180010ba8
sub eax, 0x456
cmp eax, 0x58
ja case.0x180010c40.1608
cdqe
movzx eax, byte [r15 + rax + 0x1131c]
mov ecx, dword [r15 + rax*4 + 0x11310]
add rcx, r15
jmp rcx
lfence
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
mov eax, dword [rbx + 0x60]
xor edx, edx
mov r9d, dword [rbp - 0x30]
mov r8d, r14d
mov dword [rbp - 0x80], eax
div r9d
test eax, eax
je 0x1800109f8
mov r10, qword [rbp - 0x70]
movzx r11d, r10b
movzx edi, r10w
mov esi, r10d
nop
mov eax, r9d
mov ecx, r8d
sub eax, 1
je 0x180010b89
sub eax, 1
je 0x180010b82
cmp eax, 2
je 0x180010b7c
mov qword [rsp + rcx*8 + 0x40], r10
jmp 0x180010b8e
mov dword [rsp + rcx*4 + 0x40], esi
jmp 0x180010b8e
mov word [rsp + rcx*2 + 0x40], di
jmp 0x180010b8e
mov byte [rsp + rcx + 0x40], r11b
mov eax, dword [rbp - 0x80]
xor edx, edx
div r9d
inc r8d
cmp r8d, eax
jb 0x180010b60
lea r8, [rsp + 0x40]
jmp 0x180010c6c
lfence
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 2]
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
mov edx, r14d
cmp dword [rbp - 0x80], eax
jbe 0x1800109f8
mov eax, edx
lea rcx, [rsp + 0x40]
add rcx, rax
inc edx
movzx eax, byte [rbp + rax - 0x70]
xor byte [rcx], al
cmp edx, dword [rbp - 0x80]
jb 0x180010bf4
lea r8, [rsp + 0x40]
jmp 0x180010c6c
sub eax, 0x642
cmp eax, 0x18
ja case.0x180010c40.1608
cdqe
movzx eax, byte [r15 + rax + 0x11394]
mov ecx, dword [r15 + rax*4 + 0x11378]
add rcx, r15
jmp rcx
lfence
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000da00
test eax, eax
je case.0x180010c40.1602
lfence
jmp 0x18000e6f1
lfence
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rsp + 0x40]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000da00
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
xor edx, edx
mov rcx, rbx
call fcn.18000da00
test eax, eax
jne 0x180010c7e
jmp case.0x180010c40.1602
lfence
lea r8, [rbp - 0x70]
mov edx, 1
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
mov eax, dword ds:[rbp - 0x80]
mov rcx, rbx
mov r9, qword [rbp - 0x70]
mov r8, qword [rsp + 0x40]
mov byte [rsp + 0x28], 5
mov dword [rbp + 0x30], eax
mov dword [rsp + 0x20], eax
lea rdx, [r9 + r8]
mov qword [rbp - 0x10], rdx
call fcn.18000c960
lea r8, [rsp + 0x40]
mov edx, 1
mov rcx, rbx
call fcn.18000da00
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x10]
jmp 0x180010c6c
lfence
lea r8, [rsp + 0x40]
xor edx, edx
mov rcx, rbx
call fcn.18000d360
lfence
test eax, eax
jne 0x18000e6f1
lea r8, [rbp - 0x70]
mov rcx, rbx
lea edx, [rax + 1]
call fcn.18000d360
nop
test eax, eax
jne 0x180010c7e
mov eax, dword ds:[rbp - 0x80]
mov ecx, dword [rbx + 0x304]
mov dword [rbp + 0x30], eax
mov rax, qword [rbp - 0x70]
cmp ecx, 0x1ab
jne 0x180010df3
or rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
jmp 0x180010e17
cmp ecx, 0x65a
jne 0x180010e06
xor rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
jmp 0x180010e17
and rax, qword [rsp + 0x40]
mov qword [rbp - 0x10], rax
cmp ecx, 0x2d1
je 0x180010e30
lfence
lea r8, [rbp - 0x10]
xor edx, edx
mov rcx, rbx
call fcn.18000da00
test eax, eax
jne 0x180010c7e
lfence
mov eax, dword [rbp + 0x30]
mov rcx, rbx
mov r9, qword [rbp - 0x70]
mov r8, qword [rsp + 0x40]
mov rdx, qword [rbp - 0x10]
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x20], eax
call fcn.18000c960
jmp case.0x180010c40.1602
cmp byte [rbx + 0xd43], 0
jne 0x180010ebf
mov rax, qword [rbx + 0x360]
mov ecx, 0xc0000082
cmp rax, rcx
jne 0x180010e7b
cmp byte [rbx + 0xd42], 2
je 0x180010e91
jmp 0x180010ea2
nop dword [rax + rax]
cmp rax, 0x176
jne 0x180010ea2
cmp byte [rbx + 0xd42], 1
jne 0x180010ea2
movabs rax, 0x800000000
or qword [rbx + 0xdb0], rax
mov r12b, 1
mov ecx, dword [rbx + 0xd94]
mov eax, dword [rbx + 0xd9c]
cmp ecx, eax
jae 0x180010ef9
mov rsi, qword [rsp + 0x38]
jmp 0x18000e340
mov eax, 9
jmp 0x18000e6f1
mov eax, 3
jmp 0x18000e6f1
cmp eax, 0x80000001
je 0x180010ee5
mov eax, 4
jmp 0x18000e6f1
mov eax, 2
jmp 0x18000e6f1
mov eax, 0xa
jmp 0x18000e6f1
inc ecx
shr eax, 1
mov dword [rbx + 0xd94], ecx
cmp ecx, eax
jb 0x180010f3a
imul ecx, dword ds:[rbx + 0xdc0]
mov eax, 0x51eb851f
mul ecx
shr edx, 5
cmp dword [rbx + 0xd84], edx
jb 0x180010f3a
or qword [rbx + 0xdb0], 1
mov eax, 0xffffffff
jmp 0x18000e6f1
xor eax, eax
jmp 0x18000e6f1
mov eax, 7
jmp 0x18000e709
mov r9d, 0xffffffff
cmp rdx, r9
mov eax, r9d
cmovbe eax, edx
xor ecx, ecx
mov dword [r8], eax
cmp rdx, r9
mov eax, 0xc0000001
cmovbe eax, ecx
ret