Function at 0x14002d790
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 r9d, dword [rsp + 0xf8]
mov ebp, 8
mov eax, dword [rcx + 0xb84]
mov r12, r8
imul r11, r9, 0x2c
mov dword [rsp + 0x54], eax
mov r14, rdx
mov eax, dword [rcx + 0xb88]
lea r8d, [rbp + 3]
add r11, rcx
mov dword [rsp + 0x4c], eax
mov rbx, rcx
lea edx, [rbp + 2]
mov esi, r9d
lea r15d, [rbp - 1]
movzx edi, byte [r11 + 0x10ee8]
mov r10d, dword [r11 + 0x10ef8]
test dil, dil
je 0x14002d877
dec r10d
cmp byte [r11 + 0x10ee9], 0
je 0x14002d84b
mov eax, dword [r11 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r11 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x14002d83f
cmp eax, r15d
mov r13d, r8d
cmovl r13d, ebp
jmp 0x14002d85a
cmp eax, r15d
mov r13d, edx
cmovl r13d, r15d
jmp 0x14002d85a
mov eax, r10d
imul rcx, rax, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
cmp r13d, 3
jg 0x14002d865
xor r13d, r13d
jmp 0x14002d883
cmp r13d, 9
jg 0x14002d871
sub r13d, 3
jmp 0x14002d883
sub r13d, 6
jmp 0x14002d883
imul rcx, r10, 0x2c
mov r13d, dword [rcx + rbx + 0x10ee4]
mov ecx, 1
lea eax, [r9 - 1]
lea r15d, [rcx + 3]
cmp r10d, eax
jne 0x14002d8ee
cmp dword [r11 + 0x10efc], 0
jne 0x14002d8b9
cmp r13d, 7
mov eax, 9
cmovl r8d, eax
mov r13d, r8d
mov dword [rsp + 0x30], r8d
jmp 0x14002da0b
cmp r13d, 3
jg 0x14002d8cc
xor r13d, r13d
mov dword [rsp + 0x30], r13d
jmp 0x14002da0b
cmp r13d, 9
jg 0x14002d8e0
sub r13d, 3
mov dword [rsp + 0x30], r13d
jmp 0x14002da0b
sub r13d, 6
mov dword [rsp + 0x30], r13d
jmp 0x14002da0b
test dil, dil
je 0x14002d92a
cmp byte [r11 + 0x10ee9], 0
je 0x14002d92a
mov edi, dword [r11 + 0x10eec]
mov r9d, dword [r11 + 0x10ef0]
imul r10, rdi, 0xb
cmp r13d, 7
cmovl r8d, ebp
mov dword [rsp + 0x30], r8d
mov r13d, r8d
cmp r9d, r15d
jae 0x14002d9e0
jmp 0x14002d951
mov r9d, dword [r11 + 0x10efc]
cmp r9d, r15d
jae 0x14002d9c6
cmp r13d, 7
mov edi, r10d
cmovl r8d, ebp
mov r13d, r8d
mov dword [rsp + 0x30], r8d
imul r10, rdi, 0xb
mov eax, r9d
mov r8d, ecx
add rax, r10
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [r14], eax
cmp r9d, ecx
jb 0x14002d992
nop dword [rax]
lea ecx, [r8 - 1]
mov edx, r8d
add rcx, r10
inc r8d
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r14 + rdx*4], eax
cmp r8d, r9d
jbe 0x14002d970
cmp r8d, r15d
jae 0x14002da0b
imul r9, rdi, 0x2c
mov eax, r8d
mov edx, r15d
sub r9, r14
add r9, rbx
sub edx, r8d
lea rcx, [r14 + rax*4]
nop dword [rax]
mov eax, dword [r9 + rcx + 0x10f00]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x14002d9b0
jmp 0x14002da0b
cmp r13d, 7
mov eax, 7
cmovl edx, eax
mov eax, r10d
imul r10, rax, 0xb
mov r13d, edx
mov dword [rsp + 0x30], edx
lea eax, [r9 - 4]
mov dword [r14], eax
mov eax, dword [rbx + r10*4 + 0x10f00]
mov dword [r14 + 4], eax
mov eax, dword [rbx + r10*4 + 0x10f04]
mov dword [r14 + 8], eax
mov eax, dword [rbx + r10*4 + 0x10f08]
mov dword [r14 + 0xc], eax
mov dword [r11 + 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 edx, dword [rbx + 0xb90]
and edx, dword [rsp + 0xf0]
mov eax, dword [r14]
movzx ebp, byte [r12]
sub rcx, rax
movzx r8d, byte [r12 - 1]
mov r15d, dword [r11 + 0x10ef4]
mov qword [rsp + 0x70], rdx
movzx r14d, byte [rcx - 1]
movsxd rcx, r13d
mov rax, rcx
mov qword [rsp + 0x68], rcx
shl rax, 4
mov rcx, rbx
add rax, rdx
mov dword [rsp + 0x28], ebp
mov edx, dword [rsp + 0xf0]
cmp r13d, 7
mov qword [rsp + 0x58], rax
setge r9b
mov dword [rsp + 0x20], r14d
movzx esi, word [rbx + rax*2 + 0x6b9c]
call fcn.14002cfe0
mov r11d, dword [rsp + 0xf8]
lea r8, [0x140000000]
add eax, r15d
mov ecx, esi
shr rcx, 4
xor r9b, r9b
lea r12d, [r11 + 1]
movzx edi, byte [rcx + r8 + 0x44160]
mov rcx, qword [rsp + 0x58]
add edi, eax
mov eax, r12d
imul rdx, rax, 0x2c
add rdx, rbx
mov r10d, dword [rdx + 0x10ef4]
cmp edi, r10d
jae 0x14002db23
mov dword [rdx + 0x10ef4], edi
mov r10d, edi
mov dword [rdx + 0x10ef8], r11d
mov byte [rdx + 0x10ee8], r9b
mov r9b, 1
mov dword [rdx + 0x10efc], 0xffffffff
movzx esi, word [rbx + rcx*2 + 0x6b9c]
movzx eax, si
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + r8 + 0x44160]
add eax, r15d
movsxd r8, r13d
mov dword [rsp + 0x50], eax
lea r15, [0x140000000]
lea rax, [rbx + 0x6d1c]
lea rax, [rax + r8*2]
mov qword [rsp + 0x60], rax
movzx eax, word [rax]
xor rax, 0x7f0
shr rax, 4
movzx esi, byte [rax + r15 + 0x44160]
add esi, dword [rsp + 0x50]
mov dword [rsp + 0x40], esi
cmp r14b, bpl
jne 0x14002dbe7
cmp dword [rdx + 0x10ef8], r11d
jae 0x14002db8f
cmp dword [rdx + 0x10efc], 0
je 0x14002dbe7
movzx eax, word [rbx + rcx*2 + 0x6d7c]
shr rax, 4
movzx ecx, byte [rax + r15 + 0x44160]
movzx eax, word [rbx + r8*2 + 0x6d34]
shr rax, 4
movzx r8d, byte [rax + r15 + 0x44160]
lea eax, [rsi + rcx]
add r8d, eax
cmp r8d, r10d
ja 0x14002dbe7
mov dword [rdx + 0x10ef4], r8d
mov r9b, 1
mov dword [rdx + 0x10ef8], r11d
mov dword [rdx + 0x10efc], 0
mov byte [rdx + 0x10ee8], 0
mov r8d, dword [rsp + 0x108]
cmp r8d, 2
jb 0x14002e89c
mov r10d, dword [rsp + 0x100]
cmp r8d, r10d
mov r15d, r10d
cmovb r15d, r8d
mov dword [rsp + 0x38], r15d
test r9b, r9b
jne 0x14002ddaa
cmp r14b, bpl
je 0x14002ddaa
mov rcx, qword [rsp + 0xe0]
lea r9d, [r10 + 1]
mov rax, qword [rsp + 0xd8]
mov rdx, rcx
mov eax, dword [rax]
sub rdx, rax
dec rdx
cmp r8d, r9d
cmovb r9d, r8d
mov r8d, 1
call fcn.14002b770
lea r8d, [rax - 1]
cmp r8d, 2
jb 0x14002ddaf
cmp r13d, 3
jg 0x14002dc6b
xor ecx, ecx
jmp 0x14002dc79
lea ecx, [r13 - 3]
cmp r13d, 9
jle 0x14002dc79
lea ecx, [r13 - 6]
mov r10d, dword [rsp + 0xf0]
lea rdx, [0x140000000]
mov eax, dword [rbx + 0xb90]
inc r10d
mov r13d, dword [rsp + 0xf8]
and r10, rax
movsxd r11, ecx
mov rbp, r11
shl rbp, 4
add rbp, r10
lea r9d, [r13 + 1]
movzx eax, word [rbx + r11*2 + 0x6d1c]
add r9d, r8d
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + rdx + 0x44160]
movzx eax, word [rbx + rbp*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx esi, byte [rax + rdx + 0x44160]
lea eax, [rdi + rcx]
mov edi, dword [rsp + 0xe8]
add esi, eax
cmp edi, r9d
jae 0x14002dd22
imul rcx, rdi, 0x2c
lea rdx, [rbx + 0x10ef4]
mov dword [rsp + 0xe8], r9d
add rdx, rcx
mov ecx, r9d
sub ecx, edi
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002dd11
imul rax, r10, 0x110
lea rdi, [0x140000000]
lea ecx, [r8 - 2]
add rcx, rax
movzx eax, word [rbx + rbp*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + rdi + 0x44160]
add ecx, eax
movzx eax, word [rbx + r11*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rdi + 0x44160]
lea eax, [rsi + rcx]
add edx, eax
mov eax, r9d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14002ddbe
mov dword [rcx + rbx + 0x10ef4], edx
mov dword [rcx + rbx + 0x10ef8], r12d
mov dword [rcx + rbx + 0x10efc], 0
mov word [rcx + rbx + 0x10ee8], 1
jmp 0x14002ddbe
mov r13d, r11d
jmp 0x14002ddb7
mov r13d, dword [rsp + 0xf8]
lea rdi, [0x140000000]
mov rax, qword [rsp + 0xd8]
mov edx, 2
mov r9, qword [rsp + 0xe0]
xor r14d, r14d
mov ebp, edx
mov dword [rsp + 0x3c], r14d
nop dword [rax]
mov eax, dword [rax]
mov rcx, r9
sub rcx, rax
movzx eax, byte [rcx - 1]
lea r12, [rcx - 1]
mov qword [rsp + 0x78], r12
cmp byte [r9], al
jne 0x14002e339
movzx eax, byte [rcx]
cmp byte [r9 + 1], al
jne 0x14002e339
mov dword [rsp + 0x34], edx
mov esi, edx
cmp r15d, 2
jae 0x14002de33
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]
jmp 0x14002de86
cmp r15d, 0x7fffffff
jbe 0x14002de60
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 r9, qword [rsp + 0xe0]
jmp 0x14002de66
cmp r15d, 2
jbe 0x14002de86
mov rdx, r12
lea rcx, [r9 + 2]
sub rdx, r9
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002de82
inc esi
inc rcx
cmp esi, r15d
jb 0x14002de70
mov dword [rsp + 0x34], esi
mov r10d, dword [rsp + 0xe8]
lea r9d, [rsi + r13]
mov dword [rsp + 0x48], r9d
mov edx, esi
cmp r10d, r9d
jae 0x14002ded2
imul r8, r10, 0x2c
mov ecx, r9d
mov dword [rsp + 0xe8], r9d
add r8, 0x10ef4
add r8, rbx
sub ecx, r10d
nop word [rax + rax]
mov dword [r8 + 0x2c], 0x40000000
lea r8, [r8 + 0x2c]
sub rcx, 1
jne 0x14002dec0
test r14d, r14d
jne 0x14002df18
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + rdi + 0x44160]
mov rax, qword [rsp + 0x68]
movzx eax, word [rbx + rax*2 + 0x6d34]
shr rax, 4
movzx eax, byte [rax + rdi + 0x44160]
add r8d, eax
jmp 0x14002dfa1
mov r9, qword [rsp + 0x68]
movzx eax, word [rbx + r9*2 + 0x6d34]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + rdi + 0x44160]
cmp r14d, 1
jne 0x14002df59
movzx eax, word [rbx + r9*2 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + rdi + 0x44160]
add r8d, eax
jmp 0x14002dfa1
movzx ecx, word [rbx + r9*2 + 0x6d64]
mov eax, 2
sub eax, r14d
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 + rdi + 0x44160]
movzx eax, byte [rax + rdi + 0x44160]
add r8d, eax
add r8d, ecx
mov esi, dword [rsp + 0x40]
add esi, r8d
imul r15, qword [rsp + 0x70], 0x110
mov dword [rsp + 0x44], esi
nop word [rax + rax]
lea ecx, [rdx - 2]
add rcx, r15
mov r8d, dword [rbx + rcx*4 + 0xbe4c]
lea ecx, [rdx + r13]
imul rax, rcx, 0x2c
add r8d, esi
cmp r8d, dword [rax + rbx + 0x10ef4]
jae 0x14002e003
mov dword [rax + rbx + 0x10ef4], r8d
mov dword [rax + rbx + 0x10ef8], r13d
mov dword [rax + rbx + 0x10efc], r14d
mov byte [rax + rbx + 0x10ee8], 0
dec edx
cmp edx, 2
jae 0x14002dfc0
mov esi, dword [rsp + 0x34]
test r14d, r14d
lea edi, [rsi + 1]
cmove ebp, edi
mov dword [rsp + 0x34], ebp
mov ebp, dword [rsp + 0x100]
add ebp, edi
cmp dword [rsp + 0x108], ebp
cmovb ebp, dword [rsp + 0x108]
cmp edi, ebp
jae 0x14002e083
cmp ebp, 0x7fffffff
jbe 0x14002e059
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 r9, qword [rsp + 0xe0]
mov rdx, r12
mov ecx, edi
add rcx, r9
sub rdx, r9
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002e08b
inc edi
inc rcx
cmp edi, ebp
jb 0x14002e070
jmp 0x14002e08b
mov r9, qword [rsp + 0xe0]
mov eax, 0xffffffff
mov r12d, edi
sub eax, esi
add edi, eax
cmp edi, 2
jb 0x14002e324
mov rax, qword [rsp + 0x78]
lea ecx, [rsi - 2]
mov r14d, dword [rbx + 0xb90]
add rcx, r15
mov r13d, dword [rsp + 0xf0]
mov r8, rsi
add r13d, esi
mov r11d, 0x100
movzx r10d, byte [rax + rsi]
and r14d, r13d
mov r15d, dword [rbx + rcx*4 + 0xbe4c]
lea eax, [rsi - 1]
movzx edx, byte [rax + r9]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
xor esi, esi
mov eax, dword [rbx + 0xb98]
movzx r9d, byte [r8 + r9]
and eax, r13d
shr edx, cl
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
lea rbx, [0x140000000]
add r9d, r11d
nop word [rax + rax]
mov ecx, r9d
add r10d, r10d
shr ecx, 8
mov eax, r11d
and eax, r10d
add eax, r11d
add ecx, eax
movzx edx, word [rbp + rcx*2 + 0xb9c]
mov ecx, r9d
shr ecx, 7
add r9d, r9d
and ecx, 1
shr rdx, 4
neg ecx
shr rcx, 4
and ecx, 0x7f
xor rdx, rcx
movzx eax, byte [rdx + rbx + 0x44160]
add esi, eax
mov eax, r10d
xor eax, r9d
not eax
and r11d, eax
cmp r9d, 0x10000
jb 0x14002e120
cmp dword [rsp + 0x30], 7
lea r11, [0x140000000]
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 + r11 + 0x44160]
add edx, esi
add edx, r15d
add edx, dword [rsp + 0x44]
cmp dword [rsp + 0x30], 7
jge 0x14002e1c8
mov eax, 8
lea ecx, [rax - 3]
jmp 0x14002e1d2
mov eax, 5
mov ecx, 2
mov ebp, dword [rsp + 0xe8]
lea r9d, [r13 + 1]
mov r13d, dword [rsp + 0xf8]
cmovl eax, ecx
mov r10d, eax
mov eax, dword [rbx + 0xb90]
mov esi, r10d
and r9, rax
shl rsi, 4
add rsi, r9
lea r8d, [r12 + r13]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r11 + 0x44160]
movzx eax, word [rbx + r10*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r11 + 0x44160]
lea eax, [rdx + rcx]
add r11d, eax
cmp ebp, r8d
jae 0x14002e271
imul rcx, rbp, 0x2c
lea rdx, [rbx + 0x10ef4]
mov dword [rsp + 0xe8], r8d
add rdx, rcx
mov ecx, r8d
sub ecx, ebp
nop
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002e260
mov r14d, dword [rsp + 0x3c]
lea ecx, [rdi - 2]
mov r15d, dword [rsp + 0x38]
lea rdi, [0x140000000]
mov ebp, dword [rsp + 0x34]
imul rax, r9, 0x110
mov r9, qword [rsp + 0xe0]
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 + rdi + 0x44160]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rdi + 0x44160]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14002e334
mov eax, dword [rsp + 0x48]
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], r13d
mov dword [rcx + rbx + 0x10ef0], r14d
jmp 0x14002e334
mov r15d, dword [rsp + 0x38]
lea rdi, [0x140000000]
mov ebp, dword [rsp + 0x34]
mov edx, 2
mov rax, qword [rsp + 0xd8]
inc r14d
add rax, 4
mov dword [rsp + 0x3c], r14d
mov qword [rsp + 0xd8], rax
cmp r14d, 4
jb 0x14002dde0
mov ecx, dword [rsp + 0x4c]
cmp ecx, r15d
jbe 0x14002e39a
xor edx, edx
mov ecx, r15d
cmp r15d, dword [rbx + 0x2f4]
jbe 0x14002e38c
nop word [rax + rax]
inc edx
cmp r15d, dword [rbx + rdx*8 + 0x2f4]
ja 0x14002e380
mov dword [rbx + rdx*8 + 0x2f4], r15d
inc edx
mov dword [rsp + 0x54], edx
cmp ecx, ebp
jb 0x14002e89c
mov rax, qword [rsp + 0x60]
lea r8d, [rcx + r13]
mov r9d, dword [rsp + 0xe8]
movzx eax, word [rax]
shr rax, 4
movzx edi, byte [rax + rdi + 0x44160]
add edi, dword [rsp + 0x50]
mov dword [rsp + 0x44], edi
cmp r9d, r8d
jae 0x14002e401
imul rdx, r9, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r9d
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002e3f0
xor r13d, r13d
cmp ebp, dword [rbx + 0x2f4]
jbe 0x14002e41d
nop dword [rax]
inc r13d
cmp ebp, dword [rbx + r13*8 + 0x2f4]
ja 0x14002e410
imul rsi, qword [rsp + 0x70], 0x110
mov ecx, dword [rsp + 0xf8]
lea r15d, [rbp + 1]
mov eax, ecx
mov qword [rsp + 0x60], rsi
sub eax, dword [rsp + 0x100]
mov dword [rsp + 0x48], eax
lea r14d, [rcx - 1]
mov dword [rsp + 0x40], r14d
nop dword [rax]
mov r8d, dword [rbx + r13*8 + 0x2f8]
lea ebp, [r15 - 1]
mov dword [rsp + 0xd8], r8d
lea r9d, [rbp - 2]
cmp ebp, 6
jb 0x14002e473
mov r9d, 3
lea eax, [r15 - 3]
mov rdx, r8
lea r10d, [rbp - 2]
cmovae r10d, eax
cmp r8d, 0x80
jae 0x14002e49e
mov eax, r9d
shl rax, 7
add rax, rdx
mov ecx, dword [rbx + rax*4 + 0x10690]
jmp 0x14002e517
lea rcx, [0x140000000]
mov rax, rdx
cmp r8d, 0x80000
jae 0x14002e4c7
shr rax, 6
movzx eax, byte [rax + rcx + 0x441e0]
lea r8, [rax*4 + 0x102c0]
jmp 0x14002e4fa
cmp r8d, 0x80000000
jae 0x14002e4e6
shr rax, 0x12
movzx eax, byte [rax + rcx + 0x441e0]
lea r8, [rax*4 + 0x10320]
jmp 0x14002e4fa
shr rax, 0x1e
movzx eax, byte [rax + rcx + 0x441e0]
lea r8, [rax*4 + 0x10380]
mov rcx, rdx
mov eax, r9d
and ecx, 0xf
shl rax, 8
add rax, r8
mov r8d, edx
mov ecx, dword [rbx + rcx*4 + 0x10e98]
add ecx, dword [rax + rbx]
mov eax, r10d
add rax, rsi
mov r12d, dword [rbx + rax*4 + 0x7604]
add r12d, ecx
lea ecx, [r14 + r15]
imul rcx, rcx, 0x2c
add r12d, edi
add rcx, rbx
cmp r12d, dword [rcx + 0x10ef4]
jae 0x14002e564
mov eax, dword [rsp + 0xf8]
mov dword [rcx + 0x10ef8], eax
lea eax, [r8 + 4]
mov dword [rcx + 0x10efc], eax
mov dword [rcx + 0x10ef4], r12d
mov byte [rcx + 0x10ee8], 0
cmp ebp, dword [rbx + r13*8 + 0x2f4]
jne 0x14002e894
mov r11, qword [rsp + 0xe0]
mov edi, r15d
mov eax, dword [rsp + 0x100]
mov r14, r11
add eax, r15d
sub r14, rdx
cmp dword [rsp + 0x108], eax
mov esi, eax
cmovb esi, dword [rsp + 0x108]
cmp r15d, esi
jae 0x14002e5f1
cmp esi, 0x7fffffff
jbe 0x14002e5cd
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 + 0xe0]
mov ecx, r15d
lea rdx, [r14 - 1]
add rcx, r11
sub rdx, r11
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14002e5f1
inc edi
inc rcx
cmp edi, esi
jb 0x14002e5e0
mov eax, 0xffffffff
mov dword [rsp + 0x4c], edi
sub eax, ebp
add edi, eax
cmp edi, 2
jb 0x14002e87c
movzx r10d, byte [rbp + r14 - 1]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
lea r14, [0x140000000]
mov eax, dword [rbx + 0xb90]
xor esi, esi
mov r8d, dword [rsp + 0xf0]
mov r9d, ebp
dec r8d
add r8d, r15d
and eax, r8d
mov dword [rsp + 0xd0], eax
lea eax, [rbp - 1]
movzx edx, byte [rax + r11]
mov r11d, 0x100
mov eax, dword [rbx + 0xb98]
shr edx, cl
and eax, r8d
mov ecx, dword [rbx + 0xb94]
shl eax, cl
mov rcx, qword [rsp + 0xe0]
add edx, eax
movzx r8d, byte [r9 + rcx]
lea rbp, [rdx + rdx*2]
shl rbp, 9
add rbp, rbx
add r8d, r11d
mov ecx, r8d
add r10d, r10d
shr ecx, 8
mov eax, r11d
and eax, r10d
add eax, r11d
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 + r14 + 0x44160]
add esi, eax
mov eax, r10d
xor eax, r8d
not eax
and r11d, eax
cmp r8d, 0x10000
jb 0x14002e680
cmp dword [rsp + 0x30], 7
mov eax, 0x363e
mov r8d, dword [rsp + 0xd0]
mov ecx, 0x366e
cmovl ecx, eax
add rcx, r8
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + r14 + 0x44160]
add edx, esi
add edx, r12d
cmp dword [rsp + 0x30], 7
jge 0x14002e71b
mov eax, 7
lea ecx, [rax - 3]
jmp 0x14002e725
mov eax, 4
mov ecx, 1
mov ebp, dword [rsp + 0xf8]
lea r9d, [r8 + 1]
mov r8d, dword [rsp + 0x4c]
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 + r14 + 0x44160]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r14 + 0x44160]
lea eax, [rdx + rcx]
mov r14d, dword [rsp + 0xe8]
add r11d, eax
cmp r14d, r8d
jae 0x14002e7d1
imul rdx, r14, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r14d
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x14002e7c0
imul rax, r9, 0x110
lea rdx, [0x140000000]
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 + rdx + 0x44160]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rdx + 0x44160]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14002e87c
mov eax, dword [rsp + 0x100]
add eax, r15d
mov dword [rcx + rbx + 0x10ef4], edx
add eax, dword [rsp + 0x48]
mov dword [rcx + rbx + 0x10ef8], eax
mov eax, dword [rsp + 0xd8]
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 r13d
cmp r13d, dword [rsp + 0x54]
je 0x14002e89c
mov edi, dword [rsp + 0x44]
mov rsi, qword [rsp + 0x60]
mov r14d, dword [rsp + 0x40]
inc r15d
jmp 0x14002e450
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