Function at 0x14002b510
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, 0x78
mov r13d, dword [rsp + 0xe8]
mov rbp, rdx
mov eax, dword [rcx + 0xb84]
mov edx, 0xb
imul r10, r13, 0x2c
mov dword [rsp + 0x4c], eax
mov r12, r8
mov eax, dword [rcx + 0xb88]
lea r14d, [rdx - 3]
add r10, rcx
mov dword [rsp + 0x44], eax
mov rbx, rcx
lea r11d, [rdx - 1]
mov esi, r13d
movzx edi, byte [r10 + 0x10ee8]
mov r9d, dword [r10 + 0x10ef8]
test dil, dil
je 0x14002b5f1
dec r9d
cmp byte [r10 + 0x10ee9], 0
je 0x14002b5c5
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x14002b5b4
cmp eax, 7
mov r15d, edx
cmovl r15d, r14d
jmp 0x14002b5d4
cmp eax, 7
mov r15d, r11d
mov eax, 7
cmovl r15d, eax
jmp 0x14002b5d4
mov eax, r9d
imul rcx, rax, 0x2c
mov r15d, dword [rcx + rbx + 0x10ee4]
cmp r15d, 3
jg 0x14002b5df
xor r15d, r15d
jmp 0x14002b5fd
cmp r15d, 9
jg 0x14002b5eb
sub r15d, 3
jmp 0x14002b5fd
sub r15d, 6
jmp 0x14002b5fd
imul rcx, r9, 0x2c
mov r15d, dword [rcx + rbx + 0x10ee4]
lea eax, [r13 - 1]
mov ecx, 1
lea r13d, [rcx + 3]
cmp r9d, eax
jne 0x14002b672
cmp dword [r10 + 0x10efc], 0
jne 0x14002b634
cmp r15d, 7
mov eax, 9
cmovl edx, eax
mov r15d, edx
mov dword [rsp + 0xc0], edx
jmp 0x14002b78a
cmp r15d, 3
jg 0x14002b64a
xor r15d, r15d
mov dword [rsp + 0xc0], r15d
jmp 0x14002b78a
cmp r15d, 9
jg 0x14002b661
sub r15d, 3
mov dword [rsp + 0xc0], r15d
jmp 0x14002b78a
sub r15d, 6
mov dword [rsp + 0xc0], r15d
jmp 0x14002b78a
test dil, dil
je 0x14002b6ac
cmp byte [r10 + 0x10ee9], 0
je 0x14002b6ac
mov r8d, dword [r10 + 0x10ef0]
cmp r15d, 7
mov r9d, dword [r10 + 0x10eec]
cmovl edx, r14d
mov dword [rsp + 0xc0], edx
mov r15d, edx
cmp r8d, r13d
jae 0x14002b75e
jmp 0x14002b6ce
mov r8d, dword [r10 + 0x10efc]
cmp r8d, r13d
jae 0x14002b746
cmp r15d, 7
cmovl edx, r14d
mov r15d, edx
mov dword [rsp + 0xc0], edx
mov r11d, r9d
mov edx, ecx
imul r9, r11, 0xb
mov eax, r8d
add rax, r9
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [rbp], eax
cmp r8d, ecx
jb 0x14002b70f
nop dword [rax]
lea eax, [rdx - 1]
mov ecx, edx
add rax, r9
inc edx
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [rbp + rcx*4], eax
cmp edx, r8d
jbe 0x14002b6f0
cmp edx, r13d
jae 0x14002b78a
mov eax, edx
imul r8, r11, 0x2c
lea rcx, [rax*4]
mov eax, r13d
sub r8, rbp
add rcx, rbp
add r8, rbx
sub eax, edx
mov edx, eax
nop dword [rax]
mov eax, dword [rcx + r8 + 0x10f00]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14002b730
jmp 0x14002b78a
cmp r15d, 7
mov eax, 7
cmovl r11d, eax
mov r15d, r11d
mov dword [rsp + 0xc0], r11d
lea eax, [r8 - 4]
mov dword [rbp], eax
mov eax, r9d
imul rcx, rax, 0xb
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [rbp + 4], eax
mov eax, dword [rbx + rcx*4 + 0x10f04]
mov dword [rbp + 8], eax
mov eax, dword [rbx + rcx*4 + 0x10f08]
mov dword [rbp + 0xc], eax
mov edx, dword [rsp + 0xe0]
mov dword [r10 + 0x10ee4], r15d
mov eax, dword [rbp]
imul rcx, rsi, 0xb
mov dword [rbx + rcx*4 + 0x10f00], eax
mov eax, dword [rbp + 4]
mov dword [rbx + rcx*4 + 0x10f04], eax
mov eax, dword [rbp + 8]
mov dword [rbx + rcx*4 + 0x10f08], eax
mov eax, dword [rbp + 0xc]
mov dword [rbx + rcx*4 + 0x10f0c], eax
mov rcx, r12
movzx r8d, byte [r12 - 1]
imul rax, rsi, 0x2c
movzx esi, byte [r12]
mov dword [rsp + 0x28], esi
mov r14d, dword [rax + rbx + 0x10ef4]
mov eax, dword [rbp]
sub rcx, rax
movsxd rax, r15d
mov qword [rsp + 0x50], rax
shl rax, 4
movzx ebp, byte [rcx - 1]
mov ecx, dword [rbx + 0xb90]
and ecx, edx
mov dword [rsp + 0x20], ebp
mov r13d, ecx
add r13, rax
mov dword [rsp + 0x38], ecx
cmp r15d, 7
mov rcx, rbx
setge r9b
call fcn.14002ace0
movzx ecx, word [rbx + r13*2 + 0x6b9c]
lea r9, [0x140000000]
shr rcx, 4
add eax, r14d
xor r10b, r10b
movzx edi, byte [rcx + r9 + 0x62800]
mov ecx, dword [rsp + 0xe8]
add edi, eax
lea r15d, [rcx + 1]
imul r12, r15, 0x2c
mov r11d, dword [r12 + rbx + 0x10ef4]
lea r8, [r12 + rbx]
lea rdx, [r12 + rbx]
cmp edi, r11d
jae 0x14002b88e
mov dword [r12 + rbx + 0x10ef4], edi
mov r11d, edi
mov dword [r8 + 0x10ef8], ecx
mov byte [r12 + rbx + 0x10ee8], r10b
mov r10b, 1
mov dword [rdx + 0x10efc], 0xffffffff
movzx eax, word [rbx + r13*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + r9 + 0x62800]
mov r9, qword [rsp + 0x50]
add eax, r14d
mov dword [rsp + 0x3c], eax
lea r14, [0x140000000]
movzx eax, word [rbx + r9*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx r14d, byte [rax + r14 + 0x62800]
add r14d, dword [rsp + 0x3c]
mov dword [rsp + 0x30], r14d
cmp bpl, sil
jne 0x14002b973
cmp dword [r8 + 0x10ef8], ecx
jae 0x14002b8fe
cmp dword [rdx + 0x10efc], 0
je 0x14002b973
movzx eax, word [rbx + r9*2 + 0x6d34]
lea rcx, [0x140000000]
shr rax, 4
movzx ecx, byte [rax + rcx + 0x62800]
movzx eax, word [rbx + r13*2 + 0x6d7c]
lea r13, [0x140000000]
shr rax, 4
movzx r9d, byte [rax + r13 + 0x62800]
lea eax, [r14 + rcx]
add r9d, eax
cmp r9d, r11d
ja 0x14002b97a
mov r13d, dword [rsp + 0xe8]
mov r10b, 1
mov dword [r12 + rbx + 0x10ef4], r9d
mov dword [r8 + 0x10ef8], r13d
imul rax, r15, 0x2c
mov dword [rdx + 0x10efc], 0
mov byte [rax + rbx + 0x10ee8], 0
lea r13, [0x140000000]
mov r8d, dword [rsp + 0xf8]
cmp r8d, 2
jb 0x14002c66a
mov r9d, dword [rsp + 0xf0]
mov r15d, r9d
mov r12, qword [rsp + 0xc8]
cmp r8d, r9d
cmovb r15d, r8d
mov dword [rsp + 0x48], r15d
test r10b, r10b
jne 0x14002bb51
cmp bpl, sil
je 0x14002bb51
mov rcx, qword [rsp + 0xd0]
mov eax, dword [r12]
mov rdx, rcx
sub rdx, rax
dec rdx
inc r9d
cmp r8d, r9d
cmovb r9d, r8d
mov r8d, 1
call fcn.140029450
mov r8d, eax
lea esi, [rax - 1]
cmp esi, 2
jb 0x14002bb51
mov ecx, dword [rsp + 0xc0]
cmp ecx, 3
jg 0x14002ba06
xor ecx, ecx
jmp 0x14002ba13
cmp ecx, 9
jg 0x14002ba10
add ecx, 0xfffffffd
jmp 0x14002ba13
add ecx, 0xfffffffa
mov r9d, dword [rbx + 0xb90]
mov ebp, dword [rsp + 0xd8]
movsxd r10, ecx
mov ecx, dword [rsp + 0xe0]
mov rax, r10
shl rax, 4
inc ecx
and r9, rcx
add rax, r9
movzx ecx, word [rbx + rax*2 + 0x6b9c]
movzx eax, word [rbx + r10*2 + 0x6d1c]
xor rcx, 0x7f0
xor rax, 0x7f0
shr rcx, 4
shr rax, 4
movzx edx, byte [rcx + r13 + 0x62800]
movzx r11d, byte [rax + r13 + 0x62800]
lea eax, [rdi + rdx]
mov edi, dword [rsp + 0xe8]
add r11d, eax
add r8d, edi
cmp ebp, r8d
jae 0x14002bac1
imul rdx, rbp, 0x2c
mov ecx, r8d
mov dword [rsp + 0xd8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, ebp
nop dword [rax]
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002bab0
imul rax, r9, 0x110
lea edx, [rsi - 2]
add rdx, rax
mov rax, r10
shl rax, 4
add rax, r9
movzx ecx, word [rbx + rax*2 + 0x6d7c]
xor rcx, 0x7f0
shr rcx, 4
movzx eax, byte [rcx + r13 + 0x62800]
mov ecx, dword [rbx + rdx*4 + 0xbe4c]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r13 + 0x62800]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14002bb58
lea eax, [rdi + 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 0x14002bb58
mov edi, dword [rsp + 0xe8]
mov rsi, qword [rsp + 0x50]
xor ebp, ebp
mov r11, qword [rsp + 0xd0]
mov edx, 2
mov r13, rsi
mov dword [rsp + 0x34], edx
shl r13, 4
mov r9d, edx
mov qword [rsp + 0x58], r13
mov dword [rsp + 0x40], ebp
jmp 0x14002bb95
mov rsi, qword [rsp + 0x50]
mov eax, dword [r12]
mov rcx, r11
sub rcx, rax
movzx eax, byte [rcx - 1]
lea r12, [rcx - 1]
mov qword [rsp + 0x60], r12
cmp byte [r11], al
jne 0x14002c0fe
movzx eax, byte [rcx]
cmp byte [r11 + 1], al
jne 0x14002c0fe
mov r14d, edx
cmp r15d, 2
jae 0x14002bbef
mov r8d, 0x2e
lea rdx, str.xz_5.2_src_liblzma_commonmemcmplen.h
lea rcx, str.len___limit
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r11, qword [rsp + 0xd0]
jmp 0x14002bc43
cmp r15d, 0x7fffffff
jbe 0x14002bc1c
mov r8d, 0x2f
lea rdx, str.xz_5.2_src_liblzma_commonmemcmplen.h
lea rcx, str.limit___UINT32_MAX___2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r11, qword [rsp + 0xd0]
jmp 0x14002bc22
cmp r15d, 2
jbe 0x14002bc43
mov rdx, r12
lea rcx, [r11 + 2]
sub rdx, r11
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002bc43
inc r14d
inc rcx
cmp r14d, r15d
jb 0x14002bc30
mov r10d, dword [rsp + 0xd8]
lea r9d, [r14 + rdi]
mov edx, r14d
cmp r10d, r9d
jae 0x14002bc92
imul r8, r10, 0x2c
mov ecx, r9d
mov dword [rsp + 0xd8], r9d
add r8, 0x10ef4
add r8, rbx
sub ecx, r10d
nop dword [rax]
nop word [rax + rax]
mov dword [r8 + 0x2c], 0x40000000
lea r8, [r8 + 0x2c]
sub rcx, 1
jne 0x14002bc80
lea r10, [0x140000000]
test ebp, ebp
jne 0x14002bcca
mov eax, dword [rsp + 0x38]
add rax, r13
movzx ecx, word [rbx + rax*2 + 0x6d7c]
movzx eax, word [rbx + rsi*2 + 0x6d34]
xor rcx, 0x7f0
shr rcx, 4
movzx r8d, byte [rcx + r10 + 0x62800]
jmp 0x14002bcf2
movzx eax, word [rbx + rsi*2 + 0x6d34]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r10 + 0x62800]
cmp ebp, 1
jne 0x14002bd04
movzx eax, word [rbx + rsi*2 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + r10 + 0x62800]
add r8d, eax
jmp 0x14002bd4b
movzx ecx, word [rbx + rsi*2 + 0x6d64]
mov eax, 2
sub eax, ebp
shr rcx, 4
shr rax, 4
and eax, 0x7f
xor rcx, rax
movzx eax, word [rbx + rsi*2 + 0x6d4c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rcx + r10 + 0x62800]
movzx eax, byte [rax + r10 + 0x62800]
add r8d, eax
add r8d, ecx
mov r13d, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x38]
add r13d, r8d
imul r9, rcx, 0x110
nop
lea eax, [rdx - 2]
add rax, r9
lea ecx, [rdx + rdi]
mov r8d, dword [rbx + rax*4 + 0xbe4c]
imul rax, rcx, 0x2c
add r8d, r13d
cmp r8d, dword [rax + rbx + 0x10ef4]
jae 0x14002bda0
mov dword [rax + rbx + 0x10ef4], r8d
mov dword [rax + rbx + 0x10ef8], edi
mov dword [rax + rbx + 0x10efc], ebp
mov byte [rax + rbx + 0x10ee8], 0
dec edx
cmp edx, 2
jae 0x14002bd60
mov r9d, dword [rsp + 0x34]
lea edi, [r14 + 1]
mov esi, dword [rsp + 0xf0]
test ebp, ebp
cmove r9d, edi
add esi, edi
cmp dword [rsp + 0xf8], esi
mov dword [rsp + 0x34], r9d
cmovb esi, dword [rsp + 0xf8]
cmp edi, esi
jae 0x14002be22
cmp esi, 0x7fffffff
jbe 0x14002be06
mov r8d, 0x2f
lea rdx, str.xz_5.2_src_liblzma_commonmemcmplen.h
lea rcx, str.limit___UINT32_MAX___2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r9d, dword [rsp + 0x34]
mov r11, qword [rsp + 0xd0]
mov ecx, edi
mov rdx, r12
add rcx, r11
sub rdx, r11
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002be22
inc edi
inc rcx
cmp edi, esi
jb 0x14002be11
mov eax, 0xffffffff
mov r12d, edi
sub eax, r14d
add edi, eax
cmp edi, 2
jb 0x14002c0ed
mov edx, dword [rsp + 0x38]
lea ecx, [r14 - 2]
mov r8d, dword [rsp + 0xe0]
mov ebp, dword [rbx + 0xb90]
add r8d, r14d
imul rax, rdx, 0x110
mov r9d, r14d
and ebp, r8d
add rcx, rax
mov rax, qword [rsp + 0x60]
movzx r10d, byte [rax + r9]
lea eax, [r14 - 1]
movzx edx, byte [rax + r11]
xor r11d, r11d
mov r15d, dword [rbx + rcx*4 + 0xbe4c]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
mov eax, dword [rbx + 0xb98]
shr edx, cl
and eax, r8d
mov ecx, dword [rbx + 0xb94]
mov r8d, 0x100
shl eax, cl
mov rcx, qword [rsp + 0xd0]
add edx, eax
lea rsi, [rdx + rdx*2]
movzx edx, byte [r9 + rcx]
shl rsi, 9
lea r9, [0x140000000]
add rsi, rbx
add edx, r8d
nop word [rax + rax]
add r10d, r10d
mov eax, r8d
and eax, r10d
mov ecx, edx
add eax, r8d
shr ecx, 8
add ecx, eax
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
neg eax
movzx ecx, word [rsi + rcx*2 + 0xb9c]
shr rax, 4
and eax, 0x7f
shr rcx, 4
xor rcx, rax
movzx eax, byte [rcx + r9 + 0x62800]
add r11d, eax
mov eax, r10d
xor eax, edx
not eax
and r8d, eax
cmp edx, 0x10000
jb 0x14002bed0
mov esi, dword [rsp + 0xc0]
mov eax, 0x364e
cmp esi, 7
mov ecx, 0x367e
cmovl ecx, eax
mov eax, ebp
add rcx, rax
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx r9d, byte [rax + r9 + 0x62800]
add r9d, r11d
add r9d, r15d
add r9d, r13d
cmp esi, 7
jge 0x14002bf69
mov eax, 5
lea r8d, [rax + 3]
jmp 0x14002bf74
mov eax, 2
mov r8d, 5
mov r10d, dword [rsp + 0xe0]
lea r15, [0x140000000]
mov ebp, dword [rsp + 0xd8]
cmovl r8d, eax
inc r10d
mov ecx, r8d
shl rcx, 4
add r10d, r14d
and r10d, dword [rbx + 0xb90]
mov eax, r10d
add rcx, rax
movzx eax, word [rbx + rcx*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r15 + 0x62800]
movzx eax, word [rbx + r8*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r15 + 0x62800]
lea eax, [r9 + rcx]
mov r9d, dword [rsp + 0xe8]
add r11d, eax
add r9d, r12d
cmp ebp, r9d
jae 0x14002c022
imul rdx, rbp, 0x2c
mov ecx, r9d
mov dword [rsp + 0xd8], r9d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, ebp
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002c011
mov ebp, dword [rsp + 0x40]
lea edx, [rdi - 2]
mov edi, dword [rsp + 0xe8]
mov r13, qword [rsp + 0x58]
mov ecx, r10d
imul rax, rcx, 0x110
add rdx, rax
mov rax, r8
shl rax, 4
add rax, rcx
movzx ecx, word [rbx + rax*2 + 0x6d7c]
xor rcx, 0x7f0
shr rcx, 4
movzx eax, byte [rcx + r15 + 0x62800]
mov ecx, dword [rbx + rdx*4 + 0xbe4c]
add ecx, eax
movzx eax, word [rbx + r8*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r15 + 0x62800]
lea eax, [r11 + rcx]
mov r15d, dword [rsp + 0x48]
add edx, eax
mov r11, qword [rsp + 0xd0]
mov eax, r9d
mov r9d, dword [rsp + 0x34]
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14002c0e6
lea eax, [rdi + 1]
mov dword [rcx + rbx + 0x10ef4], edx
add eax, r14d
mov dword [rcx + rbx + 0x10efc], 0
mov dword [rcx + rbx + 0x10ef8], eax
mov word [rcx + rbx + 0x10ee8], 0x101
mov dword [rcx + rbx + 0x10eec], edi
mov dword [rcx + rbx + 0x10ef0], ebp
mov edx, 2
jmp 0x14002c105
mov edi, dword [rsp + 0xe8]
mov edx, 2
mov r13, qword [rsp + 0x58]
mov esi, dword [rsp + 0xc0]
mov r12, qword [rsp + 0xc8]
inc ebp
add r12, 4
mov dword [rsp + 0x40], ebp
mov qword [rsp + 0xc8], r12
cmp ebp, 4
jb 0x14002bb90
mov edx, dword [rsp + 0x44]
cmp edx, r15d
jbe 0x14002c15a
xor ecx, ecx
mov edx, r15d
cmp r15d, dword [rbx + 0x2f4]
jbe 0x14002c14c
nop
inc ecx
cmp r15d, dword [rbx + rcx*8 + 0x2f4]
ja 0x14002c140
mov dword [rbx + rcx*8 + 0x2f4], r15d
inc ecx
mov dword [rsp + 0x4c], ecx
cmp edx, r9d
jb 0x14002c66a
mov r10d, dword [rsp + 0xd8]
lea r15, [0x140000000]
movsxd rax, esi
lea r8d, [rdx + rdi]
movzx ecx, word [rbx + rax*2 + 0x6d1c]
shr rcx, 4
movzx r11d, byte [rcx + r15 + 0x62800]
add r11d, dword [rsp + 0x3c]
mov dword [rsp + 0x30], r11d
cmp r10d, r8d
jae 0x14002c1d1
imul rdx, r10, 0x2c
mov ecx, r8d
mov dword [rsp + 0xd8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r10d
nop dword [rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002c1c0
xor r12d, r12d
cmp r9d, dword [rbx + 0x2f4]
jbe 0x14002c1ed
nop dword [rax]
inc r12d
cmp r9d, dword [rbx + r12*8 + 0x2f4]
ja 0x14002c1e0
mov r13d, dword [rsp + 0xe0]
lea r14d, [r9 + 1]
mov eax, dword [rsp + 0x38]
mov ebp, dword [rsp + 0xe8]
imul rdi, rax, 0x110
dec r13d
lea esi, [rbp - 1]
mov qword [rsp + 0x60], rdi
mov dword [rsp + 0xe0], r13d
mov dword [rsp + 0x3c], esi
mov r10d, dword [rbx + r12*8 + 0x2f8]
lea eax, [r14 - 1]
mov dword [rsp + 0x44], r10d
lea r9d, [rax - 2]
cmp eax, 6
jb 0x14002c242
mov r9d, 3
mov rdx, r10
cmp r10d, 0x80
jae 0x14002c262
mov eax, r9d
shl rax, 7
add rax, rdx
mov r8d, dword [rbx + rax*4 + 0x10690]
jmp 0x14002c2d6
mov rax, rdx
cmp r10d, 0x80000
jae 0x14002c285
shr rax, 6
movzx eax, byte [rax + r15 + 0x62880]
lea r8, [rax*4 + 0x102c0]
jmp 0x14002c2ba
cmp r10d, 0x80000000
jae 0x14002c2a5
shr rax, 0x12
movzx eax, byte [rax + r15 + 0x62880]
lea r8, [rax*4 + 0x10320]
jmp 0x14002c2ba
shr rax, 0x1e
movzx eax, byte [rax + r15 + 0x62880]
lea r8, [rax*4 + 0x10380]
mov rcx, rdx
mov eax, r9d
and ecx, 0xf
shl rax, 8
add rax, r8
mov r8d, dword [rbx + rcx*4 + 0x10e98]
add r8d, dword [rax + rbx]
lea ecx, [r14 - 3]
add rcx, rdi
mov r15d, dword [rbx + rcx*4 + 0x7604]
lea ecx, [rsi + r14]
imul rcx, rcx, 0x2c
add r15d, r8d
add rcx, rbx
add r15d, r11d
cmp r15d, dword [rcx + 0x10ef4]
jae 0x14002c31d
lea eax, [r10 + 4]
mov dword [rcx + 0x10ef4], r15d
mov dword [rcx + 0x10efc], eax
mov dword [rcx + 0x10ef8], ebp
mov byte [rcx + 0x10ee8], 0
lea eax, [r14 - 1]
cmp eax, dword [rbx + r12*8 + 0x2f4]
jne 0x14002c65b
mov r11, qword [rsp + 0xd0]
mov edi, r14d
mov esi, dword [rsp + 0xf0]
mov rbp, r11
add esi, r14d
sub rbp, rdx
cmp dword [rsp + 0xf8], esi
cmovb esi, dword [rsp + 0xf8]
cmp r14d, esi
jae 0x14002c3a6
cmp esi, 0x7fffffff
jbe 0x14002c388
mov r8d, 0x2f
lea rdx, str.xz_5.2_src_liblzma_commonmemcmplen.h
lea rcx, str.limit___UINT32_MAX___2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r11, qword [rsp + 0xd0]
mov ecx, r14d
lea rdx, [rbp - 1]
add rcx, r11
sub rdx, r11
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002c3a6
inc edi
inc rcx
cmp edi, esi
jb 0x14002c395
mov dword [rsp + 0xc8], edi
sub edi, r14d
cmp edi, 2
jb 0x14002c63c
lea eax, [r14 - 1]
mov ecx, 8
movzx r10d, byte [rax + rbp - 1]
lea r8d, [r14 + r13]
sub cl, byte [rbx + 0xb94]
mov r13d, dword [rbx + 0xb90]
mov r9d, eax
and r13d, r8d
lea eax, [r14 - 2]
movzx edx, byte [rax + r11]
xor r11d, r11d
mov eax, dword [rbx + 0xb98]
shr edx, cl
and eax, r8d
mov ecx, dword [rbx + 0xb94]
mov r8d, 0x100
shl eax, cl
mov rcx, qword [rsp + 0xd0]
add edx, eax
lea rsi, [rdx + rdx*2]
movzx edx, byte [rcx + r9]
shl rsi, 9
lea r9, [0x140000000]
add rsi, rbx
add edx, r8d
nop dword [rax + rax]
add r10d, r10d
mov eax, r8d
and eax, r10d
mov ecx, edx
add eax, r8d
shr ecx, 8
add ecx, eax
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
neg eax
movzx ecx, word [rsi + rcx*2 + 0xb9c]
shr rax, 4
and eax, 0x7f
shr rcx, 4
xor rcx, rax
movzx eax, byte [rcx + r9 + 0x62800]
add r11d, eax
mov eax, r10d
xor eax, edx
not eax
and r8d, eax
cmp edx, 0x10000
jb 0x14002c430
cmp dword [rsp + 0xc0], 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 + 0x62800]
add edx, r11d
add edx, r15d
cmp dword [rsp + 0xc0], 7
jge 0x14002c4c9
mov eax, 7
lea ecx, [rax - 3]
jmp 0x14002c4d3
mov eax, 4
mov ecx, 1
mov ebp, dword [rsp + 0xe8]
lea r8d, [r13 + 1]
mov esi, dword [rsp + 0xd8]
cmovl eax, ecx
and r8d, dword [rbx + 0xb90]
mov ecx, eax
mov r10d, eax
shl rcx, 4
mov eax, r8d
add rcx, rax
movzx eax, word [rbx + rcx*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r9 + 0x62800]
movzx eax, word [rbx + r10*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r9 + 0x62800]
lea eax, [rdx + rcx]
mov r9d, dword [rsp + 0xc8]
add r11d, eax
add r9d, ebp
cmp esi, r9d
jae 0x14002c581
imul rdx, rsi, 0x2c
mov ecx, r9d
mov dword [rsp + 0xd8], r9d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, esi
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002c570
mov r13d, dword [rsp + 0xe0]
lea edx, [rdi - 2]
mov ecx, r8d
mov r8, r10
imul rax, rcx, 0x110
add rdx, rax
mov rax, r10
shl rax, 4
lea r10, [0x140000000]
add rax, rcx
movzx ecx, word [rbx + rax*2 + 0x6d7c]
xor rcx, 0x7f0
shr rcx, 4
movzx eax, byte [rcx + r10 + 0x62800]
mov ecx, dword [rbx + rdx*4 + 0xbe4c]
add ecx, eax
movzx eax, word [rbx + r8*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r10 + 0x62800]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r9d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14002c643
lea eax, [r14 + rbp]
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], eax
mov eax, dword [rsp + 0x44]
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
jmp 0x14002c643
mov ebp, dword [rsp + 0xe8]
inc r12d
cmp r12d, dword [rsp + 0x4c]
je 0x14002c66a
mov r11d, dword [rsp + 0x30]
mov rdi, qword [rsp + 0x60]
mov esi, dword [rsp + 0x3c]
inc r14d
lea r15, [0x140000000]
jmp 0x14002c222
mov eax, dword [rsp + 0xd8]
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret