Function at 0x14001d080
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov r12d, dword [rsp + 0xf8]
mov rbp, rdx
mov eax, dword [rcx + 0xb84]
mov edx, 0xb
imul r10, r12, 0x2c
mov dword [rsp + 0x48], eax
mov r15, r8
mov eax, dword [rcx + 0xb88]
lea edi, [rdx - 3]
add r10, rcx
mov dword [rsp + 0x40], eax
mov rbx, rcx
lea r8d, [rdx - 1]
mov esi, r12d
lea r14d, [rdx - 4]
movzx r9d, byte [r10 + 0x10ee8]
mov r11d, dword [r10 + 0x10ef8]
test r9b, r9b
je 0x14001d162
dec r11d
cmp byte [r10 + 0x10ee9], 0
je 0x14001d136
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x14001d12a
cmp eax, r14d
mov r13d, edx
cmovl r13d, edi
jmp 0x14001d145
cmp eax, r14d
mov r13d, r8d
cmovl r13d, r14d
jmp 0x14001d145
mov eax, r11d
imul rcx, rax, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
cmp r13d, 3
jg 0x14001d150
xor r13d, r13d
jmp 0x14001d16e
cmp r13d, 9
jg 0x14001d15c
sub r13d, 3
jmp 0x14001d16e
sub r13d, 6
jmp 0x14001d16e
imul rcx, r11, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
mov ecx, 1
lea eax, [r12 - 1]
lea r14d, [rcx + 3]
cmp r11d, eax
jne 0x14001d1e4
cmp dword [r10 + 0x10efc], 0
jne 0x14001d1a6
cmp r13d, 7
mov eax, 9
cmovl edx, eax
mov r13d, edx
mov dword [rsp + 0xd0], edx
jmp 0x14001d2fa
cmp r13d, 3
jg 0x14001d1bc
xor r13d, r13d
mov dword [rsp + 0xd0], r13d
jmp 0x14001d2fa
cmp r13d, 9
jg 0x14001d1d3
sub r13d, 3
mov dword [rsp + 0xd0], r13d
jmp 0x14001d2fa
sub r13d, 6
mov dword [rsp + 0xd0], r13d
jmp 0x14001d2fa
test r9b, r9b
je 0x14001d20d
cmp byte [r10 + 0x10ee9], 0
je 0x14001d20d
mov r11d, dword [r10 + 0x10eec]
cmp r13d, 7
mov r9d, dword [r10 + 0x10ef0]
cmovl edx, edi
mov r13d, edx
jmp 0x14001d235
mov r9d, dword [r10 + 0x10efc]
cmp r9d, r14d
jae 0x14001d225
cmp r13d, 7
cmovl edx, edi
mov r13d, edx
jmp 0x14001d235
cmp r13d, 7
mov eax, 7
cmovl r8d, eax
mov r13d, r8d
mov edi, r11d
imul r11, rdi, 0xb
mov dword [rsp + 0xd0], r13d
cmp r9d, r14d
jae 0x14001d2d2
mov eax, r9d
mov r8d, ecx
add rax, r11
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [rbp], eax
cmp r9d, ecx
jb 0x14001d292
nop word [rax + rax]
lea ecx, [r8 - 1]
mov edx, r8d
add rcx, r11
inc r8d
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [rbp + rdx*4], eax
cmp r8d, r9d
jbe 0x14001d270
cmp r8d, r14d
jae 0x14001d2fa
mov eax, r8d
lea r9, [rbx + 0x10f00]
mov edx, r14d
lea rcx, [rax*4]
imul rax, rdi, 0x2c
add rcx, rbp
sub rax, rbp
add r9, rax
sub edx, r8d
nop word [rax + rax]
mov eax, dword [r9 + rcx]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14001d2c0
jmp 0x14001d2fa
lea eax, [r9 - 4]
mov dword [rbp], eax
mov eax, dword [rbx + r11*4 + 0x10f00]
mov dword [rbp + 4], eax
mov eax, dword [rbx + r11*4 + 0x10f04]
mov dword [rbp + 8], eax
mov eax, dword [rbx + r11*4 + 0x10f08]
mov dword [rbp + 0xc], eax
mov edx, dword [rsp + 0xf0]
mov dword [r10 + 0x10ee4], r13d
mov eax, dword [rbp]
imul rcx, rsi, 0x2c
mov dword [rcx + rbx + 0x10f00], eax
mov eax, dword [rbp + 4]
imul rcx, rsi, 0x2c
mov dword [rcx + rbx + 0x10f04], eax
mov eax, dword [rbp + 8]
imul rcx, rsi, 0x2c
mov dword [rcx + rbx + 0x10f08], eax
lea rax, [r12 + 0x629]
imul rcx, rax, 0x2c
mov eax, dword [rbp + 0xc]
mov dword [rcx + rbx], eax
mov rcx, r15
mov r8d, dword [rbx + 0xb90]
mov eax, dword [rbp]
and r8d, edx
movzx esi, byte [r15]
sub rcx, rax
mov r14d, dword [r10 + 0x10ef4]
mov qword [rsp + 0x70], r8
mov dword [rsp + 0x28], esi
movzx ebp, byte [rcx - 1]
movsxd rcx, r13d
mov rax, rcx
mov qword [rsp + 0x60], rcx
shl rax, 4
mov rcx, rbx
add rax, r8
mov dword [rsp + 0x20], ebp
movzx r8d, byte [r15 - 1]
cmp r13d, 7
mov qword [rsp + 0x58], rax
setge r9b
movzx edi, word [rbx + rax*2 + 0x6b9c]
call fcn.14001c800
mov r8, qword [rsp + 0x58]
lea r11, [0x140000000]
add eax, r14d
mov ecx, edi
shr rcx, 4
xor r9b, r9b
movzx r15d, byte [rcx + r11 + 0x29650]
add r15d, eax
lea eax, [r12 + 1]
imul rdx, rax, 0x2c
add rdx, rbx
cmp r15d, dword [rdx + 0x10ef4]
jae 0x14001d40b
mov dword [rdx + 0x10ef4], r15d
mov dword [rdx + 0x10ef8], r12d
mov byte [rdx + 0x10ee8], r9b
mov r9b, 1
mov dword [rdx + 0x10efc], 0xffffffff
movzx edi, word [rbx + r8*2 + 0x6b9c]
movzx eax, di
xor rax, 0x7f0
movsxd r10, r13d
shr rax, 4
movzx ecx, byte [rax + r11 + 0x29650]
lea rax, [rbx + 0x6d1c]
lea rax, [rax + r10*2]
add ecx, r14d
mov qword [rsp + 0x68], rax
movzx eax, word [rax]
xor rax, 0x7f0
mov dword [rsp + 0x44], ecx
shr rax, 4
movzx edi, byte [rax + r11 + 0x29650]
add edi, ecx
mov dword [rsp + 0x30], edi
cmp bpl, sil
jne 0x14001d4cb
cmp dword [rdx + 0x10ef8], r12d
jae 0x14001d46e
cmp dword [rdx + 0x10efc], 0
je 0x14001d4cb
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx ecx, byte [rax + r11 + 0x29650]
movzx eax, word [rbx + r8*2 + 0x6d7c]
shr rax, 4
movzx r8d, byte [rax + r11 + 0x29650]
lea eax, [rdi + rcx]
add r8d, eax
cmp r8d, dword [rdx + 0x10ef4]
ja 0x14001d4cb
mov dword [rdx + 0x10ef4], r8d
mov r9b, 1
mov dword [rdx + 0x10ef8], r12d
mov dword [rdx + 0x10efc], 0
mov byte [rdx + 0x10ee8], 0
mov ecx, dword [rsp + 0x108]
cmp ecx, 2
jb 0x14001e13d
mov edx, dword [rsp + 0x100]
mov r12d, edx
mov r11, qword [rsp + 0xd8]
cmp ecx, edx
cmovb r12d, ecx
mov dword [rsp + 0x34], r12d
test r9b, r9b
jne 0x14001d6d3
cmp bpl, sil
je 0x14001d6d3
mov r8, qword [rsp + 0xe0]
mov eax, dword [r11]
mov r9, r8
sub r9, rax
inc edx
cmp ecx, edx
cmovb edx, ecx
mov ecx, 1
cmp edx, ecx
jbe 0x14001d55c
nop dword [rax + rax]
mov eax, ecx
mov r8, qword [rax + r8]
sub r8, qword [rax + r9 - 1]
jne 0x14001d54e
mov r8, qword [rsp + 0xe0]
add ecx, 8
cmp ecx, edx
jb 0x14001d530
jmp 0x14001d55c
bsf rax, r8
shr eax, 3
add ecx, eax
cmp ecx, edx
cmovb edx, ecx
lea edi, [rdx - 1]
cmp edi, 2
jb 0x14001d6cf
cmp r13d, 3
jg 0x14001d572
xor eax, eax
jmp 0x14001d580
lea eax, [r13 - 3]
cmp r13d, 9
jle 0x14001d580
lea eax, [r13 - 6]
mov r9d, dword [rsp + 0xf0]
lea r8, [0x140000000]
mov r13d, dword [rsp + 0xf8]
inc r9d
mov ebp, dword [rsp + 0xe8]
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 + 0x29650]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r8 + 0x29650]
lea eax, [r15 + rcx]
add r11d, eax
lea r8d, [rdx + r13]
cmp ebp, r8d
jae 0x14001d631
imul rdx, rbp, 0x2c
mov eax, r8d
add rdx, 0x10ef4
sub eax, ebp
add rdx, rbx
mov ecx, eax
add ebp, eax
mov dword [rsp + 0xe8], ebp
nop dword [rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14001d620
imul rax, r9, 0x110
lea ecx, [rdi - 2]
mov edi, dword [rsp + 0x30]
add rcx, rax
lea r9, [0x140000000]
movzx eax, word [rbx + rsi*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r9 + 0x29650]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
mov r10, qword [rsp + 0x60]
shr rax, 4
movzx edx, byte [rax + r9 + 0x29650]
lea eax, [r11 + rcx]
mov r11, qword [rsp + 0xd8]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14001d6e9
lea eax, [r13 + 1]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], eax
mov dword [rcx + rbx + 0x10efc], 0
mov word [rcx + rbx + 0x10ee8], 1
jmp 0x14001d6e9
mov edi, dword [rsp + 0x30]
mov r13d, dword [rsp + 0xf8]
lea r9, [0x140000000]
mov ebp, dword [rsp + 0xe8]
mov r15, qword [rsp + 0xe0]
mov ecx, 2
xor esi, esi
mov r14d, ecx
mov dword [rsp + 0x38], esi
nop
mov eax, dword [r11]
mov r11, r15
sub r11, rax
movzx eax, word [r11 - 1]
dec r11
mov qword [rsp + 0x78], r11
cmp word [r15], ax
jne 0x14001dbe1
cmp r12d, 2
jbe 0x14001d744
nop word [rax + rax]
mov eax, ecx
mov rdx, qword [rax + r15]
sub rdx, qword [rax + r11]
jne 0x14001d7b2
add ecx, 8
cmp ecx, r12d
jb 0x14001d730
mov edx, r12d
lea r8d, [rdx + r13]
cmp ebp, r8d
jae 0x14001d781
mov eax, ebp
sub r8d, ebp
imul rcx, rax, 0x2c
lea rax, [rbx + 0x10ef4]
add rax, rcx
mov ecx, r8d
add ebp, r8d
mov dword [rsp + 0xe8], ebp
mov dword [rax + 0x2c], 0x40000000
lea rax, [rax + 0x2c]
sub rcx, 1
jne 0x14001d770
mov ebp, edx
test esi, esi
jne 0x14001d7c6
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r9 + 0x29650]
movzx eax, word [rbx + r10*2 + 0x6d34]
jmp 0x14001d7f0
bsf rax, rdx
mov edx, r12d
shr eax, 3
add ecx, eax
cmp ecx, r12d
cmovb edx, ecx
jmp 0x14001d747
movzx eax, word [rbx + r10*2 + 0x6d34]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r9 + 0x29650]
cmp esi, 1
jne 0x14001d802
movzx eax, word [rbx + r10*2 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + r9 + 0x29650]
add r8d, eax
jmp 0x14001d84b
movzx ecx, word [rbx + r10*2 + 0x6d64]
mov eax, 2
sub eax, esi
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
movzx eax, word [rbx + r10*2 + 0x6d4c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rcx + r9 + 0x29650]
movzx eax, byte [rax + r9 + 0x29650]
add r8d, eax
add r8d, ecx
imul r9, qword [rsp + 0x70], 0x110
lea r11d, [r8 + rdi]
mov dword [rsp + 0x4c], r11d
nop dword [rax]
lea ecx, [rdx - 2]
add rcx, r9
mov r8d, dword [rbx + rcx*4 + 0xbe4c]
lea ecx, [rdx + r13]
imul rax, rcx, 0x2c
add r8d, r11d
cmp r8d, dword [rax + rbx + 0x10ef4]
jae 0x14001d8a2
mov dword [rax + rbx + 0x10ef4], r8d
mov dword [rax + rbx + 0x10ef8], r13d
mov dword [rax + rbx + 0x10efc], esi
mov byte [rax + rbx + 0x10ee8], 0
dec edx
cmp edx, 2
jae 0x14001d860
mov r8d, dword [rsp + 0x100]
lea r10d, [rbp + 1]
mov r11, qword [rsp + 0x78]
test esi, esi
mov edi, r10d
cmovne edi, r14d
add r8d, r10d
cmp dword [rsp + 0x108], r8d
mov dword [rsp + 0x3c], edi
cmovb r8d, dword [rsp + 0x108]
cmp r10d, r8d
jae 0x14001d90f
mov ecx, r10d
mov eax, ecx
mov rdx, qword [rax + r15]
sub rdx, qword [rax + r11]
jne 0x14001d8fc
add ecx, 8
cmp ecx, r8d
jb 0x14001d8e3
mov r10d, r8d
jmp 0x14001d90f
bsf rax, rdx
mov r10d, r8d
shr eax, 3
add ecx, eax
cmp ecx, r8d
cmovb r10d, ecx
mov eax, 0xffffffff
mov r12d, r10d
sub eax, ebp
mov r14d, edi
add r10d, eax
cmp r10d, 2
jb 0x14001dbc9
mov rax, qword [rsp + 0xe0]
lea ecx, [rbp - 2]
movzx r11d, byte [r11 + rbp]
lea r13, [0x140000000]
mov r8d, dword [rsp + 0xf0]
add rcx, r9
add r8d, ebp
mov r9, rbp
mov r14d, r8d
xor esi, esi
and r14d, dword [rbx + 0xb90]
mov edi, 0x100
mov r15d, dword [rbx + rcx*4 + 0xbe4c]
lea ecx, [rbp - 1]
movzx edx, byte [rcx + rax]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
mov eax, dword [rbx + 0xb98]
shr edx, cl
and eax, r8d
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
mov rax, qword [rsp + 0xe0]
movzx r8d, byte [r9 + rax]
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
add r8d, edi
nop dword [rax]
mov ecx, r8d
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, 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 + r13 + 0x29650]
add esi, eax
mov eax, r11d
xor eax, r8d
not eax
and edi, eax
cmp r8d, 0x10000
jb 0x14001d9b0
cmp dword [rsp + 0xd0], 7
lea r8, [0x140000000]
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 + r8 + 0x29650]
add edx, esi
add edx, r15d
add edx, dword [rsp + 0x4c]
cmp dword [rsp + 0xd0], 7
jge 0x14001da54
mov eax, 8
lea ecx, [rax - 3]
jmp 0x14001da5e
mov eax, 5
mov ecx, 2
mov r13d, dword [rbx + 0xb90]
cmovl eax, ecx
mov ebp, dword [rsp + 0xe8]
mov r15d, r9d
mov r9d, dword [rsp + 0xf0]
mov esi, eax
inc r9d
mov r11d, eax
add r9d, r15d
and r9, r13
shl rsi, 4
mov r13d, dword [rsp + 0xf8]
add rsi, r9
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r8 + 0x29650]
movzx eax, word [rbx + r11*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx edi, byte [rax + r8 + 0x29650]
lea eax, [rdx + rcx]
add edi, eax
lea r8d, [r12 + r13]
cmp ebp, r8d
jae 0x14001db11
imul rdx, rbp, 0x2c
mov eax, r8d
add rdx, 0x10ef4
sub eax, ebp
add rdx, rbx
mov ecx, eax
add ebp, eax
mov dword [rsp + 0xe8], ebp
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14001db00
mov r12d, dword [rsp + 0x34]
lea ecx, [r10 - 2]
imul rax, r9, 0x110
lea r9, [0x140000000]
add rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d7c]
mov esi, dword [rsp + 0x38]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r9 + 0x29650]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r9 + 0x29650]
lea eax, [rdi + rcx]
add edx, eax
mov eax, r8d
mov r8d, dword [rsp + 0x3c]
mov r14d, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14001dbbf
lea eax, [r13 + 1]
mov dword [rcx + rbx + 0x10ef4], edx
add eax, r15d
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef8], eax
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], r13d
mov dword [rcx + rbx + 0x10ef0], esi
mov r15, qword [rsp + 0xe0]
jmp 0x14001dbdc
mov r12d, dword [rsp + 0x34]
lea r9, [0x140000000]
mov ebp, dword [rsp + 0xe8]
mov ecx, 2
mov r11, qword [rsp + 0xd8]
inc esi
mov r10, qword [rsp + 0x60]
add r11, 4
mov edi, dword [rsp + 0x30]
mov dword [rsp + 0x38], esi
mov qword [rsp + 0xd8], r11
cmp esi, 4
jb 0x14001d700
mov ecx, dword [rsp + 0x40]
cmp ecx, r12d
jbe 0x14001dc3e
xor edx, edx
mov ecx, r12d
cmp r12d, dword [rbx + 0x2f4]
jbe 0x14001dc30
inc edx
cmp r12d, dword [rbx + rdx*8 + 0x2f4]
ja 0x14001dc24
mov dword [rbx + rdx*8 + 0x2f4], r12d
inc edx
mov dword [rsp + 0x48], edx
cmp ecx, r14d
jb 0x14001e13d
mov rax, qword [rsp + 0x68]
lea edx, [rcx + r13]
movzx eax, word [rax]
shr rax, 4
movzx r8d, byte [rax + r9 + 0x29650]
add r8d, dword [rsp + 0x44]
mov dword [rsp + 0xd8], r8d
cmp ebp, edx
jae 0x14001dca1
mov eax, ebp
sub edx, ebp
imul rcx, rax, 0x2c
lea rax, [rbx + 0x10ef4]
add rax, rcx
mov ecx, edx
add ebp, edx
mov dword [rsp + 0xe8], ebp
nop
mov dword [rax + 0x2c], 0x40000000
lea rax, [rax + 0x2c]
sub rcx, 1
jne 0x14001dc90
xor r12d, r12d
cmp r14d, dword [rbx + 0x2f4]
jbe 0x14001dcbd
nop dword [rax]
inc r12d
cmp r14d, dword [rbx + r12*8 + 0x2f4]
ja 0x14001dcb0
imul rbp, qword [rsp + 0x70], 0x110
mov edi, r13d
inc r14d
sub edi, dword [rsp + 0x100]
mov r13d, dword [rsp + 0xf0]
dec r13d
mov qword [rsp + 0x68], rbp
mov dword [rsp + 0x3c], edi
mov dword [rsp + 0xf0], r13d
nop
mov r11d, dword [rbx + r12*8 + 0x2f8]
lea esi, [r14 - 1]
mov dword [rsp + 0x40], r11d
cmp esi, 6
jae 0x14001dd0d
lea ecx, [rsi - 2]
mov edx, ecx
jmp 0x14001dd16
mov ecx, 3
lea edx, [r14 - 3]
cmp r11d, 0x80
jae 0x14001dd34
mov eax, ecx
shl rax, 7
add rax, r11
mov ecx, dword [rbx + rax*4 + 0x10690]
jmp 0x14001ddd0
mov rax, r11
cmp r11d, 0x80000
jae 0x14001dd66
shr rax, 6
lea r15, [0x140000000]
movzx eax, byte [rax + r15 + 0x296d0]
mov r15, qword [rsp + 0xe0]
lea rax, [rax*4 + 0x102c0]
jmp 0x14001ddb9
cmp r11d, 0x80000000
jae 0x14001dd95
shr rax, 0x12
lea r13, [0x140000000]
movzx eax, byte [rax + r13 + 0x296d0]
mov r13d, dword [rsp + 0xf0]
lea rax, [rax*4 + 0x10320]
jmp 0x14001ddb9
shr rax, 0x1e
lea r8, [0x140000000]
movzx eax, byte [rax + r8 + 0x296d0]
mov r8d, dword [rsp + 0xd8]
lea rax, [rax*4 + 0x10380]
shl rcx, 8
add rcx, rax
mov rax, r11
and eax, 0xf
mov ecx, dword [rcx + rbx]
add ecx, dword [rbx + rax*4 + 0x10e98]
mov eax, edx
add rax, rbp
mov ebp, dword [rbx + rax*4 + 0x7604]
add ebp, ecx
lea ecx, [rdi - 1]
add ebp, r8d
mov r8d, dword [rsp + 0x100]
add r8d, r14d
add ecx, r8d
imul rcx, rcx, 0x2c
add rcx, rbx
cmp ebp, dword [rcx + 0x10ef4]
jae 0x14001de25
mov eax, dword [rsp + 0xf8]
mov dword [rcx + 0x10ef8], eax
lea eax, [r11 + 4]
mov dword [rcx + 0x10efc], eax
mov dword [rcx + 0x10ef4], ebp
mov byte [rcx + 0x10ee8], 0
cmp esi, dword [rbx + r12*8 + 0x2f4]
jne 0x14001e128
mov r10, r15
mov edi, r14d
sub r10, r11
cmp dword [rsp + 0x108], r8d
cmovb r8d, dword [rsp + 0x108]
cmp r14d, r8d
jae 0x14001de8c
mov eax, r14d
nop word [rax + rax]
mov ecx, eax
mov rdx, qword [rcx + r15]
sub rdx, qword [rcx + r10 - 1]
jne 0x14001de7a
add eax, 8
cmp eax, r8d
jb 0x14001de60
mov edi, r8d
jmp 0x14001de8c
bsf rcx, rdx
mov edi, r8d
shr ecx, 3
add eax, ecx
cmp eax, r8d
cmovb edi, eax
mov eax, 0xffffffff
mov dword [rsp + 0x44], edi
sub eax, esi
add edi, eax
cmp edi, 2
jb 0x14001e11a
movzx r11d, byte [rsi + r10 - 1]
lea eax, [rsi - 1]
movzx edx, byte [rax + r15]
lea r8d, [r14 + r13]
mov eax, dword [rbx + 0xb98]
mov r13d, r8d
and r13d, dword [rbx + 0xb90]
and eax, r8d
mov r9d, esi
mov ecx, 8
sub cl, byte [rbx + 0xb94]
xor esi, esi
shr edx, cl
mov r10d, 0x100
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
mov rax, qword [rsp + 0xe0]
movzx r8d, byte [r9 + rax]
lea r15, [rdx + rdx*2]
shl r15, 9
lea r9, [0x140000000]
add r15, rbx
add r8d, r10d
nop dword [rax + rax]
mov ecx, r8d
add r11d, r11d
shr ecx, 8
mov eax, r10d
and eax, r11d
add eax, r10d
add ecx, eax
movzx edx, word [r15 + 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 + 0x29650]
add esi, eax
mov eax, r11d
xor eax, r8d
not eax
and r10d, eax
cmp r8d, 0x10000
jb 0x14001df10
cmp dword [rsp + 0xd0], 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 + 0x29650]
add edx, esi
add edx, ebp
cmp dword [rsp + 0xd0], 7
jge 0x14001dfac
mov eax, 7
lea ecx, [rax - 3]
jmp 0x14001dfb6
mov eax, 4
mov ecx, 1
mov r8d, dword [rsp + 0x44]
lea r9d, [r13 + 1]
mov ebp, dword [rsp + 0xf8]
lea r13, [0x140000000]
mov r15d, dword [rsp + 0xe8]
cmovl eax, ecx
mov r10d, eax
add r8d, ebp
mov eax, dword [rbx + 0xb90]
mov esi, r10d
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 + r13 + 0x29650]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r13 + 0x29650]
lea eax, [rdx + rcx]
add r11d, eax
cmp r15d, r8d
jae 0x14001e071
imul rdx, r15, 0x2c
mov eax, r8d
add rdx, 0x10ef4
sub eax, r15d
add rdx, rbx
mov ecx, eax
add r15d, eax
mov dword [rsp + 0xe8], r15d
nop dword [rax]
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14001e060
mov r15, qword [rsp + 0xe0]
lea ecx, [rdi - 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 + 0x29650]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r13 + 0x29650]
lea eax, [r11 + rcx]
mov r13d, dword [rsp + 0xf0]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14001e11a
lea eax, [r14 + rbp]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], eax
mov eax, dword [rsp + 0x40]
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 r12d
cmp r12d, dword [rsp + 0x48]
je 0x14001e13d
mov edi, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0xd8]
inc r14d
mov rbp, qword [rsp + 0x68]
jmp 0x14001dcf0
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