Function at 0x140096460
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov ebp, dword [rsp + 0xf8]
mov r14, rdx
mov eax, dword [rcx + 0xb84]
mov edx, 0xb
imul r10, rbp, 0x2c
mov dword [rsp + 0x48], eax
mov r12, r8
mov eax, dword [rcx + 0xb88]
lea r15d, [rdx - 3]
add r10, rcx
mov dword [rsp + 0x3c], eax
mov rbx, rcx
lea r11d, [rdx - 1]
mov esi, ebp
movzx edi, byte [r10 + 0x10ee8]
mov r8d, dword [r10 + 0x10ef8]
test dil, dil
je 0x140096547
dec r8d
cmp byte [r10 + 0x10ee9], 0
je 0x14009651b
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x14009650a
cmp eax, 7
mov r13d, edx
cmovl r13d, r15d
jmp 0x14009652a
cmp eax, 7
mov r13d, r11d
mov eax, 7
cmovl r13d, eax
jmp 0x14009652a
mov eax, r8d
imul rcx, rax, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
cmp r13d, 3
jg 0x140096535
xor r13d, r13d
jmp 0x140096553
cmp r13d, 9
jg 0x140096541
sub r13d, 3
jmp 0x140096553
sub r13d, 6
jmp 0x140096553
imul rcx, r8, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
lea eax, [rbp - 1]
mov ecx, 1
lea ebp, [rcx + 3]
cmp r8d, eax
jne 0x1400965ba
cmp dword [r10 + 0x10efc], 0
jne 0x140096585
cmp r13d, 7
mov eax, 9
cmovl edx, eax
mov r13d, edx
mov dword [rsp + 0x30], edx
jmp 0x1400966ca
cmp r13d, 3
jg 0x140096598
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x1400966ca
cmp r13d, 9
jg 0x1400965ac
sub r13d, 3
mov dword [rsp + 0x30], r13d
jmp 0x1400966ca
sub r13d, 6
mov dword [rsp + 0x30], r13d
jmp 0x1400966ca
test dil, dil
je 0x1400965f1
cmp byte [r10 + 0x10ee9], 0
je 0x1400965f1
mov r9d, dword [r10 + 0x10ef0]
cmp r13d, 7
mov r8d, dword [r10 + 0x10eec]
cmovl edx, r15d
mov dword [rsp + 0x30], edx
mov r13d, edx
cmp r9d, ebp
jae 0x14009669b
jmp 0x140096610
mov r9d, dword [r10 + 0x10efc]
cmp r9d, ebp
jae 0x140096686
cmp r13d, 7
cmovl edx, r15d
mov r13d, edx
mov dword [rsp + 0x30], edx
mov edi, r8d
mov r8d, ecx
imul r11, rdi, 0xb
mov eax, r9d
add rax, r11
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [r14], eax
cmp r9d, ecx
jb 0x140096652
nop
lea ecx, [r8 - 1]
mov edx, r8d
add rcx, r11
inc r8d
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r14 + rdx*4], eax
cmp r8d, r9d
jbe 0x140096630
cmp r8d, ebp
jae 0x1400966ca
imul r9, rdi, 0x2c
mov eax, r8d
mov edx, ebp
sub r9, r14
add r9, rbx
sub edx, r8d
lea rcx, [r14 + rax*4]
nop dword [rax + rax]
mov eax, dword [r9 + rcx + 0x10f00]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x140096670
jmp 0x1400966ca
cmp r13d, 7
mov eax, 7
cmovl r11d, eax
mov r13d, r11d
mov dword [rsp + 0x30], r11d
lea eax, [r9 - 4]
mov dword [r14], eax
mov eax, r8d
imul rcx, rax, 0xb
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r14 + 4], eax
mov eax, dword [rbx + rcx*4 + 0x10f04]
mov dword [r14 + 8], eax
mov eax, dword [rbx + rcx*4 + 0x10f08]
mov dword [r14 + 0xc], eax
mov dword [r10 + 0x10ee4], r13d
mov eax, dword [r14]
imul rcx, rsi, 0xb
mov dword [rbx + rcx*4 + 0x10f00], eax
mov eax, dword [r14 + 4]
mov dword [rbx + rcx*4 + 0x10f04], eax
mov eax, dword [r14 + 8]
mov dword [rbx + rcx*4 + 0x10f08], eax
mov eax, dword [r14 + 0xc]
mov dword [rbx + rcx*4 + 0x10f0c], eax
mov rcx, r12
mov eax, dword [r14]
mov r15d, dword [r10 + 0x10ef4]
sub rcx, rax
mov r10d, dword [rsp + 0xf0]
mov edx, dword [rbx + 0xb90]
movzx ebp, byte [r12]
and rdx, r10
movzx r14d, byte [rcx - 1]
movzx r8d, byte [r12 - 1]
movsxd rcx, r13d
mov rdi, rcx
mov qword [rsp + 0x60], rcx
shl rdi, 4
mov rcx, rbx
add rdi, rdx
mov qword [rsp + 0x70], rdx
cmp r13d, 7
mov dword [rsp + 0x28], ebp
mov edx, r10d
mov qword [rsp + 0x58], rdi
setge r9b
mov dword [rsp + 0x20], r14d
call fcn.140095a60
movzx ecx, word [rbx + rdi*2 + 0x6b9c]
lea rdx, [0x1400b2870]
mov r9d, dword [rsp + 0xf8]
add eax, r15d
shr rcx, 4
xor r11b, r11b
lea r13d, [r9 + 1]
movzx r12d, byte [rcx + rdx]
add r12d, eax
mov eax, r13d
imul rdi, rax, 0x2c
add rdi, rbx
mov esi, dword [rdi + 0x10ef4]
cmp r12d, esi
jae 0x1400967d0
mov dword [rdi + 0x10ef4], r12d
mov esi, r12d
mov dword [rdi + 0x10ef8], r9d
mov byte [rdi + 0x10ee8], r11b
mov r11b, 1
mov dword [rdi + 0x10efc], 0xffffffff
mov rax, qword [rsp + 0x58]
lea rcx, [0x1400b2870]
movzx eax, word [rbx + rax*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rcx]
mov rcx, qword [rsp + 0x60]
add eax, r15d
mov dword [rsp + 0x38], eax
lea r15, [0x1400b2870]
lea rax, [rcx + 0x368e]
lea rax, [rbx + rax*2]
mov qword [rsp + 0x68], rax
movzx eax, word [rax]
xor rax, 0x7f0
shr rax, 4
movzx r15d, byte [rax + r15]
add r15d, dword [rsp + 0x38]
mov dword [rsp + 0x4c], r15d
cmp r14b, bpl
jne 0x1400968aa
cmp dword [rdi + 0x10ef8], r9d
jae 0x140096848
cmp dword [rdi + 0x10efc], 0
je 0x1400968aa
movzx eax, word [rbx + rcx*2 + 0x6d34]
lea r9, [0x1400b2870]
shr rax, 4
movzx ecx, byte [rax + r9]
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
shr rax, 4
movzx r9d, byte [rax + r9]
lea eax, [r15 + rcx]
add r9d, eax
cmp r9d, esi
ja 0x1400968aa
mov eax, dword [rsp + 0xf8]
mov r11b, 1
mov dword [rdi + 0x10ef8], eax
mov dword [rdi + 0x10ef4], r9d
mov dword [rdi + 0x10efc], 0
mov byte [rdi + 0x10ee8], 0
mov ecx, dword [rsp + 0x108]
cmp ecx, 2
jb 0x140097434
mov edx, dword [rsp + 0x100]
mov r15d, edx
mov r10, qword [rsp + 0xd8]
cmp ecx, edx
cmovb r15d, ecx
mov dword [rsp + 0x40], r15d
test r11b, r11b
jne 0x140096a8b
cmp r14b, bpl
mov r14, qword [rsp + 0xe0]
je 0x140096a93
mov eax, dword [r10]
mov r9, r14
sub r9, rax
inc edx
cmp ecx, edx
jae 0x140096909
mov edx, ecx
mov ecx, 1
jmp 0x140096912
mov ecx, 1
cmp edx, ecx
jbe 0x140096936
mov eax, ecx
mov r8, qword [rax + r14]
sub r8, qword [r9 + rax - 1]
jne 0x140096928
add ecx, 8
cmp ecx, edx
jb 0x140096912
jmp 0x140096936
bsf rax, r8
shr eax, 3
add ecx, eax
cmp ecx, edx
cmovb edx, ecx
lea edi, [rdx - 1]
cmp edi, 2
jb 0x140096a93
mov ebp, dword [rsp + 0x30]
cmp ebp, 3
jg 0x14009694f
xor eax, eax
jmp 0x14009695a
lea eax, [rbp - 3]
cmp ebp, 9
jle 0x14009695a
lea eax, [rbp - 6]
mov r9d, dword [rsp + 0xf0]
lea r8, [0x1400b2870]
mov ebp, dword [rsp + 0xf8]
inc r9d
movsxd r10, eax
mov eax, dword [rbx + 0xb90]
mov rsi, r10
and r9, rax
shl rsi, 4
add rsi, r9
movzx eax, word [rbx + r10*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r8]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r8]
lea eax, [r12 + rcx]
mov r12d, dword [rsp + 0xe8]
lea r8d, [rdx + rbp]
add r11d, eax
cmp r12d, r8d
jae 0x140096a01
imul rdx, r12, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r12d
nop dword [rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x1400969f0
imul rax, r9, 0x110
lea r12, [0x1400b2870]
lea ecx, [rdi - 2]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r12]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
mov r10, qword [rsp + 0xd8]
shr rax, 4
movzx edx, byte [rax + r12]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x140096aa1
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], r13d
mov dword [rcx + rbx + 0x10efc], 0
mov word [rcx + rbx + 0x10ee8], 1
jmp 0x140096aa1
mov r14, qword [rsp + 0xe0]
mov ebp, dword [rsp + 0xf8]
lea r12, [0x1400b2870]
mov ecx, 2
xor r13d, r13d
mov edi, ecx
nop dword [rax + rax]
mov eax, dword [r10]
mov r10, r14
sub r10, rax
movzx eax, word [r10 - 1]
dec r10
mov qword [rsp + 0x78], r10
cmp word [r14], ax
jne 0x140096f64
mov eax, ecx
cmp r15d, 2
jbe 0x140096af8
nop dword [rax + rax]
mov ecx, eax
mov rdx, qword [rcx + r14]
sub rdx, qword [r10 + rcx]
jne 0x140096b83
add eax, 8
cmp eax, r15d
jb 0x140096ae0
mov edx, r15d
mov r11d, dword [rsp + 0xe8]
lea r9d, [rdx + rbp]
mov dword [rsp + 0x34], r9d
cmp r11d, r9d
jae 0x140096b42
imul r8, r11, 0x2c
mov ecx, r9d
mov dword [rsp + 0xe8], r9d
add r8, 0x10ef4
add r8, rbx
sub ecx, r11d
nop dword [rax]
mov dword [r8 + 0x2c], 0x40000000
lea r8, [r8 + 0x2c]
sub rcx, 1
jne 0x140096b30
mov esi, edx
test r13d, r13d
jne 0x140096b9a
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r12]
mov rax, qword [rsp + 0x60]
movzx eax, word [rbx + rax*2 + 0x6d34]
shr rax, 4
movzx eax, byte [rax + r12]
add r8d, eax
jmp 0x140096c16
bsf rcx, rdx
mov edx, r15d
shr ecx, 3
add eax, ecx
cmp eax, r15d
cmovb edx, eax
jmp 0x140096afb
mov r9, qword [rsp + 0x60]
movzx eax, word [rbx + r9*2 + 0x6d34]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r12]
cmp r13d, 1
jne 0x140096bd4
movzx eax, word [rbx + r9*2 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + r12]
add r8d, eax
jmp 0x140096c16
movzx ecx, word [rbx + r9*2 + 0x6d64]
mov eax, 2
sub eax, r13d
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
movzx eax, word [rbx + r9*2 + 0x6d4c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rcx + r12]
movzx eax, byte [rax + r12]
add r8d, eax
add r8d, ecx
mov r10d, dword [rsp + 0x4c]
add r10d, r8d
imul r11, qword [rsp + 0x70], 0x110
mov dword [rsp + 0x50], r10d
nop dword [rax]
lea ecx, [rdx - 2]
add rcx, r11
mov r8d, dword [rbx + rcx*4 + 0xbe4c]
lea ecx, [rdx + rbp]
imul rax, rcx, 0x2c
add r8d, r10d
cmp r8d, dword [rax + rbx + 0x10ef4]
jae 0x140096c71
mov dword [rax + rbx + 0x10ef4], r8d
mov dword [rax + rbx + 0x10ef8], ebp
mov dword [rax + rbx + 0x10efc], r13d
mov byte [rax + rbx + 0x10ee8], 0
dec edx
cmp edx, 2
jae 0x140096c30
mov edx, dword [rsp + 0x100]
lea r9d, [rsi + 1]
mov r10, qword [rsp + 0x78]
test r13d, r13d
cmove edi, r9d
add edx, r9d
cmp dword [rsp + 0x108], edx
mov dword [rsp + 0x44], edi
cmovb edx, dword [rsp + 0x108]
cmp r9d, edx
jae 0x140096cca
mov ecx, r9d
mov r8, r10
add rcx, r14
sub r8, r14
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x140096cca
inc r9d
inc rcx
cmp r9d, edx
jb 0x140096cb6
mov eax, 0xffffffff
mov r12d, r9d
sub eax, esi
add r9d, eax
cmp r9d, 2
jb 0x140096f58
mov edi, dword [rsp + 0xf0]
lea eax, [rsi - 1]
add edi, esi
lea ecx, [rsi - 2]
add rcx, r11
mov r8, rsi
movzx r11d, byte [rsi + r10]
mov r14d, edi
mov r10, qword [rsp + 0xe0]
xor esi, esi
and r14d, dword [rbx + 0xb90]
mov r15d, dword [rbx + rcx*4 + 0xbe4c]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
movzx edx, byte [rax + r10]
mov eax, dword [rbx + 0xb98]
movzx r10d, byte [r8 + r10]
and eax, edi
shr edx, cl
mov edi, 0x100
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
lea rbx, [0x1400b2870]
add r10d, edi
nop word [rax + rax]
mov ecx, r10d
add r11d, r11d
shr ecx, 8
mov eax, edi
and eax, r11d
add eax, edi
add ecx, eax
movzx edx, word [rbp + rcx*2 + 0xb9c]
mov ecx, r10d
shr ecx, 7
add r10d, r10d
and ecx, 1
shr rdx, 4
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + rbx]
add esi, eax
mov eax, r11d
xor eax, r10d
not eax
and edi, eax
cmp r10d, 0x10000
jb 0x140096d60
cmp dword [rsp + 0x30], 7
lea rdi, [0x1400b2870]
mov rbx, qword [rsp + 0xd0]
mov eax, 0x364e
mov ecx, 0x367e
cmovl ecx, eax
mov eax, r14d
add rcx, rax
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + rdi]
add edx, esi
add edx, r15d
add edx, dword [rsp + 0x50]
cmp dword [rsp + 0x30], 7
jge 0x140096dfc
mov eax, 8
lea ecx, [rax - 3]
jmp 0x140096e06
mov eax, 5
mov ecx, 2
mov r10d, dword [rsp + 0xf0]
cmovl eax, ecx
mov ebp, dword [rsp + 0xf8]
lea ecx, [r8 + 1]
mov r14d, dword [rsp + 0xe8]
add r10d, ecx
mov r11d, eax
mov eax, dword [rbx + 0xb90]
mov esi, r11d
and r10, rax
shl rsi, 4
add rsi, r10
lea r8d, [r12 + rbp]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + rdi]
movzx eax, word [rbx + r11*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + rdi]
lea eax, [rdx + rcx]
add edi, eax
cmp r14d, r8d
jae 0x140096eb1
imul rdx, r14, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r14d
nop dword [rax]
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140096ea0
mov r15d, dword [rsp + 0x40]
lea r12, [0x1400b2870]
mov r14, qword [rsp + 0xe0]
lea ecx, [r9 - 2]
imul rax, r10, 0x110
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r12]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r12]
lea eax, [rdi + rcx]
mov edi, dword [rsp + 0x44]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x140096f5f
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], eax
mov dword [rcx + rbx + 0x10efc], 0
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], ebp
mov dword [rcx + rbx + 0x10ef0], r13d
jmp 0x140096f5f
lea r12, [0x1400b2870]
mov ecx, 2
mov r10, qword [rsp + 0xd8]
inc r13d
add r10, 4
mov qword [rsp + 0xd8], r10
cmp r13d, 4
jb 0x140096ab0
mov ecx, dword [rsp + 0x3c]
cmp ecx, r15d
jbe 0x140096fba
xor edx, edx
mov ecx, r15d
cmp r15d, dword [rbx + 0x2f4]
jbe 0x140096fac
nop dword [rax]
inc edx
cmp r15d, dword [rbx + rdx*8 + 0x2f4]
ja 0x140096fa0
mov dword [rbx + rdx*8 + 0x2f4], r15d
inc edx
mov dword [rsp + 0x48], edx
cmp ecx, edi
jb 0x140097434
mov rax, qword [rsp + 0x68]
lea r8d, [rcx + rbp]
mov r9d, dword [rsp + 0xe8]
movzx eax, word [rax]
shr rax, 4
movzx r13d, byte [rax + r12]
add r13d, dword [rsp + 0x38]
mov dword [rsp + 0xd0], r13d
cmp r9d, r8d
jae 0x140097021
imul rdx, r9, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r9d
nop dword [rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140097010
xor r15d, r15d
cmp edi, dword [rbx + 0x2f4]
jbe 0x14009703d
nop dword [rax]
inc r15d
cmp edi, dword [rbx + r15*8 + 0x2f4]
ja 0x140097030
mov ecx, dword [rsp + 0x100]
mov edx, ecx
imul rbp, qword [rsp + 0x70], 0x110
mov r12d, dword [rsp + 0xf8]
lea r14d, [rcx + 1]
neg edx
mov qword [rsp + 0x68], rbp
sub r12d, ecx
mov dword [rsp + 0x38], edx
add r14d, edi
mov dword [rsp + 0xd8], r12d
sub dword [rsp + 0xf0], ecx
not ecx
mov dword [rsp + 0x100], ecx
nop dword [rax]
nop dword [rax + rax]
mov esi, dword [rbx + r15*8 + 0x2f8]
lea edi, [rcx + r14]
mov dword [rsp + 0x34], esi
lea eax, [rdi - 2]
cmp edi, 6
jb 0x1400970ad
mov eax, 3
mov r8d, eax
lea r11d, [rdi - 2]
mov r9, rsi
cmp esi, 0x80
jae 0x1400970d0
shl r8, 7
add r8, rsi
mov ecx, dword [rbx + r8*4 + 0x10690]
jmp 0x1400970ff
bsr edx, esi
mov eax, esi
shl r8, 6
lea ecx, [rdx - 1]
shr eax, cl
and eax, 1
lea ecx, [rax + rdx*2]
mov edx, dword [rsp + 0x38]
add rcx, r8
mov rax, r9
and eax, 0xf
mov ecx, dword [rbx + rcx*4 + 0x10290]
add ecx, dword [rbx + rax*4 + 0x10e98]
mov eax, r11d
add rax, rbp
mov ebp, dword [rbx + rax*4 + 0x7604]
add ebp, ecx
lea ecx, [r14 - 1]
add ecx, r12d
add ebp, r13d
imul rcx, rcx, 0x2c
add rcx, rbx
cmp ebp, dword [rcx + 0x10ef4]
jae 0x14009714a
mov eax, dword [rsp + 0xf8]
mov dword [rcx + 0x10ef8], eax
lea eax, [rsi + 4]
mov dword [rcx + 0x10efc], eax
mov dword [rcx + 0x10ef4], ebp
mov byte [rcx + 0x10ee8], 0
cmp edi, dword [rbx + r15*8 + 0x2f4]
jne 0x14009741c
mov rsi, qword [rsp + 0xe0]
lea r10d, [rdx + r14]
mov r11, rsi
mov edx, r14d
sub r11, r9
cmp dword [rsp + 0x108], r14d
cmovb edx, dword [rsp + 0x108]
cmp r10d, edx
jae 0x1400971a4
mov ecx, r10d
lea r8, [r11 - 1]
add rcx, rsi
sub r8, rsi
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x1400971a4
inc r10d
inc rcx
cmp r10d, edx
jb 0x140097190
mov eax, 0xffffffff
mov dword [rsp + 0x3c], r10d
sub eax, edi
add r10d, eax
cmp r10d, 2
jb 0x140097412
mov r8d, dword [rsp + 0xf0]
lea eax, [rdi - 1]
movzx edx, byte [rax + rsi]
dec r8d
mov eax, dword [rbx + 0xb98]
add r8d, r14d
mov r13d, dword [rbx + 0xb90]
and eax, r8d
movzx r11d, byte [rdi + r11 - 1]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
and r13d, r8d
shr edx, cl
xor esi, esi
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
mov r9d, edi
mov rax, qword [rsp + 0xe0]
mov edi, 0x100
lea r12, [rdx + rdx*2]
movzx r8d, byte [r9 + rax]
lea r9, [0x1400b2870]
shl r12, 9
add r12, rbx
add r8d, edi
nop
mov ecx, r8d
add r11d, r11d
shr ecx, 8
mov eax, edi
and eax, r11d
add eax, edi
add ecx, eax
movzx edx, word [r12 + rcx*2 + 0xb9c]
mov ecx, r8d
shr ecx, 7
add r8d, r8d
and ecx, 1
shr rdx, 4
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + r9]
add esi, eax
mov eax, r11d
xor eax, r8d
not eax
and edi, eax
cmp r8d, 0x10000
jb 0x140097230
cmp dword [rsp + 0x30], 7
mov eax, 0x363e
mov ecx, 0x366e
cmovl ecx, eax
mov eax, r13d
add rcx, rax
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + r9]
add edx, esi
add edx, ebp
cmp dword [rsp + 0x30], 7
jge 0x1400972bb
mov eax, 7
lea ecx, [rax - 3]
jmp 0x1400972c5
mov eax, 4
mov ecx, 1
mov r8d, dword [rsp + 0x3c]
lea r9d, [r13 + 1]
mov ebp, dword [rsp + 0xf8]
lea r13, [0x1400b2870]
mov r12d, dword [rsp + 0xe8]
cmovl eax, ecx
mov r11d, eax
add r8d, ebp
mov eax, dword [rbx + 0xb90]
mov esi, r11d
and r9, rax
shl rsi, 4
add rsi, r9
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r13]
movzx eax, word [rbx + r11*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + r13]
lea eax, [rdx + rcx]
add edi, eax
cmp r12d, r8d
jae 0x140097371
imul rdx, r12, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r12d
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140097360
mov r12d, dword [rsp + 0xd8]
lea ecx, [r10 - 2]
imul rax, r9, 0x110
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r13]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r13]
lea eax, [rdi + rcx]
mov r13d, dword [rsp + 0xd0]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x140097412
lea eax, [r12 + r14]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], eax
mov eax, dword [rsp + 0x34]
add eax, 4
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef0], eax
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], ebp
inc r15d
cmp r15d, dword [rsp + 0x48]
je 0x140097434
mov edx, dword [rsp + 0x38]
inc r14d
mov rbp, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x100]
jmp 0x140097090
mov eax, dword [rsp + 0xe8]
add rsp, 0x88
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret