Function at 0x1400fb100
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov edi, dword [rcx + 0x203c]
mov esi, dword [rcx + 0x2040]
mov r13, rdx
mov edx, dword [rcx + 0x206c]
mov rbx, rcx
mov eax, dword [rbx + 0x1a2c]
mov qword [rsp + 0xc0], r8
mov r8d, edi
mov r14d, esi
mov qword [rsp + 0xc8], r9
lea ecx, [rdx + 1]
mov r12, qword [rsp + 0xd0]
shl eax, 4
sar r8d, cl
sar r14d, cl
mov ecx, 3
add r8d, eax
mov eax, dword [rbx + 0x1a30]
sub ecx, edx
mov edx, dword [rbx + 0x270]
shl eax, 4
add eax, r14d
cmp r8d, 0xfffffff0
jl 0x1400f9be3
cmp r8d, edx
jle 0x1400f9cd0
xor edi, edi
cmp eax, 0xfffffff0
movsxd r11, edx
mov r9d, edx
mov edx, dword [rbx + 0x274]
jge 0x1400f9c09
mov r15, 0xfffffffffffffff0
mov r8d, r15d
shl esi, cl
mov eax, 0
cmp edx, r8d
cmove esi, eax
mov r14, qword [rbx + 0x2f0]
mov edx, dword [rbx + 0x2e4]
mov rbp, qword [rbx + 0x2f8]
imul r15, r14
add r15, r11
add r15, qword [r12]
cmp edx, 0x11
mov r11d, dword [rbx + 0x2e8]
jle 0x1400f9a12
lea ecx, [rdx - 0x11]
cmp ecx, r9d
jbe 0x1400f9a12
cmp r11d, 0x11
jg 0x1400f9c30
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], r8d
mov rdx, r15
mov dword [rsp + 0x30], r9d
mov rcx, qword [rbx + 0xa40]
mov r9, r14
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x28], 0x11
mov r8, r14
mov dword [rsp + 0x20], 0x11
call qword [rbx + 0x14f8]
mov edx, edi
mov r15, qword [rbx + 0xa40]
or edx, esi
and edx, 7
jne 0x1400f9c4a
mov eax, dword [rbx + 0x1a28]
sar edi, 3
sar esi, 2
and edi, 1
and esi, 2
mov r9d, 0x10
or esi, edi
mov r8, r14
mov rdx, r15
test eax, eax
movsxd rsi, esi
mov rcx, r13
jne 0x1400f9c20
call qword [rbx + rsi*8 + 0xb38]
mov eax, dword [rbx + 0x206c]
mov esi, dword [rbx + 0x2044]
mov r8d, dword [rbx + 0x1a2c]
mov edi, dword [rbx + 0x2048]
lea ecx, [rax + 1]
mov edx, esi
sar edx, cl
lea r10d, [rdx + r8*8]
mov r8d, dword [rbx + 0x1a30]
mov edx, edi
sar edx, cl
mov ecx, 3
sub ecx, eax
lea r11d, [rdx + r8*8]
mov r8d, dword [rbx + 0x270]
sar r8d, 1
cmp r10d, 0xfffffff8
jl 0x1400f9de0
cmp r10d, r8d
jle 0x1400f9e00
movsxd rdx, r8d
mov r10d, r8d
xor esi, esi
mov r8d, dword [rbx + 0x274]
sar r8d, 1
cmp r11d, 0xfffffff8
jl 0x1400f9dc2
cmp r11d, r8d
jle 0x1400f9e05
movsxd rax, r8d
mov r11d, r8d
xor edi, edi
imul rax, rbp
mov r9d, dword [rbx + 0x2e4]
mov r8d, dword [rbx + 0x2e8]
sar r9d, 1
sar r8d, 1
lea r13, [rax + rdx]
mov rdx, r13
add rdx, qword [r12 + 8]
cmp r9d, 9
jle 0x1400f9ce0
lea ecx, [r9 - 9]
cmp ecx, r10d
jbe 0x1400f9ce0
cmp r8d, 9
jle 0x1400f9ce0
lea ecx, [r8 - 9]
cmp ecx, r11d
jbe 0x1400f9ce0
mov ecx, pe_nt_image_headers64
sub ecx, dword [rbx + 0x1a28]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
mov r9d, 8
mov r8d, ebp
mov r15d, ebp
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0xc0]
call qword [rbx + 0x1188]
mov rdx, r13
add rdx, qword [r12 + 0x10]
mov eax, pe_nt_image_headers64
sub eax, dword [rbx + 0x1a28]
mov rcx, qword [rsp + 0xc8]
mov r9d, 8
mov r8d, r15d
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x30], eax
call qword [rbx + 0x1188]
nop
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r11, 0xfffffffffffffff0
mov r9d, r11d
shl edi, cl
cmp edx, r9d
mov edx, 0
cmove edi, edx
cmp eax, 0xfffffff0
mov edx, dword [rbx + 0x274]
jl 0x1400f99be
cmp eax, edx
jle 0x1400f9cc0
movsxd r15, edx
mov r8d, edx
xor esi, esi
jmp 0x1400f99d5
call qword [rbx + rsi*8 + 0xc38]
jmp 0x1400f9a94
lea ecx, [r11 - 0x11]
cmp ecx, r8d
jbe 0x1400f9a12
mov edx, edi
or edx, esi
and edx, 7
je 0x1400f9a5f
and esi, 0xf
and edi, 0xf
mov r8d, r14d
mov r11d, esi
mov esi, pe_nt_image_headers64
mov rcx, r13
mov edx, esi
sub edx, dword [rbx + 0x1a28]
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x58], r11d
mov dword [rsp + 0x20], edi
mov r9d, 0x10
mov dword [rsp + 0x30], edx
mov rdx, r15
call qword [rbx + 0x1188]
sub esi, dword [rbx + 0x1a28]
mov r11d, dword [rsp + 0x58]
lea rdx, [r15 + 8]
lea rcx, [r13 + 8]
mov dword [rsp + 0x20], edi
mov r9d, 0x10
mov r8d, r14d
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x30], esi
call qword [rbx + 0x1188]
jmp 0x1400f9a94
movsxd r15, eax
mov r8d, eax
jmp 0x1400f99c8
movsxd r11, r8d
mov r9d, r8d
jmp 0x1400f9bed
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x5c], r11d
mov r15d, ebp
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x58], r10d
mov rcx, qword [rbx + 0xa40]
mov dword [rsp + 0x48], r8d
mov r8, rbp
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x28], 9
mov r9, rbp
mov dword [rsp + 0x20], 9
call qword [rbx + 0x14f8]
mov ecx, pe_nt_image_headers64
sub ecx, dword [rbx + 0x1a28]
mov rdx, qword [rbx + 0xa40]
mov r9d, 8
mov r8d, ebp
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x30], ecx
mov rcx, qword [rsp + 0xc0]
call qword [rbx + 0x1188]
mov r8d, dword [rbx + 0x2e8]
mov rdx, r13
add rdx, qword [r12 + 0x10]
mov r11d, dword [rsp + 0x5c]
mov r10d, dword [rsp + 0x58]
mov r9, rbp
mov rcx, qword [rbx + 0xa40]
mov dword [rsp + 0x28], 9
sar r8d, 1
mov dword [rsp + 0x20], 9
mov dword [rsp + 0x48], r8d
mov r8d, dword [rbx + 0x2e4]
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], r10d
sar r8d, 1
mov dword [rsp + 0x40], r8d
mov r8, rbp
call qword [rbx + 0x14f8]
mov rdx, qword [rbx + 0xa40]
jmp 0x1400f9ba3
mov rax, 0xfffffffffffffff8
mov r11d, eax
cmp r8d, r11d
je 0x1400f9e10
shl edi, cl
and edi, 0xf
jmp 0x1400f9b18
mov rdx, 0xfffffffffffffff8
mov r10d, edx
cmp r8d, r10d
je 0x1400f9e20
shl esi, cl
and esi, 0xf
jmp 0x1400f9af3
movsxd rdx, r10d
jmp 0x1400f9dea
movsxd rax, r11d
jmp 0x1400f9dcc
xor edi, edi
jmp 0x1400f9b18
xor esi, esi
jmp 0x1400f9af3
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov r11d, dword [rcx + 0x204c]
mov esi, dword [rcx + 0x1a2c]
mov qword [rsp + 0xe8], r9
mov r9d, dword [rcx + 0x2050]
mov r10, rdx
mov edi, dword [rcx + 0x1a30]
mov qword [rsp + 0xe0], r8
mov rbx, rcx
mov eax, r11d
mov r8d, dword [rcx + 0x2058]
mov ebp, dword [rcx + 0x206c]
imul eax, esi
mov r15, qword [rcx + 0x2f0]
mov r13, qword [rcx + 0x2f8]
mov r12, qword [rsp + 0xf0]
mov qword [rsp + 0x70], r10
shl eax, 4
add eax, dword [rcx + 0x203c]
mov r14, qword [r12]
mov edx, eax
mov eax, r9d
imul eax, edi
imul edi, r8d
shl eax, 4
add eax, edx
mov edx, dword [rcx + 0x2054]
shl edi, 4
mov dword [rsp + 0x7c], eax
imul esi, edx
shl esi, 4
add esi, dword [rcx + 0x2040]
lea ecx, [rbp + rbp + 1]
add ebp, 1
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], edx
mov dword [rsp + 0x38], r9d
mov r8d, r15d
mov dword [rsp + 0x20], eax
mov rdx, r14
mov dword [rsp + 0x50], ebp
lea esi, [rsi + rdi]
mov edi, 1
mov r9d, 0x10
shl edi, cl
mov ecx, dword [rbx + 0x2e8]
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x68], ecx
mov ecx, dword [rbx + 0x2e4]
mov dword [rsp + 0x60], ecx
mov ecx, edi
sub ecx, dword [rbx + 0x1a28]
mov dword [rsp + 0x58], ecx
mov rcx, r10
call qword [rbx + 0x1190]
mov r9d, dword [rbx + 0x2e8]
mov edx, dword [rbx + 0x204c]
mov r8d, dword [rbx + 0x2054]
mov eax, dword [rsp + 0x7c]
mov r10, qword [rsp + 0x70]
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x68], r9d
mov r9d, dword [rbx + 0x2e4]
lea eax, [rax + rdx*8]
mov dword [rsp + 0x40], r8d
lea r8d, [rsi + r8*8]
lea rcx, [r10 + 8]
mov dword [rsp + 0x30], edx
mov rdx, r14
mov dword [rsp + 0x60], r9d
mov r9d, edi
sub r9d, dword [rbx + 0x1a28]
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], eax
mov r8d, r15d
mov dword [rsp + 0x58], r9d
mov r9d, dword [rbx + 0x2058]
mov dword [rsp + 0x48], r9d
mov r9d, dword [rbx + 0x2050]
mov dword [rsp + 0x38], r9d
mov r9d, 0x10
call qword [rbx + 0x1190]
mov ecx, dword [rbx + 0x204c]
mov edx, dword [rbx + 0x1a2c]
mov r8d, dword [rbx + 0x2050]
mov r9d, dword [rbx + 0x2044]
mov eax, dword [rbx + 0x1a30]
mov r11d, dword [rbx + 0x2058]
mov r10d, ecx
imul r10d, edx
lea r9d, [r9 + r10*8]
mov r10d, r8d
imul r10d, eax
imul eax, r11d
lea esi, [r9 + r10*8]
mov r9d, dword [rbx + 0x2054]
mov r10d, dword [rbx + 0x2048]
imul edx, r9d
lea edx, [r10 + rdx*8]
lea r14d, [rdx + rax*8]
mov eax, dword [rbx + 0x2e8]
mov rdx, qword [r12 + 8]
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], r9d
mov r9d, 8
mov dword [rsp + 0x38], r8d
mov dword [rsp + 0x30], ecx
mov r8d, r13d
add eax, 1
mov rcx, qword [rsp + 0xe0]
mov dword [rsp + 0x50], ebp
sar eax, 1
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], esi
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0x2e4]
add eax, 1
sar eax, 1
mov dword [rsp + 0x60], eax
mov eax, edi
sub eax, dword [rbx + 0x1a28]
mov dword [rsp + 0x58], eax
call qword [rbx + 0x1190]
mov eax, dword [rbx + 0x2e8]
mov rdx, qword [r12 + 0x10]
mov r9d, 8
sub edi, dword [rbx + 0x1a28]
mov rcx, qword [rsp + 0xe8]
mov r8d, r13d
mov dword [rsp + 0x50], ebp
mov dword [rsp + 0x28], r14d
add eax, 1
mov dword [rsp + 0x20], esi
sar eax, 1
mov dword [rsp + 0x68], eax
mov eax, dword [rbx + 0x2e4]
mov dword [rsp + 0x58], edi
add eax, 1
sar eax, 1
mov dword [rsp + 0x60], eax
mov eax, dword [rbx + 0x2058]
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 0x2054]
mov dword [rsp + 0x40], eax
mov eax, dword [rbx + 0x2050]
mov dword [rsp + 0x38], eax
mov eax, dword [rbx + 0x204c]
mov dword [rsp + 0x30], eax
call qword [rbx + 0x1190]
nop
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov eax, dword [rsp + 0xe0]
mov r12, qword [rsp + 0xd0]
mov rbp, rdx
mov edx, dword [rsp + 0xd8]
mov rbx, rcx
mov rsi, r8
lea rcx, [0x1403f9720]
mov rdi, r9
mov r8d, edx
sar edx, 3
and r8d, 0xf
movzx r8d, byte [rcx + r8]
add edx, r8d
mov r8d, eax
sar eax, 3
and r8d, 0xf
movzx ecx, byte [rcx + r8]
add eax, ecx
mov r13d, eax
sar eax, 1
and r13d, 1
lea ecx, [r13 + r13]
mov r13d, edx
sar edx, 1
and r13d, 1
or r13d, ecx
mov ecx, dword [rbx + 0x1a2c]
lea r15d, [rdx + rcx*8]
mov edx, dword [rbx + 0x1a30]
lea r10d, [rax + rdx*8]
mov eax, dword [rbx + 0x270]
sar eax, 1
cmp r15d, 0xfffffff8
jl 0x1400fa320
cmp r15d, eax
jg 0x1400fa3a0
cmp r15d, eax
je 0x1400fa3a0
mov eax, dword [rbx + 0x274]
sar eax, 1
cmp r10d, 0xfffffff8
jl 0x1400fa312
cmp r10d, eax
jg 0x1400fa390
cmp r10d, eax
je 0x1400fa390
mov r8, qword [rbx + 0x2f8]
movsxd rdx, r10d
mov r9d, dword [rbx + 0x2e4]
mov eax, r13d
movsxd r14, r15d
and eax, 1
imul rdx, r8
sar r9d, 1
mov ecx, r9d
sub ecx, eax
mov eax, ecx
add r14, rdx
mov rdx, r14
add rdx, qword [rdi + 8]
cmp ecx, 7
jg 0x1400fa330
mov eax, dword [rbx + 0x2e8]
sar eax, 1
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x5c], r10d
mov rcx, qword [rbx + 0xa40]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r9d
mov dword [rsp + 0x30], r15d
mov r9, r8
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 9
call qword [rbx + 0x14f8]
movsxd rax, r13d
mov rdx, qword [rbx + 0xa40]
mov r9d, 8
lea r12, [r12 + rax*8]
mov r8, qword [rbx + 0x2f8]
mov rcx, rbp
call qword [r12]
mov eax, dword [rbx + 0x2e8]
mov r8, qword [rbx + 0x2f8]
mov rdx, r14
mov r10d, dword [rsp + 0x5c]
add rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0xa40]
mov dword [rsp + 0x30], r15d
sar eax, 1
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 9
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 0x2e4]
mov r9, r8
mov dword [rsp + 0x38], r10d
sar eax, 1
mov dword [rsp + 0x40], eax
call qword [rbx + 0x14f8]
mov rdx, qword [rbx + 0xa40]
mov rax, qword [r12]
mov r8, qword [rbx + 0x2f8]
mov r9d, 8
mov rcx, rsi
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp rax
mov r10d, 0xfffffff8
jmp 0x1400fa1e9
mov r15d, 0xfffffff8
jmp 0x1400fa1c5
sub eax, 7
cmp eax, r15d
jbe 0x1400fa22d
mov eax, dword [rbx + 0x2e8]
mov ecx, r13d
sar ecx, 1
sar eax, 1
mov r11d, eax
sub r11d, ecx
cmp r11d, 7
mov ecx, r11d
jle 0x1400fa235
sub ecx, 7
cmp ecx, r10d
jbe 0x1400fa235
movsxd rax, r13d
mov r9d, 8
mov rcx, rbp
lea r12, [r12 + rax*8]
call qword [r12]
mov rdx, r14
add rdx, qword [rdi + 0x10]
jmp 0x1400fa2eb
and r13d, 0xfffffffd
mov r10d, eax
jmp 0x1400fa1f2
and r13d, 0xfffffffe
mov r15d, eax
jmp 0x1400fa1ce
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x188
mov rax, qword [rsp + 0x1f8]
mov ebx, dword [rsp + 0x1f0]
mov qword [rsp + 0x98], r9
mov r12, rcx
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0xa0], r8
mov r15, qword [rsp + 0x208]
mov r9, rax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x200]
mov esi, dword [rcx + 0x1a30]
mov qword [rsp + 0x68], rax
mov eax, dword [rcx + 0x288]
test eax, eax
jne 0x1400fb320
cmp dword [rcx + 0x2064], 1
movsxd r14, ebx
mov r8d, dword [r12 + 0x1a2c]
mov rdi, r14
mov ebp, esi
mov r15, r9
mov edx, r8d
sbb ecx, ecx
shl rdi, 5
shl edx, 4
add rdi, r12
add ecx, 2
shl ebp, 4
mov eax, dword [rdi + 0x1684]
and r8d, 3
sar eax, cl
add eax, edx
mov edx, dword [rdi + 0x1688]
lea ebx, [rax + 8]
sar edx, cl
sar ebx, 1
add ebp, edx
mov rdx, qword [r12 + 0x2f0]
lea ecx, [rbp + r8*4]
mov r8d, 4
sar ebp, 1
imul ecx, edx
lea ecx, [rax + rcx + 0x48]
movsxd rcx, ecx
add rcx, qword [r9]
call qword [r12 + 0x1500]
mov rcx, qword [r15 + 0x10]
mov rax, qword [r15 + 8]
mov r8d, 2
mov qword [rsp + 0x78], rcx
mov rdx, rcx
mov ecx, dword [r12 + 0x1a2c]
sub rdx, rax
and ecx, 7
add ebp, ecx
imul ebp, dword [r12 + 0x2f8]
lea ecx, [rbp + rbx + 0x40]
movsxd rcx, ecx
add rcx, rax
call qword [r12 + 0x1500]
mov eax, dword [r12 + 0x1680]
cmp eax, 2
je 0x1400fc3e0
jle 0x1400fcb60
cmp eax, 3
je 0x1400fc320
cmp eax, 4
jne case.default.0x1400fb411
mov eax, dword [r12 + 0x219c]
cmp eax, 3
je 0x1400fd3d0
mov rcx, qword [rsp + 0x70]
cmp qword [rcx], 0
je 0x1400fd775
mov r14, qword [rsp + 0x80]
mov r15, qword [rsp + 0xa0]
lea rbx, [r12 + 0xbb8]
mov r13, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
sar esi, 1
xor ebp, ebp
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], 0
add ebp, 1
mov dword [rsp + 0x48], 0x10
mov edx, dword [rdi + 0x1688]
cmp ebp, eax
setne al
mov r9, qword [rsp + 0x98]
mov r8, r15
movzx eax, al
mov dword [rsp + 0x40], edx
mov edx, dword [rdi + 0x1684]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x20], eax
mov rcx, r12
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x38], edx
mov rdx, r14
call fcn.1400fa3b0
mov eax, dword [r12 + 0x21f4]
test eax, eax
jne 0x1400fb302
mov rax, qword [r12 + 0x998]
mov r13, qword [rax]
add rdi, 0x10
cmp ebp, 2
je case.default.0x1400fb411
mov eax, dword [r12 + 0x219c]
mov rcx, rbx
jmp 0x1400fb294
cmp dword [rcx + 0x2064], 1
movsxd r14, ebx
mov r8d, dword [r12 + 0x1a2c]
mov rbx, r14
mov ebp, esi
mov edx, r8d
sbb ecx, ecx
shl rbx, 5
shl edx, 4
lea r13, [r12 + rbx]
add ecx, 2
shl ebp, 4
and r8d, 3
mov rbx, qword [rsp + 0x70]
mov eax, dword [r13 + 0x1684]
sar eax, cl
add eax, edx
mov edx, dword [r13 + 0x1688]
lea edi, [rax + 8]
sar edx, cl
sar edi, 1
add ebp, edx
mov rdx, qword [r12 + 0x2f0]
lea ecx, [rbp + r8*4]
mov r8d, 4
sar ebp, 1
imul ecx, edx
lea ecx, [rax + rcx + 0x48]
movsxd rcx, ecx
add rcx, qword [rbx]
call qword [r12 + 0x1500]
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
mov r8d, 2
mov qword [rsp + 0x78], rcx
mov rdx, rcx
mov ecx, dword [r12 + 0x1a2c]
sub rdx, rax
and ecx, 7
add ebp, ecx
imul ebp, dword [r12 + 0x2f8]
lea ecx, [rbp + rdi + 0x40]
movsxd rcx, ecx
add rcx, rax
call qword [r12 + 0x1500]
mov ebp, dword [r12 + 0x1fc4]
test ebp, ebp
jne 0x1400fb413
cmp dword [r12 + 0x1680], 4
ja case.default.0x1400fb411
mov edx, dword [r12 + 0x1680]
lea rax, [0x1403f96ec]
movsxd rdx, dword [rax + rdx*4]
add rax, rdx
jmp rax
cmp dword [r12 + 0xa84], 3
je 0x1400fb3ec
mov eax, dword [r12 + 0x1a2c]
mov r10d, dword [r12 + 0x1a30]
mov ebx, dword [r12 + 0x2e0]
mov r13d, dword [r12 + 0x2dc]
lea esi, [rax + rax]
mov r8d, r10d
imul r8d, r13d
mov edx, esi
mov dword [rsp + 0xc8], esi
lea esi, [r10 + r10]
mov ecx, esi
mov dword [rsp + 0xd4], esi
add r8d, eax
imul ecx, ebx
add ecx, edx
mov rdx, qword [r12 + 0x888]
test r10d, r10d
movsxd r9, ecx
lea rbp, [r9*4]
mov esi, dword [rdx + r9*4]
lea r9d, [rbx + rcx]
mov edi, dword [rdx + rbp + 4]
movsxd r9, r9d
mov r11d, dword [rdx + r9*4]
mov r9d, dword [rdx + r9*4 + 4]
mov dword [rsp + 0x154], esi
mov dword [rsp + 0x158], edi
mov dword [rsp + 0x164], r11d
mov dword [rsp + 0x168], r9d
mov dword [rsp + 0x174], r11d
mov dword [rsp + 0x178], r9d
je 0x1400fb4e0
mov r9d, r8d
mov r10, qword [r12 + 0x8a0]
sub r9d, r13d
movsxd r9, r9d
test byte [r10 + r9*4], 7
je 0x1400fce50
mov dword [rsp + 0x144], esi
mov dword [rsp + 0x148], edi
test eax, eax
je 0x1400fb509
mov r10, qword [r12 + 0x8a0]
movsxd r9, r8d
test byte [r10 + r9*4 - 4], 7
je 0x1400fce80
mov dword [rsp + 0x150], esi
mov dword [rsp + 0x160], r11d
add eax, 1
cmp eax, dword [r12 + 0x2d4]
jge 0x1400fb53c
mov rax, qword [r12 + 0x8a0]
movsxd r8, r8d
test byte [rax + r8*4 + 4], 7
je 0x1400fce30
mov eax, dword [rsp + 0x158]
mov dword [rsp + 0x15c], eax
mov eax, dword [rsp + 0x168]
mov dword [rsp + 0x16c], eax
lea rax, [rsp + 0x140]
mov dword [rsp + 0xc0], 0
mov dword [rsp + 0xb8], 0
mov dword [rsp + 0xa8], 0
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0xf0]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0x110]
mov qword [rsp + 0xe0], rax
mov ecx, dword [rsp + 0xa8]
mov r14, qword [rsp + 0xe8]
mov eax, ecx
sar ecx, 1
lea edx, [rcx + 1]
and eax, 1
movsxd rbx, eax
lea r8d, [rax + 1]
movsxd rdx, edx
lea r10, [rbx*4]
mov rsi, rdx
movsxd r8, r8d
add rdx, 1
shl rsi, 4
shl rdx, 4
lea r9, [r14 + rsi]
lea rsi, [r14 + rsi - 0x10]
add rdx, r14
lea r11, [r9 + r10]
movzx ebx, word [r9 + rbx*4 + 2]
movzx edi, word [r11 + 4]
mov word [rsp + 0xfa], bx
mov r15d, edi
mov word [rsp + 0x78], di
mov word [rsp + 0xf0], di
movzx edi, word [r9 + r8*4 + 2]
mov r13d, edi
mov word [rsp + 0xd0], di
mov word [rsp + 0xf2], di
movzx edi, word [rsi + r10 + 4]
movzx esi, word [rsi + r8*4 + 2]
mov word [rsp + 0xf6], si
movzx esi, word [r11]
movzx r11d, word [r11 + 8]
mov word [rsp + 0xf4], di
mov edi, r15d
mov word [rsp + 0xf8], si
mov esi, dword [rsp + 0xd4]
mov word [rsp + 0xfc], r11w
lea r11d, [rax + 2]
movsxd r11, r11d
movzx r9d, word [r9 + r11*4 + 2]
mov r11d, r13d
xor r13d, r13d
mov word [rsp + 0xfe], r9w
movzx r9d, word [rdx + r10 + 4]
movzx edx, word [rdx + r8*4 + 2]
mov r8, qword [r12 + 0x2f0]
mov word [rsp + 0x100], r9w
mov word [rsp + 0x102], dx
lea edx, [rsi + rcx]
lea esi, [rdx*8]
mov dword [rsp + 0x88], esi
mov esi, dword [rsp + 0xc8]
lea edx, [rsi + rax]
shl eax, 3
cdqe
lea esi, [rdx*8]
mov dword [rsp + 0x94], esi
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsi]
lea esi, [rcx*8]
movsxd rsi, esi
imul rsi, r8
add rsi, rax
add rsi, qword [rsp + 0x80]
test r13, r13
mov r14, qword [rsp + 0xd8]
mov eax, r13d
mov qword [rsp + 0xb0], rsi
mov rsi, qword [rsp + 0xe0]
je 0x1400fb731
cmp word [rsp + 0x78], di
je 0x1400fb862
mov edx, eax
lea rbx, [r8*8]
and eax, 1
sar edx, 1
movsx r9d, r11w
movsxd rdx, edx
sar r9d, 1
add r9d, dword [rsp + 0x88]
imul rdx, rbx
lea ebx, [rax*8]
movsx eax, di
sar eax, 1
add eax, dword [rsp + 0x94]
movsxd rbx, ebx
add rbx, rdx
add rbx, qword [r12 + 0xa50]
mov edx, dword [r12 + 0x270]
cmp eax, 0xfffffff0
mov qword [rsi + r13*8], rbx
jl 0x1400fcc45
cmp eax, edx
jle 0x1400fcc70
mov ecx, edi
movsxd r10, edx
mov eax, edx
and ecx, 1
xor edi, edi
cmp r9d, 0xfffffff0
mov r15d, dword [r12 + 0x274]
jl 0x1400fcc20
cmp r9d, r15d
jle 0x1400fcc63
movsxd rdx, r15d
mov r9d, r15d
imul rdx, r8
add rdx, r10
mov r10d, dword [r12 + 0x2e4]
add rdx, rbp
mov r15d, r10d
sub r15d, ecx
mov ecx, r15d
mov r15d, dword [r12 + 0x2e8]
cmp ecx, 7
jle 0x1400fcbd0
sub ecx, 7
cmp ecx, eax
jbe 0x1400fcbd0
and r11d, 1
mov ecx, r15d
sub ecx, r11d
cmp ecx, 7
jle 0x1400fcbd0
sub ecx, 7
cmp ecx, r9d
jbe 0x1400fcbd0
mov rax, qword [rsp + 0x68]
movsxd rdi, edi
add r13, 1
mov r9d, 8
mov rcx, rbx
add r14, 4
call qword [rax + rdi*8 + 0x20]
cmp r13, 5
mov r8, qword [r12 + 0x2f0]
je 0x1400fb890
test r13, r13
movzx r11d, word [r14 + 2]
movzx edi, word [r14]
mov eax, r13d
je 0x1400fb731
cmp word [rsp + 0x78], di
jne 0x1400fb731
cmp word [rsp + 0xd0], r11w
jne 0x1400fb731
mov rax, qword [rsp + 0x110]
add r14, 4
mov qword [rsi + r13*8], rax
add r13, 1
cmp r13, 5
jne 0x1400fb842
nop dword [rax + rax]
mov r10, qword [rsp + 0x118]
mov r9, qword [rsp + 0x120]
mov rax, qword [rsp + 0x110]
mov rsi, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x130]
movzx ebx, byte [r10]
movzx r11d, byte [r9]
add r11d, ebx
movzx ebx, byte [rax]
lea r11d, [r11 + rbx*2 + 2]
shr r11d, 2
mov byte [rsi], r11b
movzx r11d, byte [r9 + 1]
movzx ebx, byte [r10 + 1]
lea ebx, [r11 + rbx*2]
movzx r11d, byte [rax + 1]
lea r11d, [r11 + r11*4]
lea r11d, [rbx + r11 + 4]
sar r11d, 3
mov byte [rsi + 1], r11b
movzx r11d, byte [r9 + 2]
movzx ebx, byte [r10 + 2]
lea ebx, [r11 + rbx*2]
movzx r11d, byte [rax + 2]
lea r11d, [r11 + r11*4]
lea r11d, [rbx + r11 + 4]
sar r11d, 3
mov byte [rsi + 2], r11b
movzx r11d, byte [r9 + 3]
movzx ebx, byte [r10 + 3]
lea ebx, [r11 + rbx*2]
movzx r11d, byte [rax + 3]
lea r11d, [r11 + r11*4]
lea r11d, [rbx + r11 + 4]
sar r11d, 3
mov byte [rsi + 3], r11b
lea r11d, [r8 + 2]
movsxd r11, r11d
movzx ebx, byte [r9 + r11]
movzx edi, byte [r10 + r11]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rax + r11]
lea ebx, [rbx + rbx*4]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r11], bl
lea r11d, [r8 + 3]
movsxd r11, r11d
movzx ebx, byte [r9 + r11]
movzx edi, byte [r10 + r11]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rax + r11]
lea ebx, [rbx + rbx*4]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r11], bl
movzx r11d, byte [rax + 4]
movzx ebx, byte [r10 + 4]
lea r11d, [r11 + r11*4]
lea ebx, [r11 + rbx*2]
movzx r11d, byte [rcx + 4]
lea r11d, [rbx + r11 + 4]
sar r11d, 3
mov byte [rsi + 4], r11b
movzx r11d, byte [rax + 5]
movzx ebx, byte [r10 + 5]
lea r11d, [r11 + r11*4]
lea ebx, [r11 + rbx*2]
movzx r11d, byte [rcx + 5]
lea r11d, [rbx + r11 + 4]
sar r11d, 3
mov byte [rsi + 5], r11b
lea r11d, [r8 + 4]
movsxd r11, r11d
movzx ebx, byte [rax + r11]
movzx edi, byte [r10 + r11]
lea ebx, [rbx + rbx*4]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rcx + r11]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r11], bl
lea r11d, [r8 + 5]
movsxd r11, r11d
movzx ebx, byte [rax + r11]
movzx edi, byte [r10 + r11]
lea ebx, [rbx + rbx*4]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rcx + r11]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r11], bl
movzx r11d, byte [rax + 6]
movzx ebx, byte [r10 + 6]
lea r11d, [r11 + r11*4]
lea ebx, [r11 + rbx*2]
movzx r11d, byte [rcx + 6]
lea r11d, [rbx + r11 + 4]
sar r11d, 3
mov byte [rsi + 6], r11b
movzx r11d, byte [r10 + 7]
movzx ebx, byte [rax + 7]
lea ebx, [r11 + rbx*2]
movzx r11d, byte [rcx + 7]
lea r11d, [rbx + r11 + 2]
shr r11d, 2
mov byte [rsi + 7], r11b
movsxd r11, r8d
movzx ebx, byte [r10 + r11]
movzx edi, byte [r9 + r11]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rax + r11]
lea ebx, [rbx + rbx*4]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r11], bl
movzx ebx, byte [r10 + r11 + 1]
movzx edi, byte [r9 + r11 + 1]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rax + r11 + 1]
lea ebx, [rbx + rbx*4]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r11 + 1], bl
movzx ebx, byte [rax + r11 + 6]
lea edi, [rbx + rbx*4]
movzx ebx, byte [r10 + r11 + 6]
add ebx, edi
movzx edi, byte [rcx + r11 + 6]
lea ebx, [rbx + rdi*2 + 4]
sar ebx, 3
mov byte [rsi + r11 + 6], bl
movzx ebx, byte [rax + r11 + 7]
lea edi, [rbx + rbx*4]
movzx ebx, byte [r10 + r11 + 7]
add ebx, edi
movzx edi, byte [rcx + r11 + 7]
lea ebx, [rbx + rdi*2 + 4]
lea edi, [r8 + r8]
sar ebx, 3
mov byte [rsi + r11 + 7], bl
movsxd r11, edi
movzx ebx, byte [r10 + r11]
movzx ebp, byte [r9 + r11]
lea ebp, [rbx + rbp*2]
movzx ebx, byte [rax + r11]
lea ebx, [rbx + rbx*4]
lea ebx, [rbp + rbx + 4]
sar ebx, 3
mov byte [rsi + r11], bl
movzx ebx, byte [r10 + r11 + 1]
movzx ebp, byte [r9 + r11 + 1]
lea ebp, [rbx + rbp*2]
movzx ebx, byte [rax + r11 + 1]
lea ebx, [rbx + rbx*4]
lea ebx, [rbp + rbx + 4]
sar ebx, 3
mov byte [rsi + r11 + 1], bl
lea ebx, [rdi + r8]
movsxd rbp, ebx
movzx r13d, byte [r10 + rbp]
movzx r14d, byte [r9 + rbp]
lea r14d, [r13 + r14*2]
movzx r13d, byte [rax + rbp]
lea r13d, [r13 + r13*4]
lea r13d, [r14 + r13 + 4]
sar r13d, 3
mov byte [rsi + rbp], r13b
lea ebp, [rdi + r8 + 1]
movsxd rbp, ebp
movzx r13d, byte [r10 + rbp]
movzx r14d, byte [r9 + rbp]
lea r14d, [r13 + r14*2]
movzx r13d, byte [rax + rbp]
lea r13d, [r13 + r13*4]
lea r13d, [r14 + r13 + 4]
sar r13d, 3
mov byte [rsi + rbp], r13b
movzx r13d, byte [r10 + r11 + 2]
movzx ebp, byte [r9 + r11 + 2]
add ebp, r13d
movzx r13d, byte [rax + r11 + 2]
lea r13d, [r13 + r13*2]
lea ebp, [rbp + r13*2 + 4]
sar ebp, 3
mov byte [rsi + r11 + 2], bpl
lea ebp, [rdi + 2]
movsxd r13, ebp
add ebp, r8d
movzx r15d, byte [r10 + r13 + 1]
movzx r14d, byte [r9 + r13 + 1]
movsxd rbp, ebp
add r14d, r15d
movzx r15d, byte [rax + r13 + 1]
lea r15d, [r15 + r15*2]
lea r14d, [r14 + r15*2 + 4]
sar r14d, 3
mov byte [rsi + r13 + 1], r14b
movzx r14d, byte [r10 + rbp]
movzx r13d, byte [r9 + rbp]
add r13d, r14d
movzx r14d, byte [rax + rbp]
lea r14d, [r14 + r14*2]
lea r13d, [r13 + r14*2 + 4]
sar r13d, 3
mov byte [rsi + rbp], r13b
lea ebp, [rdi + r8 + 3]
movsxd rbp, ebp
movzx r14d, byte [r10 + rbp]
movzx r13d, byte [r9 + rbp]
add r13d, r14d
movzx r14d, byte [rax + rbp]
lea r14d, [r14 + r14*2]
lea r13d, [r13 + r14*2 + 4]
sar r13d, 3
mov byte [rsi + rbp], r13b
movzx ebp, byte [rax + r11 + 4]
lea r13d, [rbp + rbp*2]
movzx ebp, byte [r10 + r11 + 4]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rcx + r11 + 4]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
add ebx, r8d
mov byte [rsi + r11 + 4], bpl
lea ebp, [rdi + 4]
movsxd r13, ebp
add ebp, r8d
movzx r14d, byte [rax + r13 + 1]
movsxd rbp, ebp
lea r15d, [r14 + r14*2]
movzx r14d, byte [r10 + r13 + 1]
lea r15d, [r14 + r15*2]
movzx r14d, byte [rcx + r13 + 1]
lea r14d, [r15 + r14 + 4]
sar r14d, 3
mov byte [rsi + r13 + 1], r14b
movzx r13d, byte [rax + rbp]
lea r14d, [r13 + r13*2]
movzx r13d, byte [r10 + rbp]
lea r14d, [r13 + r14*2]
movzx r13d, byte [rcx + rbp]
lea r13d, [r14 + r13 + 4]
sar r13d, 3
mov byte [rsi + rbp], r13b
lea ebp, [rdi + r8 + 5]
movsxd rbp, ebp
movzx r13d, byte [rax + rbp]
lea r14d, [r13 + r13*2]
movzx r13d, byte [r10 + rbp]
lea r14d, [r13 + r14*2]
movzx r13d, byte [rcx + rbp]
lea r13d, [r14 + r13 + 4]
sar r13d, 3
mov byte [rsi + rbp], r13b
movzx ebp, byte [rax + r11 + 6]
lea r13d, [rbp + rbp*4]
movzx ebp, byte [r10 + r11 + 6]
add ebp, r13d
movzx r13d, byte [rcx + r11 + 6]
lea ebp, [rbp + r13*2 + 4]
sar ebp, 3
mov byte [rsi + r11 + 6], bpl
lea r11d, [rdi + 6]
movsxd rbp, r11d
add r11d, r8d
movzx r13d, byte [rax + rbp + 1]
movsxd r11, r11d
lea r14d, [r13 + r13*4]
movzx r13d, byte [r10 + rbp + 1]
add r13d, r14d
movzx r14d, byte [rcx + rbp + 1]
lea r13d, [r13 + r14*2 + 4]
sar r13d, 3
mov byte [rsi + rbp + 1], r13b
movzx ebp, byte [rax + r11]
lea r13d, [rbp + rbp*4]
movzx ebp, byte [r10 + r11]
add ebp, r13d
movzx r13d, byte [rcx + r11]
lea ebp, [rbp + r13*2 + 4]
sar ebp, 3
mov byte [rsi + r11], bpl
lea r11d, [rdi + r8 + 7]
movsxd r11, r11d
movzx edi, byte [rax + r11]
movzx r10d, byte [r10 + r11]
lea edi, [rdi + rdi*4]
add r10d, edi
movzx edi, byte [rcx + r11]
lea r10d, [r10 + rdi*2 + 4]
sar r10d, 3
mov byte [rsi + r11], r10b
movsxd r10, ebx
movzx r11d, byte [rax + r10]
movzx edi, byte [r9 + r10]
lea r11d, [r11 + r11*4]
lea edi, [r11 + rdi*2]
movzx r11d, byte [rdx + r10]
lea r11d, [rdi + r11 + 4]
sar r11d, 3
mov byte [rsi + r10], r11b
movzx r11d, byte [rax + r10 + 1]
movzx edi, byte [r9 + r10 + 1]
lea r11d, [r11 + r11*4]
lea edi, [r11 + rdi*2]
movzx r11d, byte [rdx + r10 + 1]
lea r11d, [rdi + r11 + 4]
sar r11d, 3
mov byte [rsi + r10 + 1], r11b
lea r11d, [rbx + r8]
movsxd rdi, r11d
movzx ebp, byte [rax + rdi]
movzx r13d, byte [r9 + rdi]
lea ebp, [rbp + rbp*4]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rdx + rdi]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
mov byte [rsi + rdi], bpl
lea edi, [rbx + r8 + 1]
movsxd rdi, edi
movzx ebp, byte [rax + rdi]
movzx r13d, byte [r9 + rdi]
lea ebp, [rbp + rbp*4]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rdx + rdi]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
mov byte [rsi + rdi], bpl
movzx edi, byte [rax + r10 + 2]
lea ebp, [rdi + rdi*2]
movzx edi, byte [r9 + r10 + 2]
lea ebp, [rdi + rbp*2]
movzx edi, byte [rdx + r10 + 2]
lea edi, [rbp + rdi + 4]
sar edi, 3
mov byte [rsi + r10 + 2], dil
lea edi, [rbx + 2]
movsxd rbp, edi
add edi, r8d
movzx r13d, byte [rax + rbp + 1]
movsxd rdi, edi
lea r14d, [r13 + r13*2]
movzx r13d, byte [r9 + rbp + 1]
lea r14d, [r13 + r14*2]
movzx r13d, byte [rdx + rbp + 1]
lea r13d, [r14 + r13 + 4]
sar r13d, 3
mov byte [rsi + rbp + 1], r13b
movzx ebp, byte [rax + rdi]
lea r13d, [rbp + rbp*2]
movzx ebp, byte [r9 + rdi]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rdx + rdi]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
mov byte [rsi + rdi], bpl
lea edi, [rbx + r8 + 3]
movsxd rdi, edi
movzx ebp, byte [rax + rdi]
lea r13d, [rbp + rbp*2]
movzx ebp, byte [r9 + rdi]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rdx + rdi]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
mov byte [rsi + rdi], bpl
movzx edi, byte [rax + r10 + 4]
lea ebp, [rdi + rdi*2]
movzx edi, byte [rcx + r10 + 4]
lea ebp, [rdi + rbp*2]
movzx edi, byte [rdx + r10 + 4]
lea edi, [rbp + rdi + 4]
sar edi, 3
mov byte [rsi + r10 + 4], dil
lea edi, [rbx + 4]
movsxd rbp, edi
add edi, r8d
movzx r13d, byte [rax + rbp + 1]
movsxd rdi, edi
lea r14d, [r13 + r13*2]
movzx r13d, byte [rcx + rbp + 1]
lea r14d, [r13 + r14*2]
movzx r13d, byte [rdx + rbp + 1]
lea r13d, [r14 + r13 + 4]
sar r13d, 3
mov byte [rsi + rbp + 1], r13b
movzx ebp, byte [rax + rdi]
lea r13d, [rbp + rbp*2]
movzx ebp, byte [rcx + rdi]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rdx + rdi]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
mov byte [rsi + rdi], bpl
lea edi, [rbx + r8 + 5]
movsxd rdi, edi
movzx ebp, byte [rax + rdi]
lea r13d, [rbp + rbp*2]
movzx ebp, byte [rcx + rdi]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rdx + rdi]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
mov byte [rsi + rdi], bpl
movzx edi, byte [rax + r10 + 6]
movzx ebp, byte [rcx + r10 + 6]
lea edi, [rdi + rdi*4]
lea ebp, [rdi + rbp*2]
movzx edi, byte [rdx + r10 + 6]
lea edi, [rbp + rdi + 4]
sar edi, 3
mov byte [rsi + r10 + 6], dil
lea r10d, [rbx + 6]
movsxd rdi, r10d
add r10d, r8d
movzx ebp, byte [rax + rdi + 1]
movzx r13d, byte [rcx + rdi + 1]
movsxd r10, r10d
lea ebp, [rbp + rbp*4]
lea r13d, [rbp + r13*2]
movzx ebp, byte [rdx + rdi + 1]
lea ebp, [r13 + rbp + 4]
sar ebp, 3
mov byte [rsi + rdi + 1], bpl
movzx edi, byte [rax + r10]
movzx ebp, byte [rcx + r10]
lea edi, [rdi + rdi*4]
lea ebp, [rdi + rbp*2]
movzx edi, byte [rdx + r10]
lea edi, [rbp + rdi + 4]
sar edi, 3
add r11d, r8d
mov byte [rsi + r10], dil
lea r10d, [rbx + r8 + 7]
movsxd r10, r10d
movzx ebx, byte [rax + r10]
movzx edi, byte [rcx + r10]
lea ebx, [rbx + rbx*4]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rdx + r10]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r10], bl
movsxd r10, r11d
movzx ebx, byte [rax + r10]
movzx edi, byte [r9 + r10]
lea ebx, [rbx + rbx*4]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rdx + r10]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r10], bl
movzx ebx, byte [rax + r10 + 1]
movzx edi, byte [r9 + r10 + 1]
lea ebx, [rbx + rbx*4]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rdx + r10 + 1]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r10 + 1], bl
movzx ebx, byte [rax + r10 + 2]
lea edi, [rbx + rbx*4]
movzx ebx, byte [r9 + r10 + 2]
add ebx, edi
movzx edi, byte [rdx + r10 + 2]
lea ebx, [rbx + rdi*2 + 4]
sar ebx, 3
mov byte [rsi + r10 + 2], bl
lea ebx, [r11 + 2]
movsxd rdi, ebx
add ebx, r8d
movzx ebp, byte [rax + rdi + 1]
movsxd rbx, ebx
lea r13d, [rbp + rbp*4]
movzx ebp, byte [r9 + rdi + 1]
add ebp, r13d
movzx r13d, byte [rdx + rdi + 1]
lea ebp, [rbp + r13*2 + 4]
sar ebp, 3
mov byte [rsi + rdi + 1], bpl
movzx edi, byte [rax + rbx]
lea ebp, [rdi + rdi*4]
movzx edi, byte [r9 + rbx]
add edi, ebp
movzx ebp, byte [rdx + rbx]
lea edi, [rdi + rbp*2 + 4]
sar edi, 3
mov byte [rsi + rbx], dil
lea ebx, [r11 + r8 + 3]
movsxd rbx, ebx
movzx edi, byte [rax + rbx]
lea ebp, [rdi + rdi*4]
movzx edi, byte [r9 + rbx]
add edi, ebp
movzx ebp, byte [rdx + rbx]
lea edi, [rdi + rbp*2 + 4]
sar edi, 3
mov byte [rsi + rbx], dil
movzx ebx, byte [rax + r10 + 4]
lea edi, [rbx + rbx*4]
movzx ebx, byte [rcx + r10 + 4]
add ebx, edi
movzx edi, byte [rdx + r10 + 4]
lea ebx, [rbx + rdi*2 + 4]
sar ebx, 3
mov byte [rsi + r10 + 4], bl
lea ebx, [r11 + 4]
movsxd rdi, ebx
add ebx, r8d
movzx ebp, byte [rax + rdi + 1]
movsxd rbx, ebx
lea r13d, [rbp + rbp*4]
movzx ebp, byte [rcx + rdi + 1]
add ebp, r13d
movzx r13d, byte [rdx + rdi + 1]
lea ebp, [rbp + r13*2 + 4]
sar ebp, 3
mov byte [rsi + rdi + 1], bpl
movzx edi, byte [rax + rbx]
lea ebp, [rdi + rdi*4]
movzx edi, byte [rcx + rbx]
add edi, ebp
movzx ebp, byte [rdx + rbx]
lea edi, [rdi + rbp*2 + 4]
sar edi, 3
mov byte [rsi + rbx], dil
lea ebx, [r11 + r8 + 5]
add r11d, r8d
movsxd r11, r11d
movsxd rbx, ebx
movzx edi, byte [rax + rbx]
lea ebp, [rdi + rdi*4]
movzx edi, byte [rcx + rbx]
add edi, ebp
movzx ebp, byte [rdx + rbx]
lea edi, [rdi + rbp*2 + 4]
sar edi, 3
mov byte [rsi + rbx], dil
movzx ebx, byte [rax + r10 + 6]
movzx edi, byte [rcx + r10 + 6]
lea ebx, [rbx + rbx*4]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rdx + r10 + 6]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r10 + 6], bl
movzx ebx, byte [rax + r10 + 7]
movzx edi, byte [rcx + r10 + 7]
lea ebx, [rbx + rbx*4]
lea edi, [rbx + rdi*2]
movzx ebx, byte [rdx + r10 + 7]
lea ebx, [rdi + rbx + 4]
sar ebx, 3
mov byte [rsi + r10 + 7], bl
movzx r8d, byte [r9 + r11]
movzx r10d, byte [rax + r11]
lea r10d, [r8 + r10*2]
movzx r8d, byte [rdx + r11]
lea r8d, [r10 + r8 + 2]
shr r8d, 2
mov byte [rsi + r11], r8b
movzx r8d, byte [rax + r11 + 1]
movzx r9d, byte [r9 + r11 + 1]
lea r8d, [r8 + r8*4]
add r8d, r9d
movzx r9d, byte [rdx + r11 + 1]
lea r8d, [r8 + r9*2 + 4]
sar r8d, 3
mov byte [rsi + r11 + 1], r8b
movzx r8d, byte [rax + r11 + 6]
lea r9d, [r8 + r8*4]
movzx r8d, byte [rcx + r11 + 6]
add r8d, r9d
movzx r9d, byte [rdx + r11 + 6]
lea r8d, [r8 + r9*2 + 4]
sar r8d, 3
mov byte [rsi + r11 + 6], r8b
movzx r8d, byte [rax + r11 + 7]
movzx eax, byte [rcx + r11 + 7]
lea ecx, [rax + r8*2]
movzx eax, byte [rdx + r11 + 7]
lea eax, [rcx + rax + 2]
shr eax, 2
mov byte [rsi + r11 + 7], al
movsx eax, word [rsp + 0x78]
add dword [rsp + 0xb8], eax
movsx eax, word [rsp + 0xd0]
add dword [rsp + 0xa8], 1
add dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0xa8]
cmp eax, 4
jne 0x1400fb5a9
mov eax, dword [rsp + 0xc0]
mov dword [rsp + 0x200], eax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x1f8], eax
mov rax, qword [rsp + 0x68]
mov r9, qword [rsp + 0x70]
mov rcx, r12
mov r8, qword [rsp + 0x98]
mov rdx, qword [rsp + 0xa0]
add rax, 0x20
mov qword [rsp + 0x1f0], rax
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1400fa120
mov eax, dword [r12 + 0x219c]
cmp eax, 3
je 0x1400fd78a
mov edx, dword [r12 + r14*8 + 0x16c4]
lea ecx, [rdx + 1]
cmp eax, ecx
je 0x1400fc34f
cmp dword [r12 + 0xa84], 3
jne 0x1400fcc90
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
je 0x1400fcca0
mov rbx, r14
sar esi, 1
mov dword [rsp + 0x50], 0
shl rbx, 5
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x48], 0x10
mov eax, dword [r12 + rbx + 0x1688]
mov dword [rsp + 0x40], eax
mov eax, dword [rdi + 0x1684]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], edx
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rcx, r12
mov rdx, qword [rsp + 0x80]
call fcn.1400fa3b0
nop
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, rdi
lea rdi, [r12 + r14*8]
and esi, 0xfffffffe
xor r13d, r13d
mov r14, qword [rsp + 0x80]
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x78], rdi
mov rdi, r13
mov r13, rbp
mov rbp, r12
mov r12d, esi
mov rsi, qword [rsp + 0x98]
mov ebx, 0x10
mov rax, qword [rsp + 0x78]
mov edx, dword [rax + rdi*4 + 0x16c4]
lea ecx, [rdx + 1]
cmp dword [rbp + 0x219c], ecx
je 0x1400fcc75
cmp dword [rbp + 0xa84], 3
je 0x1400fcc75
mov eax, dword [rbp + 0x21f4]
test eax, eax
jne 0x1400fcc75
mov rcx, qword [rbp + 0x998]
mov rcx, qword [rcx]
lea r8d, [r12 + rdi]
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 8
mov rax, qword [rsp + 0x68]
mov r9, rsi
add rdi, 1
mov dword [rsp + 0x58], r8d
mov r8d, dword [r13 + 0x1688]
add r13, 8
mov dword [rsp + 0x40], r8d
mov r8d, dword [r13 + 0x167c]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
mov rcx, rbp
mov rdx, r14
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], r8d
mov r8, r15
call fcn.1400fa3b0
mov rdx, qword [rbp + 0x2f0]
mov ecx, dword [rbp + 0x21e0]
shl rdx, 4
add r14, rdx
mov edx, ebx
sar edx, cl
movsxd rdx, edx
imul rdx, qword [rbp + 0x2f8]
add r15, rdx
add rsi, rdx
cmp rdi, 2
jne 0x1400fc41b
jmp case.default.0x1400fb411
lea rbp, [r12 + r14*8]
mov rbx, r13
and esi, 0xfffffffe
xor r13d, r13d
mov r14, qword [rsp + 0x80]
mov r15, qword [rsp + 0xa0]
mov qword [rsp + 0x78], rbp
mov rbp, r12
mov r12d, esi
mov rsi, r13
mov r13, rbx
mov rbx, qword [rsp + 0x98]
mov edi, 0x10
mov rax, qword [rsp + 0x78]
mov edx, dword [rax + rsi*4 + 0x16c4]
lea ecx, [rdx + 1]
cmp dword [rbp + 0x219c], ecx
je 0x1400fc559
cmp dword [rbp + 0xa84], 3
je 0x1400fc559
mov ecx, dword [rbp + 0x21f4]
test ecx, ecx
je 0x1400fccb5
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
mov rcx, rax
je 0x1400fccb5
lea r8d, [r12 + rsi]
mov dword [rsp + 0x50], 1
mov dword [rsp + 0x48], 8
mov rax, qword [rsp + 0x68]
mov r9, rbx
add rsi, 1
mov dword [rsp + 0x58], r8d
mov r8d, dword [r13 + 0x1688]
add r13, 8
mov dword [rsp + 0x40], r8d
mov r8d, dword [r13 + 0x167c]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edx
mov rcx, rbp
mov rdx, r14
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x38], r8d
mov r8, r15
call fcn.1400fa3b0
mov rdx, qword [rbp + 0x2f0]
mov ecx, dword [rbp + 0x21e0]
shl rdx, 4
add r14, rdx
mov edx, edi
sar edx, cl
movsxd rdx, edx
imul rdx, qword [rbp + 0x2f8]
add r15, rdx
add rbx, rdx
cmp rsi, 2
jne 0x1400fc52b
jmp case.default.0x1400fb411
mov eax, dword [r12 + 0x219c]
cmp eax, 3
je 0x1400fcf00
mov edx, dword [r12 + r14*8 + 0x16c4]
lea ecx, [rdx + 1]
cmp eax, ecx
je 0x1400fd360
cmp dword [r12 + 0xa84], 3
je 0x1400fd360
mov r8d, dword [r12 + 0x21f4]
test r8d, r8d
jne 0x1400fd360
mov rax, qword [r12 + 0x998]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
mov rbx, r14
sar esi, 1
mov dword [rsp + 0x50], 0
shl rbx, 5
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x48], 0x10
mov eax, dword [r12 + rbx + 0x1688]
mov dword [rsp + 0x40], eax
mov eax, dword [r13 + 0x1684]
jmp 0x1400fc38d
mov edi, dword [r12 + 0x205c]
test edi, edi
jne 0x1400fcb78
mov ebx, dword [r12 + 0x2064]
test ebx, ebx
je 0x1400fd5ce
mov rbx, r14
mov r10d, dword [r13 + 0x1684]
mov r8d, dword [r12 + 0x1a2c]
shl rbx, 5
mov rdi, qword [r12 + 0x2f0]
mov eax, dword [r12 + rbx + 0x1688]
mov rbx, qword [r12 + 0x2f8]
mov ecx, r10d
and ecx, 3
mov esi, eax
mov dword [rsp + 0x94], ecx
and esi, 3
lea edx, [rsi*4]
mov dword [rsp + 0xb0], esi
or edx, ecx
mov ecx, r8d
mov dword [rsp + 0xa8], edx
mov edx, r10d
shl ecx, 4
sar edx, 2
lea r11d, [rcx + rdx]
mov ecx, dword [r12 + 0x1a30]
mov edx, eax
sar edx, 2
mov r9d, ecx
shl r9d, 4
lea esi, [r9 + rdx]
mov edx, dword [r12 + 0x2b8]
mov dword [rsp + 0x78], esi
mov esi, dword [r12 + 0x2e8]
test dh, 1
mov dword [rsp + 0x88], esi
je 0x1400fd844
lea r9, [0x1403f9700]
mov edx, r10d
sar r10d, 1
and edx, 7
add r10d, dword [r9 + rdx*4]
mov edx, r10d
mov r10d, eax
sar eax, 1
and r10d, 7
add eax, dword [r9 + r10*4]
mov r9d, eax
mov eax, edx
and edx, 1
mov r10d, r9d
sar eax, 1
sar r10d, 1
or edx, eax
mov eax, r9d
and eax, 1
or eax, r10d
mov r10d, edx
sar edx, 1
mov r9d, eax
and r10d, 1
lea r13d, [rdx + r8*8]
and r9d, 1
sar eax, 1
add r9d, r9d
lea ebp, [rax + rcx*8]
mov rcx, qword [rsp + 0x70]
or r9d, r10d
movsxd rax, r11d
mov dword [rsp + 0xd0], r9d
mov r9d, dword [rsp + 0x78]
movsxd rdx, r9d
imul rdx, rdi
add rax, rdx
movsxd rdx, ebp
add rax, qword [rcx]
imul rdx, rbx
mov rsi, rax
movsxd rax, r13d
add rax, rdx
mov rdx, rax
add rax, qword [rcx + 0x10]
add rdx, qword [rcx + 8]
mov r14, rax
mov eax, dword [r12 + 0x2e4]
mov qword [rsp + 0x70], rdx
mov edx, eax
sub edx, dword [rsp + 0x94]
cmp edx, 0xf
jle 0x1400fd62e
sub edx, 0xf
cmp edx, r11d
jbe 0x1400fd62e
mov edx, dword [rsp + 0x88]
sub edx, dword [rsp + 0xb0]
cmp edx, 0xf
jle 0x1400fd62e
sub edx, 0xf
cmp edx, r9d
jbe 0x1400fd62e
movsxd rax, dword [rsp + 0xa8]
mov r8, rdi
mov rdx, rsi
mov rcx, qword [rsp + 0x80]
call qword [r15 + rax*8]
movsxd r9, dword [rsp + 0xd0]
mov rax, qword [rsp + 0x68]
mov r8, rbx
mov rdx, r14
mov rcx, qword [rsp + 0x98]
lea rsi, [rax + r9*8]
mov r9d, 8
call qword [rsi + 0x20]
mov rax, qword [rsi + 0x20]
mov rdx, qword [rsp + 0x70]
mov r9d, 8
mov rcx, qword [rsp + 0xa0]
mov r8, rbx
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp rax
mov eax, dword [r12 + 0x219c]
cmp eax, 3
je 0x1400fd195
mov rcx, qword [rsp + 0x70]
cmp qword [rcx], 0
je 0x1400fd866
mov rbx, r13
mov r14, qword [rsp + 0x80]
mov r15, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
lea rdi, [r12 + 0xbb8]
sar esi, 1
xor ebp, ebp
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], 0
add ebp, 1
mov dword [rsp + 0x48], 0x10
mov edx, dword [rbx + 0x1688]
cmp ebp, eax
setne al
mov r9, qword [rsp + 0x98]
mov r8, r15
movzx eax, al
mov dword [rsp + 0x40], edx
mov edx, dword [rbx + 0x1684]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x20], eax
mov rcx, r12
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x38], edx
mov rdx, r14
call fcn.1400fa3b0
mov eax, dword [r12 + 0x21f4]
test eax, eax
jne 0x1400fc968
mov rax, qword [r12 + 0x998]
mov r13, qword [rax]
add rbx, 0x10
cmp ebp, 2
je case.default.0x1400fb411
mov eax, dword [r12 + 0x219c]
mov rcx, rdi
jmp 0x1400fc8fa
mov r11d, dword [r12 + 0x2064]
mov edx, dword [r12 + 0x1a2c]
mov eax, dword [r12 + 0x1a30]
test r11d, r11d
je 0x1400fccc4
shl edx, 4
shl eax, 4
mov rbx, r13
xor r13d, r13d
mov dword [rsp + 0x88], edx
mov dword [rsp + 0x94], eax
xor r14d, r14d
xor edi, edi
mov dword [rsp + 0x78], r13d
mov qword [rsp + 0xa8], r15
mov eax, dword [rbx + 0x1684]
mov r9d, dword [rbx + 0x1688]
mov esi, edi
and esi, 1
mov ebp, edi
mov edx, dword [r12 + 0x270]
shl esi, 3
sar ebp, 1
mov r11d, eax
sar eax, 2
add eax, dword [rsp + 0x88]
mov ecx, r9d
sar r9d, 2
add r9d, dword [rsp + 0x94]
and ecx, 3
and r11d, 3
shl ebp, 3
lea r15d, [rcx*4]
add eax, esi
or r15d, r11d
add r9d, ebp
cmp eax, 0xfffffff0
jl 0x1400fd300
cmp eax, edx
jle 0x1400fd3a0
movsxd r10, edx
mov eax, edx
and r15d, 0xfffffffc
cmp r9d, 0xfffffff0
mov r8d, dword [r12 + 0x274]
jl 0x1400fd2e5
cmp r9d, r8d
jle 0x1400fd380
movsxd rdx, r8d
mov r9d, r8d
and r15d, 0xfffffff3
mov r8, qword [r12 + 0x2f0]
imul rdx, r8
add rdx, r10
mov r10, qword [rsp + 0x70]
add rdx, qword [r10]
mov r10d, dword [r12 + 0x2e4]
mov r13d, r10d
sub r13d, r11d
cmp r13d, 7
mov r11d, r13d
jg 0x1400fd320
mov r11d, dword [r12 + 0x2e8]
mov rcx, qword [r12 + 0xa40]
mov dword [rsp + 0x38], r9d
mov r9, r8
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 9
call qword [r12 + 0x14f8]
mov rdx, qword [r12 + 0xa40]
mov r8, qword [r12 + 0x2f0]
movsxd rcx, ebp
mov rax, qword [rsp + 0xa8]
movsxd rsi, esi
imul rcx, r8
movsxd r15, r15d
add edi, 1
add rbx, 8
add rcx, rsi
add rcx, qword [rsp + 0x80]
call qword [rax + r15*8 + pe_nt_image_headers64]
mov eax, dword [rbx + 0x167c]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add dword [rsp + 0x78], eax
mov eax, dword [rbx + 0x1680]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
add r14d, eax
cmp edi, 4
jne 0x1400fc9d2
mov r13d, dword [rsp + 0x78]
mov dword [rsp + 0x200], r14d
mov dword [rsp + 0x1f8], r13d
jmp 0x1400fc2d8
test eax, eax
jne case.default.0x1400fb411
mov eax, dword [r12 + 0x205c]
test eax, eax
je 0x1400fceb0
cmp dword [r12 + 0x2038], 1
mov rax, qword [rsp + 0x70]
mov rcx, r12
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0x1f0], rax
je 0x1400fd3b0
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1400f9e30
mov rcx, qword [r12 + 0xa40]
mov dword [rsp + 0x38], r9d
mov r9, r8
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 9
call qword [r12 + 0x14f8]
mov rdx, qword [r12 + 0xa40]
mov r8, qword [r12 + 0x2f0]
jmp 0x1400fb817
mov rdx, 0xfffffffffffffff0
mov r9d, edx
cmp r15d, r9d
je 0x1400fb7c1
mov r15d, r11d
and r15d, 1
add r15d, r15d
or edi, r15d
jmp 0x1400fb7c1
mov r10, 0xfffffffffffffff0
mov eax, r10d
and edi, 1
cmp edx, eax
mov ecx, edi
jne 0x1400fb7a0
xor edi, edi
jmp 0x1400fb7a0
movsxd rdx, r9d
jmp 0x1400fcc2a
movsxd r10, eax
jmp 0x1400fcc4f
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
mov rcx, rax
jne 0x1400fc45b
jmp 0x1400fc451
mov eax, dword [r12 + 0x21f4]
test eax, eax
jne 0x1400fc34f
mov rax, qword [r12 + 0x998]
mov rax, qword [rax]
mov qword [rsp + 0x70], rax
jmp 0x1400fc35e
mov rcx, qword [rbp + 0x998]
mov rcx, qword [rcx]
jmp 0x1400fc56b
lea esi, [rdx + rdx]
add eax, eax
mov rbx, r13
mov dword [rsp + 0x94], eax
xor r14d, r14d
xor r13d, r13d
mov dword [rsp + 0x88], esi
xor ebp, ebp
mov ecx, ebp
mov r8, qword [r12 + 0x2f0]
mov rax, qword [rsp + 0x70]
sar ecx, 1
mov r9d, ebp
mov esi, dword [rbx + 0x1684]
lea r10d, [rcx*8]
and r9d, 1
mov r11d, dword [rbx + 0x1688]
mov rdx, qword [rax]
lea eax, [r9*8]
add r9d, dword [rsp + 0x88]
movsxd r10, r10d
add ecx, dword [rsp + 0x94]
mov edi, dword [r12 + 0x270]
imul r10, r8
cdqe
add rax, r10
add rax, qword [rsp + 0x80]
mov qword [rsp + 0x78], rax
mov eax, esi
sar eax, 1
lea r9d, [rax + r9*8]
mov eax, r11d
sar eax, 1
cmp r9d, 0xfffffff0
lea r10d, [rax + rcx*8]
jl 0x1400fd2a0
cmp r9d, edi
jle 0x1400fd390
and esi, 1
movsxd rax, edi
mov r9d, edi
mov ecx, esi
xor esi, esi
cmp r10d, 0xfffffff0
mov r15d, dword [r12 + 0x274]
jl 0x1400fd2c0
cmp r10d, r15d
jle 0x1400fd374
movsxd rdi, r15d
mov r10d, r15d
imul rdi, r8
add rdi, rax
mov eax, dword [r12 + 0x2e4]
add rdx, rdi
mov edi, eax
sub edi, ecx
mov ecx, edi
mov edi, dword [r12 + 0x2e8]
cmp ecx, 7
jle 0x1400fd250
sub ecx, 7
cmp ecx, r9d
jbe 0x1400fd250
and r11d, 1
mov ecx, edi
sub ecx, r11d
cmp ecx, 7
jle 0x1400fd250
sub ecx, 7
cmp ecx, r10d
jbe 0x1400fd250
mov rax, qword [rsp + 0x68]
movsxd rsi, esi
add ebp, 1
mov r9d, 8
mov rcx, qword [rsp + 0x78]
add rbx, 8
call qword [rax + rsi*8 + 0x20]
add r13d, dword [rbx + 0x167c]
add r14d, dword [rbx + 0x1680]
cmp ebp, 4
jne 0x1400fcce2
jmp 0x1400fcb4a
mov eax, dword [rdx + rbp + 8]
mov dword [rsp + 0x15c], eax
lea eax, [rbx + rcx + 2]
cdqe
mov eax, dword [rdx + rax*4]
mov dword [rsp + 0x16c], eax
jmp 0x1400fb558
mov r9d, ecx
sub r9d, ebx
movsxd r9, r9d
mov r10d, dword [rdx + r9*4]
mov r9d, dword [rdx + r9*4 + 4]
mov dword [rsp + 0x144], r10d
mov dword [rsp + 0x148], r9d
jmp 0x1400fb4ee
mov r9d, dword [rdx + rbp - 4]
mov dword [rsp + 0x150], r9d
lea r9d, [rbx + rcx - 1]
movsxd r9, r9d
mov r9d, dword [rdx + r9*4]
mov dword [rsp + 0x160], r9d
jmp 0x1400fb518
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x48], 0x10
mov eax, dword [rdi + 0x1688]
mov dword [rsp + 0x40], eax
mov eax, dword [rdi + 0x1684]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
jmp 0x1400fc3a9
mov r10d, dword [r12 + 0x2064]
test r10d, r10d
je 0x1400fd897
lea rax, [r12 + r14*8]
xor edi, edi
mov r10, r13
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
mov ebx, dword [r10 + 0x1688]
mov r8, qword [r12 + 0x2f0]
mov r13d, dword [r10 + 0x1684]
mov edx, dword [r12 + 0x1a2c]
mov r15d, dword [r12 + 0x1a30]
mov eax, dword [rax + rdi*4 + 0x16c4]
mov r9d, ebx
mov r14d, ebx
lea rsi, [r8 + r8]
and r9d, 3
mov ecx, r13d
and ecx, 3
sar ebx, 1
sar r14d, 2
mov qword [rsp + 0x78], rsi
mov dword [rsp + 0x88], eax
mov esi, r13d
lea eax, [r9*4]
shr esi, 0x1f
and ebx, 1
add esi, r13d
or ebx, r14d
shl edx, 4
or eax, ecx
mov rbp, qword [r12 + 0x2f8]
mov r11d, dword [r12 + 0x2e8]
mov dword [rsp + 0x94], eax
mov eax, r13d
mov r13d, esi
sar r13d, 1
sar esi, 2
sar eax, 2
and r13d, 1
add eax, edx
lea edx, [r14 + r15*8]
or esi, r13d
mov r13d, ebx
sar ebx, 1
and r13d, 1
mov r14d, esi
sar esi, 1
and r14d, 1
add r13d, r13d
add rbp, rbp
or r13d, r14d
mov r14d, dword [r12 + 0x1a2c]
mov qword [rsp + 0xa8], rbp
mov dword [rsp + 0xd0], r13d
lea r13d, [rbx + r15*4]
movsxd rbx, eax
mov r15, qword [rsp + 0x70]
lea r14d, [rsi + r14*8]
movsxd rsi, edx
imul rsi, qword [rsp + 0x78]
mov dword [rsp + 0xb0], r14d
movsxd r14, r14d
add rbx, rsi
movsxd rsi, r13d
add rbx, qword [r15]
imul rsi, rbp
add rsi, r14
mov r14, rsi
add rsi, qword [r15 + 0x10]
add r14, qword [r15 + 8]
mov r15d, dword [r12 + 0x2e4]
mov ebp, r15d
sub ebp, ecx
cmp ebp, 0xf
mov ecx, ebp
jle 0x1400fd490
sub ecx, 0xf
cmp ecx, eax
jbe 0x1400fd490
mov ecx, r11d
sar ecx, 1
sub ecx, r9d
cmp ecx, 7
jle 0x1400fd490
sub ecx, 7
cmp ecx, edx
jbe 0x1400fd490
test rdi, rdi
je 0x1400fd601
mov r15, qword [r12 + 0x2f8]
mov rax, qword [rsp + 0xa0]
mov r13, qword [rsp + 0x80]
add r13, qword [r12 + 0x2f0]
add rax, r15
add r15, qword [rsp + 0x98]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r15
mov r9d, dword [rsp + 0x88]
test r9d, r9d
je 0x1400fd0ec
mov rdx, qword [r12 + 0x2f8]
add rbx, qword [r12 + 0x2f0]
add r14, rdx
add rsi, rdx
movsxd rdx, dword [rsp + 0x94]
mov rax, qword [rsp + 0xc8]
mov rcx, r13
mov rbp, qword [rsp + 0x78]
mov qword [rsp + 0x88], r10
add rdi, 1
lea r15, [rax + rdx*8]
mov r8, rbp
mov rdx, rbx
call qword [r15 + pe_nt_image_headers64]
lea rdx, [rbx + 8]
lea rcx, [r13 + 8]
mov r8, rbp
call qword [r15 + pe_nt_image_headers64]
movsxd rax, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x68]
mov r9d, 4
mov r15, qword [rsp + 0xa8]
mov rdx, rsi
lea rbx, [rcx + rax*8]
mov r8, r15
mov rcx, qword [rsp + 0xb8]
call qword [rbx + 0x20]
mov r9d, 4
mov r8, r15
mov rdx, r14
mov rcx, qword [rsp + 0xb0]
call qword [rbx + 0x20]
mov r10, qword [rsp + 0x88]
add r10, 8
cmp rdi, 2
jne 0x1400fcf2a
jmp case.default.0x1400fb411
lea rbp, [r12 + 0xbb8]
lea rbx, [r14*4]
xor r13d, r13d
mov r14, qword [rsp + 0x68]
lea edi, [r13 + r13]
xor r15d, r15d
mov qword [rsp + 0x78], rbp
mov rbp, qword [rsp + 0x70]
mov rax, rbx
mov rbx, r12
mov r12, rax
lea eax, [rdi + r15]
mov dword [rsp + 0x50], esi
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rcx, rbx
cdqe
add rax, r12
mov edx, dword [rbx + rax*8 + 0x1688]
mov dword [rsp + 0x48], edx
mov eax, dword [rbx + rax*8 + 0x1684]
mov rdx, qword [rsp + 0x80]
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x40], eax
mov eax, r13d
xor eax, r15d
add r15, 1
mov dword [rsp + 0x28], eax
call fcn.1400faa10
cmp r15, 2
jne 0x1400fd1c8
add r13d, 1
cmp r13d, 2
je case.default.0x1400fb411
mov r14, qword [rsp + 0x78]
lea edi, [r13 + r13]
xor r15d, r15d
jmp 0x1400fd1c8
mov rcx, qword [r12 + 0xa40]
mov dword [rsp + 0x30], r9d
mov r9, r8
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 9
call qword [r12 + 0x14f8]
mov rdx, qword [r12 + 0xa40]
mov r8, qword [r12 + 0x2f0]
jmp 0x1400fcdef
mov rax, 0xfffffffffffffff0
mov r9d, eax
and esi, 1
cmp edi, r9d
mov ecx, esi
jne 0x1400fcd7b
xor esi, esi
jmp 0x1400fcd7b
mov rdi, 0xfffffffffffffff0
mov r10d, edi
cmp r15d, r10d
je 0x1400fcd9c
mov r15d, r11d
and r15d, 1
add r15d, r15d
or esi, r15d
jmp 0x1400fcd9c
mov rdx, 0xfffffffffffffff0
mov r9d, edx
cmp r8d, r9d
jne 0x1400fca68
jmp 0x1400fca64
mov r10, 0xfffffffffffffff0
mov eax, r10d
cmp edx, eax
jne 0x1400fca43
jmp 0x1400fca3f
sub r11d, 7
cmp r11d, eax
jbe 0x1400fca9a
mov r11d, dword [r12 + 0x2e8]
mov r13d, r11d
sub r13d, ecx
cmp r13d, 7
mov ecx, r13d
jle 0x1400fcaa2
sub ecx, 7
cmp ecx, r9d
ja 0x1400fcae8
jmp 0x1400fcaa2
mov rax, qword [rsp + 0x70]
cmp qword [rax], 0
jne 0x1400fc654
jmp 0x1400fc644
movsxd rdi, r10d
jmp 0x1400fd2ca
movsxd rdx, r9d
jmp 0x1400fd2ef
movsxd rax, r9d
jmp 0x1400fd2aa
movsxd r10, eax
jmp 0x1400fd30a
add rsp, 0x188
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp 0x1400f9920
lea rbp, [r12 + 0xbb8]
lea rbx, [r14*4]
xor r13d, r13d
mov r14, qword [rsp + 0x68]
lea edi, [r13 + r13]
xor r15d, r15d
mov qword [rsp + 0x78], rbp
mov rbp, qword [rsp + 0x70]
mov rax, rbx
mov rbx, r12
mov r12, rax
lea eax, [rdi + r15]
mov dword [rsp + 0x50], esi
mov r9, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rcx, rbx
cdqe
add rax, r12
mov edx, dword [rbx + rax*8 + 0x1688]
mov dword [rsp + 0x48], edx
mov eax, dword [rbx + rax*8 + 0x1684]
mov rdx, qword [rsp + 0x80]
mov dword [rsp + 0x20], r15d
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x40], eax
mov eax, r13d
xor eax, r15d
add r15, 1
mov dword [rsp + 0x28], eax
call fcn.1400faa10
cmp r15, 2
jne 0x1400fd403
add r13d, 1
cmp r13d, 2
je case.default.0x1400fb411
mov r14, qword [rsp + 0x78]
lea edi, [r13 + r13]
xor r15d, r15d
jmp 0x1400fd403
add edx, edx
mov rcx, qword [r12 + 0xa40]
mov qword [rsp + 0xb8], r10
mov dword [rsp + 0x48], r11d
mov r9, r8
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov dword [rsp + 0x28], 0x12
mov dword [rsp + 0x20], 0x11
call qword [r12 + 0x14f8]
mov rax, qword [r12 + 0x2f0]
mov r8, qword [r12 + 0x2f8]
mov rbx, qword [r12 + 0xa40]
mov ebp, dword [rsp + 0xb0]
lea rax, [rax + rax*8]
lea rdx, [r8 + r8*4]
mov r9, r8
lea rax, [rbx + rax*2]
lea r15, [rax + rdx*2]
mov rcx, rax
mov qword [rsp + 0xb0], rax
mov rdx, r15
sub rdx, r8
test byte [r12 + 0x2b9], 0x80
cmovne r15, rdx
mov edx, dword [r12 + 0x2e8]
add r13d, r13d
sar edx, 1
mov dword [rsp + 0x48], edx
mov edx, dword [r12 + 0x2e4]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x20], 9
sar edx, 1
mov dword [rsp + 0x40], edx
mov rdx, r14
call qword [r12 + 0x14f8]
mov edx, dword [r12 + 0x2e8]
mov r8, qword [r12 + 0x2f8]
mov rcx, r15
sar edx, 1
mov r9, r8
mov dword [rsp + 0x48], edx
mov edx, dword [r12 + 0x2e4]
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x20], 9
sar edx, 1
mov dword [rsp + 0x40], edx
mov rdx, rsi
mov rsi, r15
call qword [r12 + 0x14f8]
mov rax, qword [rsp + 0xb0]
mov r10, qword [rsp + 0xb8]
mov r14, rax
jmp 0x1400fd085
mov rbx, r14
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], 0
shl rbx, 5
mov dword [rsp + 0x48], 0x10
mov eax, dword [r12 + rbx + 0x1688]
mov dword [rsp + 0x40], eax
mov eax, dword [r13 + 0x1684]
jmp 0x1400fced4
mov rax, qword [rsp + 0x98]
mov r13, qword [rsp + 0x80]
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xb0], rax
jmp 0x1400fd0c9
mov rcx, qword [r12 + 0xa40]
mov edx, dword [rsp + 0x88]
mov r9, rdi
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x78]
mov r8, rdi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x48], edx
mov dword [rsp + 0x20], 0x11
mov rdx, rsi
mov dword [rsp + 0x38], eax
call qword [r12 + 0x14f8]
mov rax, qword [r12 + 0x2f0]
mov r8, qword [r12 + 0x2f8]
mov rsi, qword [r12 + 0xa40]
lea rax, [rax + rax*8]
lea rdx, [r8 + r8*4]
mov r9, r8
lea rax, [rsi + rax*2]
lea r10, [rax + rdx*2]
mov rcx, rax
mov qword [rsp + 0x78], rax
mov rdx, r10
sub rdx, r8
test byte [r12 + 0x2b9], 0x80
cmovne r10, rdx
mov edx, dword [r12 + 0x2e8]
mov qword [rsp + 0x88], r10
sar edx, 1
mov dword [rsp + 0x48], edx
mov edx, dword [r12 + 0x2e4]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x20], 9
sar edx, 1
mov dword [rsp + 0x40], edx
mov rdx, qword [rsp + 0x70]
call qword [r12 + 0x14f8]
mov edx, dword [r12 + 0x2e8]
mov r8, qword [r12 + 0x2f8]
mov r10, qword [rsp + 0x88]
sar edx, 1
mov r9, r8
mov dword [rsp + 0x48], edx
mov edx, dword [r12 + 0x2e4]
mov rcx, r10
mov qword [rsp + 0x70], r10
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], 9
sar edx, 1
mov dword [rsp + 0x20], 9
mov dword [rsp + 0x40], edx
mov rdx, r14
call qword [r12 + 0x14f8]
mov r10, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov r14, r10
mov qword [rsp + 0x70], rax
jmp 0x1400fc83f
mov rdx, qword [r12 + 0x998]
mov rcx, qword [rdx]
mov qword [rsp + 0x70], rcx
jmp 0x1400fb26e
mov dword [rsp + 0x50], esi
mov eax, dword [rdi + 0x1688]
mov rcx, r12
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov r13, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x80]
mov dword [rsp + 0x48], eax
mov eax, dword [rdi + 0x1684]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r15
mov r9, qword [rsp + 0x98]
mov r8, r13
mov rdx, rbp
mov dword [rsp + 0x40], eax
mov eax, dword [r12 + r14*8 + 0x16c4]
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x28], eax
call fcn.1400faa10
mov dword [rsp + 0x50], esi
mov eax, dword [rdi + 0x1690]
mov dword [rsp + 0x48], eax
mov eax, dword [rdi + 0x168c]
mov dword [rsp + 0x40], eax
mov rax, rbx
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov r8, r13
mov eax, dword [r12 + r14*8 + 0x16c8]
mov r9, qword [rsp + 0x98]
mov rdx, rbp
mov dword [rsp + 0x20], 1
mov rcx, r12
mov dword [rsp + 0x28], eax
call fcn.1400faa10
jmp case.default.0x1400fb411
and edx, 0x40
mov edx, r10d
je 0x1400fd87b
mov r9d, eax
sar edx, 1
and r10d, 1
sar r9d, 1
and eax, 1
or edx, r10d
or r9d, eax
jmp 0x1400fc77a
mov rdx, qword [r12 + 0x998]
mov rcx, qword [rdx]
mov qword [rsp + 0x70], rcx
jmp 0x1400fc8d1
mov r9d, eax
shr edx, 0x1f
shr r9d, 0x1f
add edx, r10d
add eax, r9d
sar edx, 1
sar eax, 1
mov r9d, eax
jmp 0x1400fc77a
mov rbx, r14
mov dword [rsp + 0x50], esi
mov rdi, qword [rsp + 0x68]
shl rbx, 5
mov r15, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x80]
add rbx, r12
mov r9, qword [rsp + 0x98]
mov rcx, r12
mov eax, dword [rbx + 0x1688]
mov rdx, rbp
mov dword [rsp + 0x48], eax
mov eax, dword [r13 + 0x1684]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r15
mov r13, qword [rsp + 0xa0]
mov dword [rsp + 0x40], eax
mov eax, dword [r12 + r14*8 + 0x16c4]
mov dword [rsp + 0x20], 0
mov r8, r13
mov dword [rsp + 0x28], eax
call fcn.1400faa10
mov dword [rsp + 0x50], esi
mov eax, dword [rbx + 0x1690]
mov dword [rsp + 0x48], eax
mov eax, dword [rbx + 0x168c]
mov dword [rsp + 0x40], eax
mov rax, rdi
jmp 0x1400fd80b