Function at 0x18000d9a0
Capabilities:
Encrypt data using chaskey
Inspect section memory permissions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
mov rax, rcx
lea r9, [rcx + 8]
xor ecx, ecx
mov r13d, 7
xor r15d, r15d
mov qword [rdx], rcx
mov r14, rdx
mov r10d, r15d
mov r11d, r13d
lea ebx, [rcx + 1]
lea ecx, [rbx - 8]
lea r12, [0x18004b840]
cmp rax, r9
jae 0x18000da0c
movzx r8d, byte [rax]
test ecx, ecx
jle 0x18000da67
shl r8d, cl
sub ebx, 8
or r10d, r8d
add r11d, 8
sub ecx, 8
inc rax
cmp ecx, 0xfffffff8
jg 0x18000d9e0
mov r8d, 8
and dword [r14], 0xfffffffe
and r10d, 1
or dword [r14], r10d
mov r11d, 1
mov esi, dword [r14]
mov edi, r15d
nop dword [rax]
cmp rax, r9
jae 0x18000dab2
movzx ebx, byte [rax]
mov r10d, r8d
sub r10d, r11d
jns 0x18000da92
movsxd rcx, r8d
neg r10d
sub r11d, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, ebx
shl edx, cl
or edi, edx
test r11d, r11d
jg 0x18000da30
jmp 0x18000dab2
movzx ecx, r11b
movsxd rdx, ebx
shr r8d, cl
mov ecx, dword [r12 + rdx*4]
and ecx, r8d
or r10d, ecx
test r11d, r11d
jne 0x18000da83
inc rax
test r11d, r11d
mov r8d, 8
cmovne r8d, r11d
jmp 0x18000da12
movzx ecx, r10b
mov edx, r11d
shr ebx, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, ebx
or edi, ecx
test r10d, r10d
jne 0x18000dab2
inc rax
lea r8d, [r10 + 8]
add edi, edi
mov r11d, 1
xor edi, esi
and edi, 2
xor edi, esi
mov esi, r15d
mov dword [r14], edi
cmp rax, r9
jae 0x18000db1e
movzx ebx, byte [rax]
mov r10d, r8d
sub r10d, r11d
jns 0x18000dafe
movsxd rcx, r8d
neg r10d
sub r11d, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, ebx
shl edx, cl
or esi, edx
test r11d, r11d
jg 0x18000dac7
jmp 0x18000db1e
movzx ecx, r10b
mov edx, r11d
shr ebx, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, ebx
or esi, ecx
test r10d, r10d
jne 0x18000db1e
inc rax
lea r8d, [r10 + 8]
lea esi, [rsi*4]
mov r11d, 1
xor esi, edi
mov ebp, r15d
and esi, 4
xor esi, edi
mov dword [r14], esi
cmp rax, r9
jae 0x18000db8f
movzx ebx, byte [rax]
mov r10d, r8d
sub r10d, r11d
jns 0x18000db6f
movsxd rcx, r8d
neg r10d
sub r11d, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, ebx
shl edx, cl
or ebp, edx
test r11d, r11d
jg 0x18000db38
jmp 0x18000db8f
movzx ecx, r10b
mov edx, r11d
shr ebx, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, ebx
or ebp, ecx
test r10d, r10d
jne 0x18000db8f
inc rax
lea r8d, [r10 + 8]
lea ebp, [rbp*8]
mov ebx, 1
xor ebp, esi
mov r11d, r15d
and ebp, 8
xor ebp, esi
mov dword [r14], ebp
cmp rax, r9
jae 0x18000dbff
movzx edi, byte [rax]
mov r10d, r8d
sub r10d, ebx
jns 0x18000dbdf
movsxd rcx, r8d
neg r10d
sub ebx, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, edi
shl edx, cl
or r11d, edx
test ebx, ebx
jg 0x18000dba8
jmp 0x18000dbff
movzx ecx, r10b
mov edx, ebx
shr edi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, edi
or r11d, ecx
test r10d, r10d
jne 0x18000dbff
inc rax
lea r8d, [r10 + 8]
shl r11d, 4
mov edi, 1
xor r11d, ebp
mov ebx, r15d
and r11d, 0x10
xor r11d, ebp
mov dword [r14], r11d
cmp rax, r9
jae 0x18000dc6d
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000dc4e
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000dc18
jmp 0x18000dc6d
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000dc6d
inc rax
lea r8d, [r10 + 8]
shl ebx, 5
mov edi, 1
xor ebx, r11d
and ebx, 0x20
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000dcdb
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000dcbb
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000dc84
jmp 0x18000dcdb
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000dcdb
inc rax
lea r8d, [r10 + 8]
shl r11d, 6
mov edi, 1
xor r11d, ebx
and r11d, 0x40
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000dd49
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000dd2a
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000dcf4
jmp 0x18000dd49
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000dd49
inc rax
lea r8d, [r10 + 8]
shl ebx, 7
mov edi, 1
xor ebx, r11d
and ebx, 0x80
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000ddba
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000dd9a
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000dd63
jmp 0x18000ddba
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000ddba
inc rax
lea r8d, [r10 + 8]
shl r11d, 8
mov edi, 1
xor r11d, ebx
and r11d, 0x100
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000de2b
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000de0c
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000ddd6
jmp 0x18000de2b
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000de2b
inc rax
lea r8d, [r10 + 8]
shl ebx, 9
mov edi, 1
xor ebx, r11d
and ebx, 0x200
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000de9c
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000de7c
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000de45
jmp 0x18000de9c
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000de9c
inc rax
lea r8d, [r10 + 8]
shl r11d, 0xa
mov edi, 1
xor r11d, ebx
and r11d, 0x400
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000df0d
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000deee
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000deb8
jmp 0x18000df0d
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000df0d
inc rax
lea r8d, [r10 + 8]
shl ebx, 0xb
mov edi, 1
xor ebx, r11d
and ebx, 0x800
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000df7e
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000df5e
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000df27
jmp 0x18000df7e
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000df7e
inc rax
lea r8d, [r10 + 8]
shl r11d, 0xc
mov edi, 1
xor r11d, ebx
and r11d, 0x1000
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
nop word [rax + rax]
cmp rax, r9
jae 0x18000dff5
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000dfd6
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000dfa0
jmp 0x18000dff5
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000dff5
inc rax
lea r8d, [r10 + 8]
shl ebx, 0xd
mov edi, 1
xor ebx, r11d
and ebx, 0x2000
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
nop
cmp rax, r9
jae 0x18000e067
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e047
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000e010
jmp 0x18000e067
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000e067
inc rax
lea r8d, [r10 + 8]
shl r11d, 0xe
mov edi, 1
xor r11d, ebx
and r11d, 0x4000
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000e0d8
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e0b9
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000e083
jmp 0x18000e0d8
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000e0d8
inc rax
lea r8d, [r10 + 8]
shl ebx, 0xf
mov edi, 1
xor ebx, r11d
and ebx, 0x8000
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000e149
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e129
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000e0f2
jmp 0x18000e149
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000e149
inc rax
lea r8d, [r10 + 8]
shl r11d, 0x10
mov edi, 1
xor r11d, ebx
and r11d, 0x10000
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000e1ba
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e19b
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000e165
jmp 0x18000e1ba
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000e1ba
inc rax
lea r8d, [r10 + 8]
shl ebx, 0x11
mov edi, 1
xor ebx, r11d
and ebx, 0x20000
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000e22b
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e20b
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000e1d4
jmp 0x18000e22b
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000e22b
inc rax
lea r8d, [r10 + 8]
shl r11d, 0x12
mov edi, r15d
xor r11d, ebx
and r11d, 0x40000
xor r11d, ebx
mov ebx, 1
mov dword [r14], r11d
cmp rax, r9
jae 0x18000e29c
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, ebx
jns 0x18000e27d
movsxd rcx, r8d
neg r10d
sub ebx, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or edi, edx
test ebx, ebx
jg 0x18000e247
jmp 0x18000e29c
movzx ecx, r10b
mov edx, ebx
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or edi, ecx
test r10d, r10d
jne 0x18000e29c
inc rax
lea r8d, [r10 + 8]
shl edi, 0x13
mov ebx, r15d
xor edi, r11d
and edi, 0x80000
xor edi, r11d
mov r11d, 1
mov dword [r14], edi
cmp rax, r9
jae 0x18000e30e
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, r11d
jns 0x18000e2ee
movsxd rcx, r8d
neg r10d
sub r11d, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test r11d, r11d
jg 0x18000e2b7
jmp 0x18000e30e
movzx ecx, r10b
mov edx, r11d
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000e30e
inc rax
lea r8d, [r10 + 8]
shl ebx, 0x14
mov r10d, r15d
xor ebx, edi
and ebx, 0x100000
xor ebx, edi
mov edi, 1
mov dword [r14], ebx
cmp rax, r9
jae 0x18000e3a9
movzx esi, byte [rax]
mov r11d, r8d
sub r11d, edi
jns 0x18000e374
movsxd rcx, r8d
neg r11d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r11b
and edx, esi
shl edx, cl
or r10d, edx
test edi, edi
jg 0x18000e326
shl r10d, 0x15
mov ecx, r13d
xor r10d, ebx
and r10d, 0x200000
xor r10d, ebx
mov dword [r14], r10d
jmp 0x18000e3c8
movzx ecx, r11b
mov edx, edi
shr esi, cl
mov r8d, r11d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r10d, ecx
test r11d, r11d
jne 0x18000e3a9
shl r10d, 0x15
inc rax
xor r10d, ebx
mov ecx, r13d
and r10d, 0x200000
xor r10d, ebx
mov dword [r14], r10d
jmp 0x18000e3c8
shl r10d, 0x15
lea ecx, [r8 - 1]
xor r10d, ebx
and r10d, 0x200000
xor r10d, ebx
mov dword [r14], r10d
test ecx, ecx
jg 0x18000e3c8
inc rax
test ecx, ecx
lea r8d, [rcx + 8]
mov edi, 1
mov ebx, r15d
cmovg r8d, ecx
nop word [rax + rax]
cmp rax, r9
jae 0x18000e435
movzx esi, byte [rax]
mov r11d, r8d
sub r11d, edi
jns 0x18000e416
movsxd rcx, r8d
neg r11d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r11b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000e3e0
jmp 0x18000e435
movzx ecx, r11b
mov edx, edi
shr esi, cl
mov r8d, r11d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r11d, r11d
jne 0x18000e435
inc rax
lea r8d, [r11 + 8]
shl ebx, 0x17
mov edi, 1
xor ebx, r10d
mov r11d, r15d
and ebx, 0x800000
xor ebx, r10d
mov dword [r14], ebx
nop
cmp rax, r9
jae 0x18000e4a7
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e487
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000e450
jmp 0x18000e4a7
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000e4a7
inc rax
lea r8d, [r10 + 8]
shl r11d, 0x18
mov edi, 1
xor r11d, ebx
and r11d, 0x1000000
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000e518
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e4f9
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000e4c3
jmp 0x18000e518
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000e518
inc rax
lea r8d, [r10 + 8]
shl ebx, 0x19
mov edi, 1
xor ebx, r11d
and ebx, 0x2000000
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000e589
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e569
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000e532
jmp 0x18000e589
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000e589
inc rax
lea r8d, [r10 + 8]
shl r11d, 0x1a
mov edi, 1
xor r11d, ebx
and r11d, 0x4000000
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000e5fa
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e5db
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000e5a5
jmp 0x18000e5fa
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000e5fa
inc rax
lea r8d, [r10 + 8]
shl ebx, 0x1b
mov edi, 1
xor ebx, r11d
and ebx, 0x8000000
xor ebx, r11d
mov r11d, r15d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000e66b
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e64b
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000e614
jmp 0x18000e66b
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test r10d, r10d
jne 0x18000e66b
inc rax
lea r8d, [r10 + 8]
shl r11d, 0x1c
mov edi, 1
xor r11d, ebx
and r11d, 0x10000000
xor r11d, ebx
mov ebx, r15d
mov dword [r14], r11d
cmp rax, r9
jae 0x18000e6dc
movzx esi, byte [rax]
mov r10d, r8d
sub r10d, edi
jns 0x18000e6bd
movsxd rcx, r8d
neg r10d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r10b
and edx, esi
shl edx, cl
or ebx, edx
test edi, edi
jg 0x18000e687
jmp 0x18000e6dc
movzx ecx, r10b
mov edx, edi
shr esi, cl
mov r8d, r10d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or ebx, ecx
test r10d, r10d
jne 0x18000e6dc
inc rax
lea r8d, [r10 + 8]
shl ebx, 0x1d
mov edi, 1
xor ebx, r11d
mov r10d, r15d
and ebx, 0x20000000
xor ebx, r11d
mov dword [r14], ebx
cmp rax, r9
jae 0x18000e74d
movzx esi, byte [rax]
mov r11d, r8d
sub r11d, edi
jns 0x18000e72d
movsxd rcx, r8d
neg r11d
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r11b
and edx, esi
shl edx, cl
or r10d, edx
test edi, edi
jg 0x18000e6f6
jmp 0x18000e74d
movzx ecx, r11b
mov edx, edi
shr esi, cl
mov r8d, r11d
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r10d, ecx
test r11d, r11d
jne 0x18000e74d
inc rax
lea r8d, [r11 + 8]
shl r10d, 0x1e
mov edi, 1
xor r10d, ebx
mov r11d, r15d
and r10d, 0x40000000
xor r10d, ebx
mov dword [r14], r10d
nop dword [rax]
cmp rax, r9
jae 0x18000e7cf
movzx esi, byte [rax]
mov ebx, r8d
sub ebx, edi
jns 0x18000e7a4
movsxd rcx, r8d
neg ebx
sub edi, r8d
inc rax
mov r8d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, bl
and edx, esi
shl edx, cl
or r11d, edx
test edi, edi
jg 0x18000e770
jmp 0x18000e7be
movzx ecx, bl
mov edx, edi
shr esi, cl
mov r8d, ebx
mov ecx, dword [r12 + rdx*4]
and ecx, esi
or r11d, ecx
test ebx, ebx
jne 0x18000e7cf
inc rax
btr r10d, 0x1f
shl r11d, 0x1f
or r10d, r11d
mov dword [r14], r10d
jmp 0x18000e7ea
shl r11d, 0x1f
lea r13d, [r8 - 1]
btr r10d, 0x1f
or r11d, r10d
mov dword [r14], r11d
test r13d, r13d
jg 0x18000e7ea
inc rax
test r13d, r13d
lea r10d, [r13 + 8]
mov r11d, 1
cmovg r10d, r13d
nop dword [rax + rax]
cmp rax, r9
jae 0x18000e836
movzx ebx, byte [rax]
mov r8d, r10d
sub r8d, r11d
jns 0x18000e869
movsxd rcx, r10d
neg r8d
sub r11d, r10d
inc rax
mov r10d, 8
mov edx, dword [r12 + rcx*4]
movzx ecx, r8b
and edx, ebx
shl edx, cl
or r15d, edx
test r11d, r11d
jg 0x18000e800
mov ecx, r15d
and dword [r14 + 4], 0xfffffffd
and ecx, 1
mov rbx, qword [rsp + 0x28]
add ecx, ecx
or dword [r14 + 4], ecx
mov eax, 1
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
ret
movzx ecx, r8b
mov eax, r11d
shr ebx, cl
mov ecx, dword [r12 + rax*4]
and ecx, ebx
or ecx, r15d
jmp 0x18000e839