Function at 0x140119510
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, ntohl
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 0x1401195f7
dec r8d
cmp byte [r10 + 0x10ee9], 0
je 0x1401195cb
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x1401195ba
cmp eax, 7
mov r13d, edx
cmovl r13d, r15d
jmp 0x1401195da
cmp eax, 7
mov r13d, r11d
mov eax, 7
cmovl r13d, eax
jmp 0x1401195da
mov eax, r8d
imul rcx, rax, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
cmp r13d, 3
jg 0x1401195e5
xor r13d, r13d
jmp 0x140119603
cmp r13d, 9
jg 0x1401195f1
sub r13d, 3
jmp 0x140119603
sub r13d, 6
jmp 0x140119603
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 0x14011966a
cmp dword [r10 + 0x10efc], 0
jne 0x140119635
cmp r13d, 7
mov eax, 9
cmovl edx, eax
mov r13d, edx
mov dword [rsp + 0x30], edx
jmp 0x14011977a
cmp r13d, 3
jg 0x140119648
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x14011977a
cmp r13d, 9
jg 0x14011965c
sub r13d, 3
mov dword [rsp + 0x30], r13d
jmp 0x14011977a
sub r13d, 6
mov dword [rsp + 0x30], r13d
jmp 0x14011977a
test dil, dil
je 0x1401196a1
cmp byte [r10 + 0x10ee9], 0
je 0x1401196a1
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 0x14011974b
jmp 0x1401196c0
mov r9d, dword [r10 + 0x10efc]
cmp r9d, ebp
jae 0x140119736
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 0x140119702
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 0x1401196e0
cmp r8d, ebp
jae 0x14011977a
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 0x140119720
jmp 0x14011977a
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.140118b10
movzx ecx, word [rbx + rdi*2 + 0x6b9c]
lea rdx, [0x140137550]
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 0x140119880
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, [0x140137550]
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, [0x140137550]
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 0x14011995a
cmp dword [rdi + 0x10ef8], r9d
jae 0x1401198f8
cmp dword [rdi + 0x10efc], 0
je 0x14011995a
movzx eax, word [rbx + rcx*2 + 0x6d34]
lea r9, [0x140137550]
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 0x14011995a
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 0x14011a4e4
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 0x140119b3b
cmp r14b, bpl
mov r14, qword [rsp + 0xe0]
je 0x140119b43
mov eax, dword [r10]
mov r9, r14
sub r9, rax
inc edx
cmp ecx, edx
jae 0x1401199b9
mov edx, ecx
mov ecx, 1
jmp 0x1401199c2
mov ecx, 1
cmp edx, ecx
jbe 0x1401199e6
mov eax, ecx
mov r8, qword [rax + r14]
sub r8, qword [r9 + rax - 1]
jne 0x1401199d8
add ecx, 8
cmp ecx, edx
jb 0x1401199c2
jmp 0x1401199e6
bsf rax, r8
shr eax, 3
add ecx, eax
cmp ecx, edx
cmovb edx, ecx
lea edi, [rdx - 1]
cmp edi, 2
jb 0x140119b43
mov ebp, dword [rsp + 0x30]
cmp ebp, 3
jg 0x1401199ff
xor eax, eax
jmp 0x140119a0a
lea eax, [rbp - 3]
cmp ebp, 9
jle 0x140119a0a
lea eax, [rbp - 6]
mov r9d, dword [rsp + 0xf0]
lea r8, [0x140137550]
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 0x140119ab1
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 0x140119aa0
imul rax, r9, 0x110
lea r12, [0x140137550]
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 0x140119b51
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 0x140119b51
mov r14, qword [rsp + 0xe0]
mov ebp, dword [rsp + 0xf8]
lea r12, [0x140137550]
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 0x14011a014
mov eax, ecx
cmp r15d, 2
jbe 0x140119ba8
nop dword [rax + rax]
mov ecx, eax
mov rdx, qword [rcx + r14]
sub rdx, qword [r10 + rcx]
jne 0x140119c33
add eax, 8
cmp eax, r15d
jb 0x140119b90
mov edx, r15d
mov r11d, dword [rsp + 0xe8]
lea r9d, [rdx + rbp]
mov dword [rsp + 0x34], r9d
cmp r11d, r9d
jae 0x140119bf2
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 0x140119be0
mov esi, edx
test r13d, r13d
jne 0x140119c4a
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 0x140119cc6
bsf rcx, rdx
mov edx, r15d
shr ecx, 3
add eax, ecx
cmp eax, r15d
cmovb edx, eax
jmp 0x140119bab
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 0x140119c84
movzx eax, word [rbx + r9*2 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + r12]
add r8d, eax
jmp 0x140119cc6
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 0x140119d21
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 0x140119ce0
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 0x140119d7a
mov ecx, r9d
mov r8, r10
add rcx, r14
sub r8, r14
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x140119d7a
inc r9d
inc rcx
cmp r9d, edx
jb 0x140119d66
mov eax, 0xffffffff
mov r12d, r9d
sub eax, esi
add r9d, eax
cmp r9d, 2
jb 0x14011a008
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, [0x140137550]
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 0x140119e10
cmp dword [rsp + 0x30], 7
lea rdi, [0x140137550]
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 0x140119eac
mov eax, 8
lea ecx, [rax - 3]
jmp 0x140119eb6
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 0x140119f61
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 0x140119f50
mov r15d, dword [rsp + 0x40]
lea r12, [0x140137550]
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 0x14011a00f
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 0x14011a00f
lea r12, [0x140137550]
mov ecx, 2
mov r10, qword [rsp + 0xd8]
inc r13d
add r10, 4
mov qword [rsp + 0xd8], r10
cmp r13d, 4
jb 0x140119b60
mov ecx, dword [rsp + 0x3c]
cmp ecx, r15d
jbe 0x14011a06a
xor edx, edx
mov ecx, r15d
cmp r15d, dword [rbx + 0x2f4]
jbe 0x14011a05c
nop dword [rax]
inc edx
cmp r15d, dword [rbx + rdx*8 + 0x2f4]
ja 0x14011a050
mov dword [rbx + rdx*8 + 0x2f4], r15d
inc edx
mov dword [rsp + 0x48], edx
cmp ecx, edi
jb 0x14011a4e4
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 0x14011a0d1
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 0x14011a0c0
xor r15d, r15d
cmp edi, dword [rbx + 0x2f4]
jbe 0x14011a0ed
nop dword [rax]
inc r15d
cmp edi, dword [rbx + r15*8 + 0x2f4]
ja 0x14011a0e0
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 0x14011a15d
mov eax, 3
mov r8d, eax
lea r11d, [rdi - 2]
mov r9, rsi
cmp esi, 0x80
jae 0x14011a180
shl r8, 7
add r8, rsi
mov ecx, dword [rbx + r8*4 + 0x10690]
jmp 0x14011a1af
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 0x14011a1fa
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 0x14011a4cc
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 0x14011a254
mov ecx, r10d
lea r8, [r11 - 1]
add rcx, rsi
sub r8, rsi
nop
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x14011a254
inc r10d
inc rcx
cmp r10d, edx
jb 0x14011a240
mov eax, 0xffffffff
mov dword [rsp + 0x3c], r10d
sub eax, edi
add r10d, eax
cmp r10d, 2
jb 0x14011a4c2
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, [0x140137550]
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 0x14011a2e0
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 0x14011a36b
mov eax, 7
lea ecx, [rax - 3]
jmp 0x14011a375
mov eax, 4
mov ecx, 1
mov r8d, dword [rsp + 0x3c]
lea r9d, [r13 + 1]
mov ebp, dword [rsp + 0xf8]
lea r13, [0x140137550]
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 0x14011a421
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 0x14011a410
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 0x14011a4c2
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 0x14011a4e4
mov edx, dword [rsp + 0x38]
inc r14d
mov rbp, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x100]
jmp 0x14011a140
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