Function at 0x100eb240
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
mov eax, dword [rcx + 0x10ee0]
mov qword [rsp + 0x148], rdx
mov r14, rcx
mov edx, dword [rdx + 0x1c]
mov qword [rsp + 0x150], r8
mov qword [rsp + 0x158], r9
cmp dword [rcx + 0x10edc], eax
je 0x100eb2d7
test edx, edx
je 0x100ecdd2
mov edx, eax
mov rdi, qword [rsp + 0x150]
lea rcx, [rdx + rdx*4]
lea rdx, [rdx + rcx*2]
lea rcx, [r14 + rdx*4]
mov edx, dword [rcx + 0x10ef8]
mov r8d, edx
sub r8d, eax
mov rax, qword [rsp + 0x158]
mov dword [rax], r8d
mov eax, dword [rcx + 0x10efc]
mov dword [r14 + 0x10ee0], edx
mov dword [rdi], eax
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 0x148]
mov r13d, dword [rax + 0x60]
test edx, edx
jne 0x100eb323
cmp dword [rcx + 0x10e94], 0x7f
ja 0x100ed06c
cmp dword [r14 + 0x10ed8], 0xf
ja 0x100ecf91
mov rcx, qword [rsp + 0x148]
lea rdx, [rsp + 0xdc]
lea r8, [r14 + 0x2f4]
call sym.lzma_mf_find
mov r12d, eax
jmp 0x100eb341
cmp edx, 1
jne 0x100ecdf8
mov eax, dword [r14 + 0xb84]
mov r12d, dword [r14 + 0xb88]
mov dword [rsp + 0xdc], eax
mov rdi, qword [rsp + 0x148]
mov rax, qword [rsp + 0x148]
mov esi, dword [rdi + 0x24]
mov eax, dword [rax + 0x18]
lea r10d, [rsi + 1]
mov dword [rsp + 0x30], esi
sub r10d, eax
cmp r10d, 0x110
ja 0x100ecbdc
cmp r10d, 1
jbe 0x100ed167
mov r8d, eax
mov rax, qword [rsp + 0x148]
mov r11d, r10d
xor ecx, ecx
mov dword [rsp + 0x30], r10d
xor r15d, r15d
xor ebp, ebp
add r8, qword [rax]
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x58], rax
movzx ebx, byte [r8 - 1]
lea rsi, [r8 - 1]
mov r10, rax
mov edx, dword [r14 + rcx*4 + 0x2e4]
mov edi, ecx
not rdx
add rdx, rsi
cmp bl, byte [rdx]
jne 0x100eb3d0
movzx eax, byte [rdx + 1]
cmp byte [r8], al
je 0x100ecb84
mov dword [r10 + rcx*4], 0
add rcx, 1
cmp rcx, 4
jne 0x100eb3af
mov edi, dword [rsp + rbp*4 + 0xe0]
cmp edi, r13d
jae 0x100ed271
cmp r12d, r13d
jae 0x100ed410
mov eax, dword [r14 + 0x2e4]
cmp r12d, 1
setbe dl
mov r10, rax
not rax
movzx r13d, byte [r8 + rax - 1]
cmp bl, r13b
setne al
test dl, al
je 0x100eb428
cmp edi, 1
jbe 0x100ed167
mov r11d, dword [r14 + 0x2e0]
movzx eax, bl
mov rcx, r14
mov esi, dword [rsp + 0x160]
and esi, dword [r14 + 0xb90]
mov edx, dword [rsp + 0x160]
mov dword [rsp + 0x40], r10d
mov r15, r11
mov qword [rsp + 0x38], rsi
shl r15, 4
mov dword [r14 + 0x10ee4], r11d
movzx r8d, byte [r8 - 2]
add r15, rsi
mov qword [rsp + 0x30], r11
movzx esi, word [r14 + r15*2 + 0x6b9c]
mov dword [rsp + 0x28], eax
movzx eax, r13b
mov dword [rsp + 0x20], eax
shr si, 4
cmp r11d, 6
seta r9b
movzx r9d, r9b
call sym.get_literal_price
mov rbp, qword [0x10589e60]
mov rdx, rsi
mov r11, qword [rsp + 0x30]
and edx, 0xfff
xor esi, 0x7f
mov dword [r14 + 0x10f28], 0xffffffff
mov r10d, dword [rsp + 0x40]
movzx ecx, byte [rbp + rdx]
and esi, 0xfff
mov byte [r14 + 0x10f14], 0
mov r8d, 0xffffffff
movzx edx, byte [rbp + rsi]
lea rsi, [r14 + r11*2]
add ecx, eax
mov dword [r14 + 0x10f20], ecx
movzx eax, word [rsi + 0x6d1c]
mov dword [rsp + 0x50], edx
shr ax, 4
mov word [rsp + 0x48], ax
xor eax, 0x7f
and eax, 0xfff
movzx eax, byte [rbp + rax]
add eax, edx
cmp bl, r13b
mov dword [rsp + 0x30], eax
je 0x100ecf3c
cmp edi, r12d
cmovb edi, r12d
mov dword [rsp + 0x44], edi
cmp edi, 1
jbe 0x100ed4e0
mov eax, dword [r14 + 0x2e8]
lea ecx, [rdi - 2]
mov dword [r14 + 0x10f24], 0
lea r8, [rcx + rcx*4]
mov dword [r14 + 0x10f00], r10d
mov dword [r14 + 0x10f04], eax
mov rax, qword [r14 + 0x2ec]
lea rcx, [rcx + r8*2]
shl rcx, 2
mov qword [r14 + 0x10f08], rax
mov eax, edi
lea rdx, [rax + rax*4]
lea rdx, [rax + rdx*2]
shl rdx, 2
lea rax, [r14 + rdx]
lea rdx, [r14 + rdx - 0x2c]
sub rdx, rcx
nop word [rax + rax]
mov dword [rax + 0x10ef4], 0x40000000
sub rax, 0x2c
cmp rdx, rax
jne 0x100eb590
mov rdi, qword [rsp + 0x38]
mov rax, r11
mov r15d, dword [rsp + 0x30]
xor r10d, r10d
shl rax, 4
mov r13, qword [rsp + 0x58]
mov r9, rdi
lea rbx, [rdi + rax + 0x36b8]
shl r9, 4
add r9, rdi
shl r9, 4
mov eax, dword [r13 + r10*4]
mov r11d, r10d
cmp eax, 1
jbe 0x100eb677
movzx edx, word [rsi + 0x6d34]
shr dx, 4
test r10, r10
jne 0x100ecbfe
movzx ecx, word [r14 + rbx*2 + 0xc]
and edx, 0xfff
movzx edx, byte [rbp + rdx]
shr cx, 4
xor ecx, 0x7f
and ecx, 0xfff
movzx r8d, byte [rbp + rcx]
add r8d, edx
lea rcx, [rax + rax*4]
lea edx, [rax - 2]
add r8d, r15d
lea rax, [rax + rcx*2]
lea rax, [r14 + rax*4]
mov ecx, edx
lea rcx, [rcx + r9 + 0x100]
mov edi, dword [r14 + rcx*4 + 0xba4c]
add edi, r8d
cmp edi, dword [rax + 0x10ef4]
jae 0x100eb66b
mov dword [rax + 0x10ef4], edi
mov dword [rax + 0x10ef8], 0
mov dword [rax + 0x10efc], r11d
mov byte [rax + 0x10ee8], 0
sub edx, 1
sub rax, 0x2c
cmp edx, 0xffffffff
jne 0x100eb630
add r10, 1
cmp r10, 4
jne 0x100eb5d2
mov r10d, dword [rsp + 0xe0]
mov edx, 1
test r10d, r10d
cmovne edx, dword [rsp + 0xe0]
add edx, 1
cmp r12d, edx
jae 0x100ece2e
cmp dword [rsp + 0x44], 0xffffffff
je 0x100eb2c3
lea rax, [r14 + 0xb84]
mov qword [rsp + 0x30], rbp
mov r15d, 1
mov r11, r14
mov qword [rsp + 0xa0], rax
lea rax, [r14 + 0x2f4]
movdqu xmm4, xmmword [r14 + 0x2e4]
mov qword [rsp + 0xa8], rax
movups xmmword [rsp + 0xe0], xmm4
nop dword [rax]
mov r8, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x140], r11
mov rcx, qword [rsp + 0x148]
call sym.lzma_mf_find
mov rsi, qword [rsp + 0x148]
mov r11, qword [rsp + 0x140]
mov dword [rsp + 0x88], eax
mov edi, dword [rsi + 0x60]
mov dword [r11 + 0xb88], eax
mov dword [rsp + 0x40], edi
cmp eax, edi
jae 0x100ed1ec
mov eax, dword [rsi + 0x18]
mov edx, 0xfff
sub edx, r15d
mov dword [rsp + 0x50], eax
mov eax, dword [rsi + 0x24]
mov r14d, dword [rsp + 0x50]
add eax, 1
sub eax, dword [rsp + 0x50]
cmp eax, edx
cmovbe edx, eax
mov eax, dword [rsp + 0x160]
add eax, r15d
mov dword [rsp + 0x38], edx
mov edx, r15d
mov dword [rsp + 0x60], eax
mov rax, qword [rsi]
mov qword [rsp + 0x78], rax
lea r13, [rax + r14 - 1]
mov eax, dword [r11 + 0xb84]
mov dword [rsp + 0x50], eax
lea rax, [rdx + rdx*4]
lea rax, [rdx + rax*2]
lea rcx, [r11 + rax*4]
cmp byte [rcx + 0x10ee8], 0
mov r8d, dword [rcx + 0x10ef8]
je 0x100ec270
cmp byte [rcx + 0x10ee9], 0
lea eax, [r8 - 1]
je 0x100ec830
mov eax, dword [rcx + 0x10eec]
mov ecx, dword [rcx + 0x10ef0]
cmp ecx, 3
ja 0x100eca15
cmp r8d, r15d
je 0x100ed204
mov dword [rsp + 0x64], 8
lea r9, [rax + rax*4]
mov r8d, ecx
lea r10, [rax + r9*2]
lea r9, [r8 + r10 + 0x43bc]
mov ebx, dword [r11 + r9*4 + 0x10]
mov dword [rsp + 0xe0], ebx
test ecx, ecx
je 0x100ecb79
shl r8, 2
lea r9, [rsp + 0xe4]
lea r10, [r11 + r10*4 + 0x10f00]
cmp r8d, 8
jae 0x100eca4f
test r8b, 4
jne 0x100ed4c8
test r8d, r8d
jne 0x100ecdc6
lea r8d, [rcx + 1]
cmp ecx, 3
je 0x100eb8b2
mov ecx, 4
mov r10d, r8d
mov rsi, qword [rsp + 0x58]
sub ecx, r8d
add r8d, 1
shl rcx, 2
cmp r8d, 4
mov r8d, 4
cmova rcx, r8
lea r8, [rax + rax*4]
lea r9, [rsi + r10*4]
lea rax, [rax + r8*2 + 0x43c0]
add r10, rax
mov eax, ecx
lea r10, [r11 + r10*4]
cmp ecx, 8
jae 0x100ecaa6
and ecx, 4
jne 0x100ed4fe
test eax, eax
jne 0x100ecda6
mov ebx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe8]
mov esi, dword [rsp + 0xec]
mov r9d, 1
mov r8d, dword [rsp + 0xe4]
movd xmm5, esi
lea rcx, [rdx + rdx*4]
movd xmm1, eax
mov r10d, dword [rsp + 0x64]
lea rdx, [rdx + rcx*2]
punpckldq xmm1, xmm5
movd xmm0, ebx
not rbx
movd xmm5, r8d
shl rdx, 2
mov eax, r10d
mov qword [rsp + 0x140], r11
punpckldq xmm0, xmm5
lea rcx, [r11 + rdx]
mov qword [rsp + 0x68], rax
shl rax, 4
punpcklqdq xmm0, xmm1
mov dword [rcx + 0x10ee4], r10d
movups xmmword [r11 + rdx + 0x10f00], xmm0
mov edx, dword [rsp + 0x60]
movzx ebp, byte [r13]
movzx edi, byte [r13 + rbx]
mov r12d, dword [rcx + 0x10ef4]
mov rcx, r11
mov esi, edx
and esi, dword [r11 + 0xb90]
movzx r8d, byte [r13 - 1]
lea rax, [rax + rsi + 0x35c8]
mov qword [rsp + 0x70], rsi
movzx esi, word [r11 + rax*2 + 0xc]
movzx eax, bpl
mov dword [rsp + 0x28], eax
movzx eax, dil
mov dword [rsp + 0x20], eax
shr si, 4
call sym.get_literal_price
mov rcx, rsi
xor esi, 0x7f
lea r8d, [r15 + 1]
and ecx, 0xfff
lea edx, [r12 + rax]
mov dword [rsp + 0x48], r8d
mov r11, qword [rsp + 0x140]
mov rax, rcx
mov rcx, qword [rsp + 0x30]
and esi, 0xfff
movzx eax, byte [rcx + rax]
lea r10d, [rdx + rax]
mov rax, qword [rsp + 0x68]
movzx edx, byte [rcx + rsi]
mov esi, r8d
mov qword [rsp + 0x98], rsi
movzx eax, word [r11 + rax*2 + 0x6d1c]
mov word [rsp + 0x54], ax
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx ecx, byte [rcx + rax]
lea rax, [rsi + rsi*4]
lea rax, [rsi + rax*2]
lea rax, [r11 + rax*4]
cmp r10d, dword [rax + 0x10ef4]
jae 0x100ec060
mov dword [rax + 0x10ef4], r10d
mov dword [rax + 0x10ef8], r15d
mov dword [rax + 0x10efc], 0xffffffff
mov byte [rax + 0x10ee8], 0
lea eax, [r12 + rdx]
add ecx, eax
mov dword [rsp + 0x8c], eax
mov dword [rsp + 0x80], ecx
cmp bpl, dil
je 0x100ec790
cmp dword [rsp + 0x38], 1
jbe 0x100ebd6b
mov eax, dword [rsp + 0x40]
mov ebp, dword [rsp + 0x38]
cmp eax, ebp
cmovbe ebp, eax
cmp dword [rsp + 0x64], 7
mov rsi, qword [rsp + 0x70]
mov r14d, 2
mov dword [rsp + 0x54], r15d
sbb edi, edi
mov dword [rsp + 0x78], r14d
and edi, 0xfffffffd
add edi, 0xb
cmp edi, 9
lea edx, [rdi - 3]
lea eax, [rdi - 6]
mov dword [rsp + 0xb0], edi
cmovbe eax, edx
xor edi, edi
mov dword [rsp + 0x94], eax
mov rax, rsi
shl rax, 4
add rax, rsi
mov rsi, r11
shl rax, 4
mov r15, rax
mov rax, qword [rsp + 0x58]
mov r14d, edi
mov ebx, dword [rax + rdi*4]
not rbx
add rbx, r13
movzx eax, byte [rbx]
cmp byte [r13], al
jne 0x100ebaca
movzx eax, byte [rbx + 1]
cmp byte [r13 + 1], al
je 0x100ec2c0
add rdi, 1
cmp rdi, 4
jne 0x100ebaa2
mov r14d, dword [rsp + 0x78]
mov r15d, dword [rsp + 0x54]
mov r11, rsi
cmp dword [rsp + 0x88], ebp
jbe 0x100ebb26
cmp dword [rsi + 0x2f4], ebp
jae 0x100ed262
mov eax, 1
nop dword [rax + rax]
mov edx, eax
add rax, 1
cmp dword [r11 + rax*8 + 0x2ec], ebp
jb 0x100ebb00
lea eax, [rdx + 1]
mov dword [rsp + 0x50], eax
mov dword [r11 + rdx*8 + 0x2f4], ebp
mov dword [rsp + 0x88], ebp
mov esi, dword [rsp + 0x88]
cmp esi, r14d
jb 0x100ebd6b
mov rax, qword [rsp + 0x68]
add esi, r15d
mov rdi, qword [rsp + 0x30]
mov ecx, esi
mov esi, dword [rsp + 0x44]
movzx eax, word [r11 + rax*2 + 0x6d1c]
shr ax, 4
and eax, 0xfff
movzx eax, byte [rdi + rax]
add eax, dword [rsp + 0x8c]
mov ebx, eax
cmp esi, ecx
jae 0x100ed25b
lea r9d, [rsi + 1]
not esi
lea edx, [rsi + rcx]
lea rax, [r9 + r9*4]
add rdx, r9
lea rax, [r9 + rax*2]
lea r8, [rdx + rdx*4]
lea rax, [r11 + rax*4 + 0x10ef4]
lea rdx, [rdx + r8*2]
lea rdx, [r11 + rdx*4 + 0x10f20]
nop dword [rax]
mov dword [rax], 0x40000000
add rax, 0x2c
cmp rdx, rax
jne 0x100ebba0
cmp dword [r11 + 0x2f4], r14d
jae 0x100ed254
mov eax, 1
nop dword [rax]
mov edx, eax
add rax, 1
cmp dword [r11 + rax*8 + 0x2ec], r14d
jb 0x100ebbc8
mov esi, edx
cmp dword [rsp + 0x64], 7
mov rdi, qword [rsp + 0x70]
mov r9d, r14d
mov dword [rsp + 0x44], ecx
sbb eax, eax
mov r14d, ebx
mov rbx, r11
mov r11d, esi
and eax, 0xfffffffd
add eax, 0xa
cmp eax, 0xa
lea edx, [rax - 3]
mov dword [rsp + 0x94], eax
mov eax, 4
cmovne eax, edx
mov edx, esi
mov dword [rsp + 0x90], eax
mov rax, rdi
shl rax, 4
add rax, rdi
shl rax, 4
mov r10, rax
jmp 0x100ebc33
mov r9d, ebp
cmp r9d, 5
mov eax, 5
mov esi, dword [rbx + rdx*8 + 0x2f8]
cmovbe eax, r9d
sub eax, 2
cmp esi, 0x7f
ja 0x100ebd08
mov ecx, esi
shl rax, 7
lea rax, [rcx + rax + 0x41a4]
mov edi, dword [rbx + rax*4]
lea eax, [r9 - 2]
lea rax, [rax + r10 + 0x100]
mov ecx, dword [rbx + rax*4 + 0x7204]
lea eax, [r9 + r15]
add ecx, r14d
add edi, ecx
lea rcx, [rax + rax*4]
lea rax, [rax + rcx*2]
shl rax, 2
lea rcx, [rbx + rax]
cmp edi, dword [rcx + 0x10ef4]
jae 0x100ebcc1
movd xmm0, edi
movd xmm2, r15d
lea r8d, [rsi + 4]
punpckldq xmm0, xmm2
mov dword [rbx + rax + 0x10efc], r8d
movq qword [rbx + rax + 0x10ef4], xmm0
mov byte [rcx + 0x10ee8], 0
lea ebp, [r9 + 1]
cmp r9d, dword [rbx + rdx*8 + 0x2f4]
jne 0x100ebc30
mov eax, dword [rsp + 0x40]
lea r12d, [rax + rbp]
mov eax, dword [rsp + 0x38]
cmp r12d, eax
cmova r12d, eax
cmp r12d, ebp
ja 0x100ebde0
add r11d, 1
cmp r11d, dword [rsp + 0x50]
je 0x100ebd68
mov edx, r11d
jmp 0x100ebc30
mov ecx, esi
cmp esi, 0x7ffff
jbe 0x100ebd50
test esi, esi
jns 0x100ebdc0
mov rdi, qword [0x10589e10]
shr ecx, 0x1e
movzx ecx, byte [rdi + rcx]
add ecx, 0x3c
mov r8d, esi
shl rax, 6
and r8d, 0xf
lea rax, [rcx + rax + 0x40a4]
mov edi, dword [rbx + rax*4]
add edi, dword [rbx + r8*4 + 0x10e98]
jmp 0x100ebc64
mov r8, qword [0x10589e10]
shr ecx, 6
movzx ecx, byte [r8 + rcx]
add ecx, 0xc
jmp 0x100ebd2b
mov r11, rbx
mov esi, dword [rsp + 0x44]
cmp dword [rsp + 0x48], esi
jae 0x100ecc6f
cmp dword [rsp + 0x48], 0xfff
jbe 0x100ebdad
mov qword [rsp + 0x140], r11
mov r8d, 0x34c
lea rdx, str.xz_5.2_src_liblzma_lzma_lzma_encoder_optimum_normal.c
lea rcx, str.cur___OPTS
call qword [sym.imp.msvcrt.dll__assert]
mov r11, qword [rsp + 0x140]
mov r15d, dword [rsp + 0x48]
jmp 0x100eb6f8
mov rdi, qword [0x10589e10]
shr ecx, 0x12
movzx ecx, byte [rdi + rcx]
add ecx, 0x24
jmp 0x100ebd2b
test r12d, r12d
js 0x100ec8b8
mov ecx, esi
mov eax, ebp
not rcx
add rcx, r13
nop dword [rax + rax]
movzx r8d, byte [rcx + rax]
mov edx, eax
cmp byte [r13 + rax], r8b
jne 0x100ebe12
lea edx, [rax + 1]
add rax, 1
cmp r12d, eax
ja 0x100ebdf8
sub edx, r9d
lea r12d, [rdx - 1]
mov dword [rsp + 0x54], edx
cmp r12d, 1
jbe 0x100ebcef
mov eax, dword [rsp + 0x60]
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x78], r11d
lea edx, [rax + rbp - 1]
mov eax, dword [rbx + 0xb90]
mov dword [rsp + 0x64], eax
mov r10d, eax
mov eax, dword [rsp + 0x94]
and r10d, edx
mov r8d, r10d
shl rax, 4
lea rax, [r8 + rax + 0x35c8]
mov dword [rsp + 0x68], r8d
mov r8, qword [rsp + 0x30]
movzx eax, word [rbx + rax*2 + 0xc]
shr ax, 4
and eax, 0xfff
movzx r8d, byte [r8 + rax]
mov eax, r9d
mov dword [rsp + 0x88], r8d
lea r8d, [r9 - 1]
movzx r9d, byte [r13 + rax]
movzx r8d, byte [r13 + r8]
mov dword [rsp + 0x28], r9d
movzx eax, byte [rcx + rax]
mov r9d, 1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call sym.get_literal_price
mov r11d, dword [rsp + 0x68]
mov rdx, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x90]
mov dword [rsp + 0x70], eax
lea ecx, [r11 + 1]
and ecx, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x44]
mov rax, r8
mov r11d, dword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
shl rax, 4
lea rax, [rax + rcx + 0x35c8]
movzx eax, word [rbx + rax*2 + 0xc]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx eax, byte [rdx + rax]
mov dword [rsp + 0x64], eax
movzx eax, word [rbx + r8*2 + 0x6d1c]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx eax, byte [rdx + rax]
mov dword [rsp + 0x68], eax
lea eax, [r15 + rbp]
lea edx, [r12 + rax]
mov dword [rsp + 0x8c], eax
cmp edx, r9d
jbe 0x100ebf83
lea r12d, [r9 + 1]
not r9d
add r9d, edx
lea rax, [r12 + r12*4]
add r9, r12
lea rax, [r12 + rax*2]
lea r12, [r9 + r9*4]
lea rax, [rbx + rax*4 + 0x10ef4]
lea r9, [r9 + r12*2]
lea r9, [rbx + r9*4 + 0x10f20]
nop dword [rax + rax]
mov dword [rax], 0x40000000
add rax, 0x2c
cmp r9, rax
jne 0x100ebf70
mov dword [rsp + 0x44], edx
movzx eax, word [rbx + r8*2 + 0x6d34]
shl r8, 4
mov r9, qword [rsp + 0x30]
lea r8, [r8 + rcx + 0x36b8]
movzx r8d, word [rbx + r8*2 + 0xc]
shr ax, 4
and eax, 0xfff
shr r8w, 4
movzx eax, byte [r9 + rax]
add eax, dword [rsp + 0x68]
xor r8d, 0x7f
add eax, dword [rsp + 0x88]
add eax, dword [rsp + 0x64]
and r8d, 0xfff
movzx r8d, byte [r9 + r8]
add eax, r8d
add edi, eax
mov eax, dword [rsp + 0x54]
lea r8d, [rax - 3]
mov rax, rcx
shl rax, 4
add rax, rcx
shl rax, 4
lea rax, [r8 + rax + 0x100]
add edi, dword [rbx + rax*4 + 0xba4c]
lea rax, [rdx + rdx*4]
add edi, dword [rsp + 0x70]
lea rax, [rdx + rax*2]
lea rax, [rbx + rax*4]
cmp edi, dword [rax + 0x10ef4]
jae 0x100ebcef
mov dword [rax + 0x10ef4], edi
mov edx, 0x101
add esi, 4
mov edi, dword [rsp + 0x8c]
mov dword [rax + 0x10efc], 0
mov dword [rax + 0x10ef8], edi
mov word [rax + 0x10ee8], dx
mov dword [rax + 0x10eec], r15d
mov dword [rax + 0x10ef0], esi
jmp 0x100ebcef
lea esi, [r12 + rdx]
add ecx, esi
mov dword [rsp + 0x8c], esi
mov dword [rsp + 0x80], ecx
cmp bpl, dil
je 0x100ec777
cmp dword [rsp + 0x38], 1
jbe 0x100ebd6b
mov eax, dword [rsp + 0x38]
mov edi, dword [rsp + 0x40]
mov ebp, eax
cmp edi, eax
lea esi, [rdi + 1]
cmovbe ebp, edi
cmp esi, eax
cmova esi, eax
test esi, esi
je 0x100ecaf2
js 0x100ecb40
cmp esi, 1
je 0x100eba50
add r14, qword [rsp + 0x78]
mov edx, 1
jmp 0x100ec0d5
lea eax, [rdx + 1]
add r14, 1
cmp esi, eax
jbe 0x100ec0e4
mov edx, eax
movzx eax, byte [r14 + rbx]
cmp byte [r14], al
je 0x100ec0c8
mov eax, edx
sub edx, 1
cmp edx, 1
jbe 0x100eba50
mov edi, dword [rsp + 0x64]
xor r9d, r9d
cmp edi, 3
jbe 0x100ec107
lea ecx, [rdi - 3]
lea r9d, [rdi - 6]
cmp edi, 9
cmovbe r9, rcx
mov r14d, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x160]
mov rsi, qword [rsp + 0x30]
add ecx, r14d
add edx, r14d
mov r14d, dword [rsp + 0x44]
mov edi, ecx
mov rcx, r9
and edi, dword [r11 + 0xb90]
shl rcx, 4
lea rcx, [rcx + rdi + 0x35c8]
movzx ecx, word [r11 + rcx*2 + 0xc]
shr cx, 4
xor ecx, 0x7f
and ecx, 0xfff
movzx ebx, byte [rsi + rcx]
movzx ecx, word [r11 + r9*2 + 0x6d1c]
shr cx, 4
xor ecx, 0x7f
and ecx, 0xfff
movzx esi, byte [rsi + rcx]
cmp r14d, edx
jae 0x100ec1bb
lea r12d, [r14 + 1]
not r14d
mov r8d, r14d
lea rcx, [r12 + r12*4]
add r8d, edx
lea rcx, [r12 + rcx*2]
add r8, r12
lea rcx, [r11 + rcx*4 + 0x10ef4]
lea r12, [r8 + r8*4]
lea r8, [r8 + r12*2]
lea r8, [r11 + r8*4 + 0x10f20]
nop dword [rax]
mov dword [rcx], 0x40000000
add rcx, 0x2c
cmp r8, rcx
jne 0x100ec1a8
mov dword [rsp + 0x44], edx
lea ecx, [rax - 3]
mov rax, rdi
mov r14, qword [rsp + 0x30]
shl rax, 4
add rax, rdi
shl rax, 4
lea rax, [rcx + rax + 0x100]
mov ecx, dword [r11 + rax*4 + 0xba4c]
movzx eax, word [r11 + r9*2 + 0x6d34]
shl r9, 4
shr ax, 4
add ecx, r10d
and eax, 0xfff
movzx eax, byte [r14 + rax]
add eax, ecx
add eax, ebx
add esi, eax
lea rax, [r9 + rdi + 0x36b8]
movzx eax, word [r11 + rax*2 + 0xc]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx eax, byte [r14 + rax]
add esi, eax
lea rax, [rdx + rdx*4]
lea rax, [rdx + rax*2]
lea rax, [r11 + rax*4]
cmp esi, dword [rax + 0x10ef4]
jae 0x100eba50
mov dword [rax + 0x10ef4], esi
mov esi, dword [rsp + 0x48]
mov r8d, 1
mov dword [rax + 0x10efc], 0
mov dword [rax + 0x10ef8], esi
mov word [rax + 0x10ee8], r8w
jmp 0x100eba50
mov eax, r8d
mov ecx, dword [rcx + 0x10efc]
lea r9, [rax + rax*4]
lea r9, [rax + r9*2]
mov r10d, dword [r11 + r9*4 + 0x10ee4]
lea r9d, [r15 - 1]
cmp r8d, r9d
je 0x100ec737
cmp ecx, 3
ja 0x100ec970
mov dword [rsp + 0x64], 0xb
cmp r10d, 6
ja 0x100eb7f1
jmp 0x100eb7e9
cmp ebp, 1
jbe 0x100ec9d1
test ebp, ebp
js 0x100ecb21
cmp ebp, 2
je 0x100ed526
mov eax, 2
jmp 0x100ec2f4
add rax, 1
cmp ebp, eax
jbe 0x100ec987
movzx edx, byte [rbx + rax]
mov r10d, eax
lea r9d, [rax + 1]
cmp byte [r13 + rax], dl
je 0x100ec2e8
lea r8d, [r10 - 2]
lea eax, [r10 - 1]
mov dword [rsp + 0xb4], r8d
mov dword [rsp + 0xb8], eax
mov eax, dword [rsp + 0x54]
mov edx, dword [rsp + 0x44]
lea r11d, [rax + r10]
mov dword [rsp + 0x90], r11d
cmp r11d, edx
jbe 0x100ec382
lea ecx, [rdx + 1]
not edx
add edx, r11d
lea rax, [rcx + rcx*4]
add rdx, rcx
lea rax, [rcx + rax*2]
lea rcx, [rdx + rdx*4]
lea rax, [rsi + rax*4 + 0x10ef4]
lea rdx, [rdx + rcx*2]
lea rdx, [rsi + rdx*4 + 0x10f20]
nop dword [rax]
mov dword [rax], 0x40000000
add rax, 0x2c
cmp rdx, rax
jne 0x100ec368
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x44], eax
test rdi, rdi
jne 0x100ec8f5
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x70]
mov rax, rdx
shl rax, 4
lea rax, [rax + rcx + 0x36b8]
mov rcx, qword [rsp + 0x30]
movzx eax, word [rsi + rax*2 + 0xc]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx r12d, byte [rcx + rax]
movzx eax, word [rsi + rdx*2 + 0x6d34]
mov word [rsp + 0xbc], ax
shr ax, 4
and eax, 0xfff
movzx edx, byte [rcx + rax]
add r12d, edx
mov edx, dword [rsp + 0x54]
mov eax, r8d
add r12d, dword [rsp + 0x80]
lea r8d, [rdx + 2]
nop word [rax + rax]
mov edx, eax
lea rdx, [rdx + r15 + 0x100]
mov ecx, dword [rsi + rdx*4 + 0xba4c]
lea edx, [r8 + rax]
lea r11, [rdx + rdx*4]
lea rdx, [rdx + r11*2]
add ecx, r12d
shl rdx, 2
lea r11, [rsi + rdx]
cmp ecx, dword [r11 + 0x10ef4]
jae 0x100ec44f
movd xmm3, dword [rsp + 0x54]
movd xmm0, ecx
punpckldq xmm0, xmm3
movq qword [rsi + rdx + 0x10ef4], xmm0
mov dword [r11 + 0x10efc], r14d
mov byte [r11 + 0x10ee8], 0
sub eax, 1
jae 0x100ec3f8
mov eax, dword [rsp + 0x78]
test rdi, rdi
mov edx, dword [rsp + 0x38]
cmove eax, r9d
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x40]
add eax, r9d
cmp eax, edx
cmova eax, edx
cmp eax, r9d
jbe 0x100ebaca
test eax, eax
js 0x100ed2ac
nop dword [rax]
movzx ecx, byte [rbx + r9]
mov edx, r9d
cmp byte [r13 + r9], cl
jne 0x100ec4a4
lea edx, [r9 + 1]
add r9, 1
cmp eax, r9d
ja 0x100ec488
sub edx, r10d
lea eax, [rdx - 1]
mov dword [rsp + 0xcc], edx
mov dword [rsp + 0xbc], eax
cmp dword [rsp + 0xbc], 1
jbe 0x100ebaca
mov eax, dword [rsp + 0xb4]
mov ecx, dword [rsp + 0x60]
mov r9d, 1
mov r11d, dword [rsi + 0xb90]
lea rax, [rax + r15 + 0x100]
lea edx, [r10 + rcx]
mov ecx, dword [rsi + rax*4 + 0xba4c]
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0xc8], r11d
mov dword [rsp + 0xc4], edx
mov dword [rsp + 0xb4], ecx
mov ecx, edx
shl rax, 4
and ecx, r11d
lea rax, [rcx + rax + 0x35c8]
mov rcx, qword [rsp + 0x30]
movzx eax, word [rsi + rax*2 + 0xc]
shr ax, 4
and eax, 0xfff
movzx r11d, byte [rcx + rax]
mov eax, dword [rsp + 0xb8]
mov rcx, rsi
movzx r8d, byte [r13 + rax]
movzx eax, byte [r13 + r10]
mov dword [rsp + 0xc0], r11d
mov dword [rsp + 0x28], eax
movzx eax, byte [rbx + r10]
mov dword [rsp + 0x20], eax
call sym.get_literal_price
mov ecx, dword [rsp + 0x94]
mov r8d, dword [rsp + 0x44]
mov edx, dword [rsp + 0xc4]
mov r11d, dword [rsp + 0xc8]
mov dword [rsp + 0xb8], eax
mov rax, rcx
add edx, 1
shl rax, 4
and r11d, edx
mov rdx, qword [rsp + 0x30]
lea rax, [rax + r11 + 0x35c8]
movzx eax, word [rsi + rax*2 + 0xc]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx ebx, byte [rdx + rax]
movzx eax, word [rsi + rcx*2 + 0x6d1c]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx r10d, byte [rdx + rax]
mov eax, dword [rsp + 0x90]
mov edx, dword [rsp + 0xbc]
add eax, 1
add edx, eax
mov dword [rsp + 0x90], eax
cmp r8d, edx
jae 0x100ec633
lea r9d, [r8 + 1]
not r8d
add r8d, edx
lea rax, [r9 + r9*4]
add r8, r9
lea rax, [r9 + rax*2]
lea r9, [r8 + r8*4]
lea rax, [rsi + rax*4 + 0x10ef4]
lea r8, [r8 + r9*2]
lea r8, [rsi + r8*4 + 0x10f20]
nop dword [rax]
mov dword [rax], 0x40000000
add rax, 0x2c
cmp r8, rax
jne 0x100ec620
mov dword [rsp + 0x44], edx
movzx eax, word [rsi + rcx*2 + 0x6d34]
shl rcx, 4
mov r8, qword [rsp + 0x30]
lea rcx, [rcx + r11 + 0x36b8]
movzx ecx, word [rsi + rcx*2 + 0xc]
shr ax, 4
and eax, 0xfff
shr cx, 4
movzx eax, byte [r8 + rax]
xor ecx, 0x7f
and ecx, 0xfff
add eax, r10d
add eax, dword [rsp + 0xb4]
add eax, dword [rsp + 0xc0]
movzx ecx, byte [r8 + rcx]
add eax, ebx
add eax, ecx
add r12d, eax
mov eax, dword [rsp + 0xcc]
lea ecx, [rax - 3]
mov rax, r11
shl rax, 4
add r11, rax
shl r11, 4
lea rax, [rcx + r11 + 0x100]
lea rcx, [rdx + rdx*4]
add r12d, dword [rsi + rax*4 + 0xba4c]
mov eax, dword [rsp + 0xb8]
lea rcx, [rdx + rcx*2]
lea rdx, [rcx*4]
add eax, r12d
cmp eax, dword [rsi + rcx*4 + 0x10ef4]
jae 0x100ebaca
movd xmm0, dword [rsp + 0x54]
movd xmm1, eax
mov ecx, 0x101
movd xmm4, dword [rsp + 0x90]
mov dword [rsi + rdx + 0x10efc], 0
punpckldq xmm1, xmm4
movd xmm4, r14d
mov word [rsi + rdx + 0x10ee8], cx
punpckldq xmm0, xmm4
punpcklqdq xmm0, xmm1
movups xmmword [rsi + rdx + 0x10eec], xmm0
jmp 0x100ebaca
mov r10d, 4
lea rax, [rdx + rdx*4]
lea rax, [rdx + rax*2]
mov ecx, dword [r11 + rax*4 + 0x10efc]
mov ebx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe8]
mov esi, dword [rsp + 0xec]
mov r8d, dword [rsp + 0xe4]
test ecx, ecx
jne 0x100ec9ad
cmp r10d, 7
mov r9d, 1
sbb edi, edi
and edi, 0xfffffffe
add edi, 0xb
mov dword [rsp + 0x64], edi
jmp 0x100eb8ce
cmp dword [rax + 0x10ef8], r15d
jae 0x100ec790
mov r9d, dword [rax + 0x10efc]
test r9d, r9d
je 0x100eba38
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x30]
movzx eax, word [r11 + rdi*2 + 0x6d34]
shl rdi, 4
mov rdx, rdi
mov rdi, qword [rsp + 0x70]
mov word [rsp + 0x54], ax
shr ax, 4
lea rdx, [rdx + rdi + 0x36b8]
and eax, 0xfff
movzx edx, word [r11 + rdx*2 + 0xc]
movzx eax, byte [rsi + rax]
shr dx, 4
and edx, 0xfff
movzx edx, byte [rsi + rdx]
mov rsi, qword [rsp + 0x98]
add eax, edx
lea rdx, [rsi + rsi*4]
add eax, dword [rsp + 0x80]
lea rdx, [rsi + rdx*2]
lea rdx, [r11 + rdx*4]
cmp eax, dword [rdx + 0x10ef4]
ja 0x100eba38
mov dword [rdx + 0x10ef4], eax
mov dword [rdx + 0x10ef8], r15d
mov dword [rdx + 0x10efc], 0
mov byte [rdx + 0x10ee8], 0
jmp 0x100eba38
lea r9, [rax + rax*4]
lea r9, [rax + r9*2]
mov r9d, dword [r11 + r9*4 + 0x10ee4]
cmp r9d, 3
ja 0x100eca2b
mov ecx, dword [rcx + 0x10efc]
cmp r8d, r15d
je 0x100ed21f
cmp ecx, 3
jbe 0x100eb7e9
mov dword [rsp + 0x64], 7
lea ebx, [rcx - 4]
lea rcx, [rax + rax*4]
mov r9d, 1
lea rax, [rax + rcx*2]
mov dword [rsp + 0xe0], ebx
lea rcx, [r11 + rax*4]
mov r8d, dword [rcx + 0x10f00]
mov eax, dword [rcx + 0x10f04]
mov esi, dword [rcx + 0x10f08]
mov dword [rsp + 0xe4], r8d
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xec], esi
jmp 0x100eb8ce
mov qword [rsp + 0x68], r10
mov r8d, 0x2f
lea rdx, str.xz_5.2_src_liblzma_common_memcmplen.h
lea rcx, str.limit___UINT32_MAX___2
mov dword [rsp + 0x64], r9d
mov dword [rsp + 0x54], r11d
call qword [sym.imp.msvcrt.dll__assert]
mov r10, qword [rsp + 0x68]
mov r9d, dword [rsp + 0x64]
mov r11d, dword [rsp + 0x54]
jmp 0x100ebde9
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x30]
movzx eax, word [rsi + rcx*2 + 0x6d34]
shr ax, 4
xor eax, 0x7f
and eax, 0xfff
movzx edx, byte [rdx + rax]
movzx eax, word [rsi + rcx*2 + 0x6d4c]
mov word [rsp + 0xbc], ax
shr ax, 4
cmp r14d, 1
je 0x100ecbe7
mov r11, qword [rsp + 0x30]
xor eax, 0x7f
movzx ecx, word [rsi + rcx*2 + 0x6d64]
and eax, 0xfff
movzx eax, byte [r11 + rax]
add edx, eax
mov eax, 2
sub eax, r14d
and eax, 0x7ff
xor eax, ecx
shr eax, 4
movzx r12d, byte [r11 + rax]
add r12d, edx
jmp 0x100ec3df
cmp r10d, 6
jbe 0x100ec862
mov dword [rsp + 0x64], 0xa
jmp 0x100ec86a
lea eax, [r10 + 2]
lea edx, [r10 - 1]
mov dword [rsp + 0xb8], r10d
mov r10d, r9d
mov dword [rsp + 0xb4], edx
mov r9d, eax
lea r8d, [r10 - 2]
jmp 0x100ec31d
cmp r10d, 3
jbe 0x100ecc5f
cmp r10d, 9
ja 0x100ece17
lea edi, [r10 - 3]
xor r9d, r9d
mov dword [rsp + 0x64], edi
jmp 0x100eb8ce
mov r8d, 0x2e
lea rdx, str.xz_5.2_src_liblzma_common_memcmplen.h
lea rcx, str.len___limit
call qword [sym.imp.msvcrt.dll__assert]
mov r9d, 3
mov r10d, 2
xor r8d, r8d
mov dword [rsp + 0xb8], 1
mov dword [rsp + 0xb4], 0
jmp 0x100ec31d
cmp r8d, r15d
je 0x100ec721
mov dword [rsp + 0x64], 8
jmp 0x100ec86a
lea r10d, [r9 - 6]
lea ebx, [r9 - 3]
cmp r9d, 0xa
cmovb r10d, ebx
cmp r8d, r15d
je 0x100ec727
mov ecx, dword [rcx + 0x10efc]
jmp 0x100ec296
mov rsi, qword [r10]
mov qword [rsp + 0xe4], rsi
mov esi, r8d
mov rdi, qword [r10 + rsi - 8]
mov qword [r9 + rsi - 8], rdi
lea rsi, [rsp + 0xe8]
sub r9, rsi
add r8d, r9d
sub r10, r9
and r8d, 0xfffffff8
cmp r8d, 8
jb 0x100eb849
and r8d, 0xfffffff8
xor r9d, r9d
mov edi, r9d
add r9d, 8
mov rbp, qword [r10 + rdi]
mov qword [rsi + rdi], rbp
cmp r9d, r8d
jb 0x100eca8d
jmp 0x100eb849
mov rax, qword [r10]
mov qword [r9], rax
mov eax, ecx
mov r8, qword [r10 + rax - 8]
mov qword [r9 + rax - 8], r8
lea r8, [r9 + 8]
and r8, 0xfffffffffffffff8
sub r9, r8
lea eax, [rcx + r9]
sub r10, r9
and eax, 0xfffffff8
cmp eax, 8
jb 0x100eb8ab
and eax, 0xfffffff8
xor ecx, ecx
mov r9d, ecx
add ecx, 8
mov rbx, qword [r10 + r9]
mov qword [r8 + r9], rbx
cmp ecx, eax
jb 0x100ecadb
jmp 0x100eb8ab
mov qword [rsp + 0x140], r11
mov r8d, 0x2e
lea rdx, str.xz_5.2_src_liblzma_common_memcmplen.h
lea rcx, str.len___limit
call qword [sym.imp.msvcrt.dll__assert]
mov r11, qword [rsp + 0x140]
jmp 0x100eba50
mov r8d, 0x2f
lea rdx, str.xz_5.2_src_liblzma_common_memcmplen.h
lea rcx, str.limit___UINT32_MAX___2
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x100ec2da
mov qword [rsp + 0x140], r11
mov r8d, 0x2f
lea rdx, str.xz_5.2_src_liblzma_common_memcmplen.h
lea rcx, str.limit___UINT32_MAX___2
mov dword [rsp + 0x54], r10d
call qword [sym.imp.msvcrt.dll__assert]
mov r10d, dword [rsp + 0x54]
mov r11, qword [rsp + 0x140]
jmp 0x100ec0b6
mov r8d, 1
jmp 0x100eb852
cmp dword [rsp + 0x30], 2
je 0x100ed51b
mov qword [rsp + 0x38], rcx
mov eax, 2
jmp 0x100ecbad
lea r9d, [rax + 1]
add rax, 1
cmp r11, rax
je 0x100ecbbb
movzx ecx, byte [rdx + rax]
mov r9d, eax
cmp byte [r8 + rax - 1], cl
je 0x100ecba0
mov rcx, qword [rsp + 0x38]
mov dword [r10 + rcx*4], r9d
cmp r9d, dword [rsp + rbp*4 + 0xe0]
jbe 0x100eb3d8
mov ebp, edi
mov r15, rbp
jmp 0x100eb3d8
mov r10d, 0x111
jmp 0x100eb379
mov rcx, qword [rsp + 0x30]
and eax, 0xfff
movzx r12d, byte [rcx + rax]
add r12d, edx
jmp 0x100ec3df
xor edx, 0x7f
and edx, 0xfff
movzx ecx, byte [rbp + rdx]
movzx edx, word [rsi + 0x6d4c]
shr dx, 4
cmp r10d, 1
je 0x100ed153
xor edx, 0x7f
mov edi, 2
and edx, 0xfff
sub edi, r10d
movzx r8d, byte [rbp + rdx]
mov edx, edi
and edx, 0x7ff
add ecx, r8d
movzx r8d, word [rsi + 0x6d64]
xor edx, r8d
shr edx, 4
movzx r8d, byte [rbp + rdx]
add r8d, ecx
jmp 0x100eb61e
mov dword [rsp + 0x64], 0
xor r9d, r9d
jmp 0x100eb8ce
mov r14, r11
mov rsi, qword [rsp + 0x98]
mov edx, dword [rsp + 0x48]
lea rax, [rsi + rsi*4]
mov dword [r14 + 0x10edc], edx
lea rax, [rsi + rax*2]
lea rax, [r14 + rax*4]
mov r8d, dword [rax + 0x10ef8]
mov r11d, dword [rax + 0x10efc]
mov rax, rsi
jmp 0x100eccf4
lea rcx, [rax + rax*4]
lea rcx, [rax + rcx*2]
mov r9d, dword [r14 + rcx*4 + 0x10ef8]
lea rcx, [rax + rax*4]
movd xmm0, edx
movd xmm4, r11d
mov edx, r8d
lea rax, [rax + rcx*2]
punpckldq xmm0, xmm4
shl rax, 2
mov r11d, dword [r14 + rax + 0x10efc]
movq qword [r14 + rax + 0x10ef8], xmm0
test r8d, r8d
je 0x100ecd78
mov r8d, r9d
mov eax, edx
lea rcx, [rax + rax*4]
lea rcx, [rax + rcx*2]
mov eax, r8d
shl rcx, 2
lea r10, [r14 + rcx]
cmp byte [r10 + 0x10ee8], 0
je 0x100ecca8
lea r9, [rax + rax*4]
lea r9, [rax + r9*2]
lea rbx, [r14 + r9*4]
lea r9d, [r8 - 1]
mov dword [rbx + 0x10efc], 0xffffffff
mov byte [rbx + 0x10ee8], 0
cmp byte [r10 + 0x10ee9], 0
mov dword [rbx + 0x10ef8], r9d
je 0x100eccb8
lea r10, [r9 + r9*4]
mov rcx, qword [r14 + rcx + 0x10eec]
lea r9, [r9 + r10*2]
shl r9, 2
mov byte [r14 + r9 + 0x10ee8], 0
mov qword [r14 + r9 + 0x10ef8], rcx
mov r9d, dword [rbx + 0x10ef8]
jmp 0x100eccb8
mov eax, dword [r14 + 0x10ef8]
mov rsi, qword [rsp + 0x158]
mov dword [r14 + 0x10ee0], eax
mov dword [rsi], eax
mov eax, dword [r14 + 0x10efc]
mov rsi, qword [rsp + 0x150]
mov dword [rsi], eax
jmp 0x100eb2c3
movzx ecx, byte [r10]
mov byte [r9], cl
test al, 2
je 0x100eb8ab
movzx ecx, word [r10 + rax - 2]
mov word [r9 + rax - 2], cx
jmp 0x100eb8ab
movzx r8d, byte [r10]
mov byte [r9], r8b
jmp 0x100eb849
mov r8d, 0x32b
lea rdx, str.xz_5.2_src_liblzma_lzma_lzma_encoder_optimum_normal.c
lea rcx, str.mf__read_ahead___0
call qword [sym.imp.msvcrt.dll__assert]
mov eax, dword [r14 + 0x10ee0]
jmp 0x100eb287
mov r8d, 0x11c
lea rdx, str.xz_5.2_src_liblzma_lzma_lzma_encoder_optimum_normal.c
lea rcx, str.mf__read_ahead__1
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x100eb32c
lea edi, [r10 - 6]
xor r9d, r9d
cmp edi, 6
mov dword [rsp + 0x64], edi
seta r9b
jmp 0x100eb8ce
cmp edx, dword [r14 + 0x2f4]
jbe 0x100ed513
mov eax, 1
mov r10d, eax
add rax, 1
cmp edx, dword [r14 + rax*8 + 0x2ec]
ja 0x100ece40
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x38]
mov r9d, r10d
mov esi, 5
mov r12d, dword [rsp + 0xdc]
mov r13, qword [0x10589e10]
and eax, 0xfff
movzx ebx, byte [rbp + rax]
mov rax, rdi
add ebx, dword [rsp + 0x50]
shl rax, 4
add rax, rdi
shl rax, 4
mov r11, rax
jmp 0x100ece9b
add edx, 1
cmp edx, 5
mov eax, esi
mov r8d, dword [r14 + r9*8 + 0x2f8]
cmovbe eax, edx
sub eax, 2
cmp r8d, 0x7f
ja 0x100ed190
mov ecx, r8d
shl rax, 7
lea rax, [rcx + rax + 0x41a4]
mov eax, dword [r14 + rax*4]
lea ecx, [rdx - 2]
lea rcx, [rcx + r11 + 0x100]
mov edi, dword [r14 + rcx*4 + 0x7204]
mov ecx, edx
add edi, ebx
add eax, edi
lea rdi, [rcx + rcx*4]
lea rcx, [rcx + rdi*2]
lea rcx, [r14 + rcx*4]
cmp eax, dword [rcx + 0x10ef4]
jae 0x100ecf19
mov dword [rcx + 0x10ef4], eax
lea eax, [r8 + 4]
mov dword [rcx + 0x10ef8], 0
mov dword [rcx + 0x10efc], eax
mov byte [rcx + 0x10ee8], 0
cmp edx, dword [r14 + r9*8 + 0x2f4]
jne 0x100ece98
add r10d, 1
cmp r12d, r10d
je 0x100eb6a9
mov r9d, r10d
jmp 0x100ece98
movzx edx, word [r14 + r15*2 + 0x6d7c]
movzx eax, word [rsi + 0x6d34]
shr dx, 4
shr ax, 4
and eax, 0xfff
and edx, 0xfff
movzx eax, byte [rbp + rax]
movzx edx, byte [rbp + rdx]
add eax, edx
add eax, dword [rsp + 0x30]
cmp ecx, eax
jbe 0x100eb51c
mov dword [r14 + 0x10f20], eax
xor r8d, r8d
mov dword [r14 + 0x10f28], 0
jmp 0x100eb51c
mov rbp, qword [0x10589e60]
movzx r11d, word [r14 + 0x71e2]
lea r8, [r14 + 0x71e0]
xor edx, edx
nop dword [rax]
mov r9d, edx
mov eax, edx
shr r9d, 1
and eax, 1
and r9d, 1
lea ecx, [rax + 2]
neg eax
mov ebx, r9d
mov r10, rcx
movzx ecx, word [r8 + rcx*2]
and eax, 0x7ff
neg ebx
xor eax, r11d
and ebx, 0x7ff
shr eax, 4
xor ecx, ebx
movzx eax, byte [rbp + rax]
shr ecx, 4
movzx ebx, byte [rbp + rcx]
mov ecx, edx
shr ecx, 2
and ecx, 1
add ebx, eax
lea eax, [r9 + r10*2]
mov r9d, ecx
mov r10, rax
movzx eax, word [r8 + rax*2]
neg r9d
and r9d, 0x7ff
xor eax, r9d
shr eax, 4
movzx eax, byte [rbp + rax]
lea r9d, [rax + rbx]
lea eax, [rcx + r10*2]
mov ecx, edx
shr ecx, 3
movzx eax, word [r8 + rax*2]
neg ecx
and ecx, 0x7ff
xor eax, ecx
shr eax, 4
movzx eax, byte [rbp + rax]
add eax, r9d
mov dword [r14 + rdx*4 + 0x10e98], eax
add rdx, 1
cmp rdx, 0x10
jne 0x100ecfb0
mov dword [r14 + 0x10ed8], 0
jmp 0x100eb302
mov eax, dword [rcx + 0x10e90]
mov rbp, qword [0x10589e60]
xor edi, edi
lea r11, [rcx + 0x10290]
lea rsi, [rcx + 0x10690]
lea r9, [rcx + 0x6efc]
test eax, eax
je 0x100ed463
xor r8d, r8d
nop dword [rax + rax]
mov eax, r8d
lea edx, [r8 + 0x40]
xor ecx, ecx
lea r10, [r11 + rax*4]
nop dword [rax]
mov ebx, edx
shr edx, 1
and ebx, 1
mov eax, edx
movzx eax, word [r9 + rax*2]
neg ebx
and ebx, 0x7ff
xor eax, ebx
shr eax, 4
movzx eax, byte [rbp + rax]
add ecx, eax
cmp edx, 1
jne 0x100ed0b0
mov dword [r10], ecx
mov eax, dword [r14 + 0x10e90]
add r8d, 1
cmp r8d, eax
jb 0x100ed0a0
cmp eax, 0xe
jbe 0x100ed116
mov edx, 0xe
nop dword [rax]
mov eax, edx
mov ecx, edx
add edx, 1
shr eax, 1
sub eax, 5
shl eax, 4
add dword [r11 + rcx*4], eax
mov eax, dword [r14 + 0x10e90]
cmp edx, eax
jb 0x100ed0f8
mov edx, dword [r11]
add edi, 1
mov dword [rsi], edx
mov edx, dword [r11 + 4]
mov dword [rsi + 4], edx
mov edx, dword [r11 + 8]
mov dword [rsi + 8], edx
mov edx, dword [r11 + 0xc]
mov dword [rsi + 0xc], edx
cmp edi, 4
je 0x100ed323
add r11, 0x100
add rsi, 0x200
sub r9, 0xffffffffffffff80
jmp 0x100ed090
and edx, 0xfff
movzx r8d, byte [rbp + rdx]
add r8d, ecx
jmp 0x100eb61e
mov rax, qword [rsp + 0x150]
mov dword [rax], 0xffffffff
mov rax, qword [rsp + 0x158]
mov dword [rax], 1
jmp 0x100eb2c3
mov ecx, r8d
cmp r8d, 0x7ffff
jbe 0x100ed1d0
test r8d, r8d
jns 0x100ed1de
shr ecx, 0x1e
movzx ecx, byte [r13 + rcx]
add ecx, 0x3c
mov edi, r8d
shl rax, 6
and edi, 0xf
lea rax, [rcx + rax + 0x40a4]
mov eax, dword [r14 + rax*4]
add eax, dword [r14 + rdi*4 + 0x10e98]
jmp 0x100ececb
shr ecx, 6
movzx ecx, byte [r13 + rcx]
add ecx, 0xc
jmp 0x100ed1ad
shr ecx, 0x12
movzx ecx, byte [r13 + rcx]
add ecx, 0x24
jmp 0x100ed1ad
mov eax, r15d
mov dword [rsp + 0x48], r15d
mov r14, r11
mov qword [rsp + 0x98], rax
jmp 0x100ecc72
lea rax, [rdx + rdx*4]
mov r10d, 5
lea rax, [rdx + rax*2]
mov ecx, dword [r11 + rax*4 + 0x10efc]
jmp 0x100ec737
xor r9d, r9d
cmp ecx, 1
mov ebx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xe8]
setb r9b
sbb edi, edi
mov esi, dword [rsp + 0xec]
mov r8d, dword [rsp + 0xe4]
and edi, 9
mov dword [rsp + 0x64], edi
jmp 0x100eb8ce
xor esi, esi
jmp 0x100ebbda
mov ecx, esi
jmp 0x100ebbaf
mov dword [rsp + 0x50], 1
xor edx, edx
jmp 0x100ebb17
mov rax, qword [rsp + 0x150]
mov dword [rax], r15d
mov rax, qword [rsp + 0x158]
mov dword [rax], edi
sub edi, 1
je 0x100eb2c3
mov rcx, qword [rsp + 0x148]
mov edx, edi
call qword [rcx + 0x38]
mov rax, qword [rsp + 0x148]
add dword [rax + 0x1c], edi
jmp 0x100eb2c3
mov dword [rsp + 0xc4], r9d
mov r8d, 0x2f
lea rdx, str.xz_5.2_src_liblzma_common_memcmplen.h
lea rcx, str.limit___UINT32_MAX___2
mov dword [rsp + 0xc0], r10d
mov dword [rsp + 0xbc], eax
call qword [sym.imp.msvcrt.dll__assert]
mov r9d, dword [rsp + 0xc4]
mov r10d, dword [rsp + 0xc0]
mov eax, dword [rsp + 0xbc]
jmp 0x100ec488
add rax, r14
mov edx, dword [rax]
mov dword [r14 + 0x10c90], edx
mov edx, dword [rax + 4]
mov dword [r14 + 0x10c94], edx
mov edx, dword [rax + 8]
mov dword [r14 + 0x10c98], edx
mov eax, dword [rax + 0xc]
mov dword [r14 + 0x10c9c], eax
mov r15, qword [0x10589e10]
lea rsi, [r14 + 0x70fc]
mov edi, 4
nop word cs:[rax + rax]
movzx ecx, byte [rdi + r15]
mov r8d, edi
xor r10d, r10d
mov edx, 1
mov rbx, rcx
shr ecx, 1
mov eax, ebx
sub ecx, 1
and eax, 1
or eax, 2
shl eax, cl
sub r8d, eax
sub rax, rbx
lea r11, [rax + rax - 2]
nop dword [rax]
mov r9d, r8d
mov eax, edx
shr r8d, 1
and r9d, 1
lea rax, [rsi + rax*2]
mov r12d, r9d
movzx eax, word [rax + r11]
lea edx, [r9 + rdx*2]
neg r12d
and r12d, 0x7ff
xor eax, r12d
shr eax, 4
movzx eax, byte [rbp + rax]
add r10d, eax
sub ecx, 1
jne 0x100ed370
lea rax, [r14 + rbx*4]
mov edx, dword [rax + 0x10290]
add edx, r10d
mov dword [r14 + rdi*4 + 0x10690], edx
mov edx, dword [rax + 0x10390]
add edx, r10d
mov dword [r14 + rdi*4 + 0x10890], edx
mov edx, dword [rax + 0x10490]
add edx, r10d
mov dword [r14 + rdi*4 + 0x10a90], edx
add r10d, dword [rax + 0x10590]
mov dword [r14 + rdi*4 + 0x10c90], r10d
add rdi, 1
cmp rdi, 0x80
jne 0x100ed340
mov dword [r14 + 0x10e94], 0
jmp 0x100eb2f4
mov eax, dword [rsp + 0xdc]
mov rsi, qword [rsp + 0x150]
sub eax, 1
mov eax, dword [r14 + rax*8 + 0x2f8]
add eax, 4
mov dword [rsi], eax
mov rax, qword [rsp + 0x158]
mov dword [rax], r12d
sub r12d, 1
je 0x100eb2c3
mov rcx, qword [rsp + 0x148]
mov edx, r12d
call qword [rcx + 0x38]
mov rax, qword [rsp + 0x148]
add dword [rax + 0x1c], r12d
jmp 0x100eb2c3
mov eax, dword [r11]
lea ecx, [rdi + 1]
mov dword [rsi], eax
mov eax, dword [r11 + 4]
mov dword [rsi + 4], eax
mov eax, dword [r11 + 8]
mov dword [rsi + 8], eax
mov eax, dword [r11 + 0xc]
mov dword [rsi + 0xc], eax
cmp edi, 3
je 0x100ed323
mov eax, ecx
mov rdx, rax
shl rax, 8
shl rdx, 9
add rax, 0x10290
add rdx, 0x10690
cmp ecx, 3
je 0x100ed2f9
mov r8d, 3
add rax, r14
add rdx, r14
sub r8d, ecx
xor ecx, ecx
jmp sym.lzma_lzma_optimum_normal.cold
mov esi, dword [r10]
mov r8d, r8d
mov dword [r9], esi
mov r10d, dword [r10 + r8 - 4]
mov dword [r9 + r8 - 4], r10d
jmp 0x100eb849
mov rax, qword [rsp + 0x150]
mov dword [rax], r8d
mov rax, qword [rsp + 0x158]
mov dword [rax], 1
jmp 0x100eb2c3
mov ecx, dword [r10]
mov dword [r9], ecx
mov ecx, dword [r10 + rax - 4]
mov dword [r9 + rax - 4], ecx
jmp 0x100eb8ab
xor r10d, r10d
jmp 0x100ece51
mov r9d, 2
jmp 0x100ecbc0
mov r10d, 2
mov r9d, 3
xor r8d, r8d
mov dword [rsp + 0xb8], 1
mov dword [rsp + 0xb4], 0
jmp 0x100ec31d