Function at 0x140038000
Capabilities:
Encode data using xor

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x88
mov r12d, dword [rsp + 0xf8]
mov r15, rdx
mov eax, dword [rcx + 0xb84]
mov edx, 0xb
imul r10, r12, 0x2c
mov dword [rsp + 0x50], eax
mov r13, 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, r12d
movzx edi, byte [r10 + 0x10ee8]
mov r9d, dword [r10 + 0x10ef8]
test dil, dil
je 0x1400380dc
dec r9d
cmp byte [r10 + 0x10ee9], 0
je 0x1400380b6
mov eax, dword [r10 + 0x10eec]
imul rcx, rax, 0x2c
cmp dword [r10 + 0x10ef0], 4
mov eax, dword [rcx + rbx + 0x10ee4]
jae 0x1400380a6
cmp eax, 7
mov ebp, edx
cmovl ebp, r14d
jmp 0x1400380c4
cmp eax, 7
mov ebp, r11d
mov eax, 7
cmovl ebp, eax
jmp 0x1400380c4
mov eax, r9d
imul rcx, rax, 0x2c
mov ebp, dword [rcx + rbx + 0x10ee4]
cmp ebp, 3
jg 0x1400380cd
xor ebp, ebp
jmp 0x1400380e7
cmp ebp, 9
jg 0x1400380d7
sub ebp, 3
jmp 0x1400380e7
sub ebp, 6
jmp 0x1400380e7
imul rcx, r9, 0x2c
mov ebp, dword [rcx + rbx + 0x10ee4]
lea eax, [r12 - 1]
mov ecx, 1
lea r12d, [rcx + 3]
cmp r9d, eax
jne 0x140038153
cmp dword [r10 + 0x10efc], 0
jne 0x14003811d
cmp ebp, 7
mov eax, 9
cmovl edx, eax
mov ebp, edx
mov dword [rsp + 0xd0], edx
jmp 0x14003825c
cmp ebp, 3
jg 0x140038130
xor ebp, ebp
mov dword [rsp + 0xd0], ebp
jmp 0x14003825c
cmp ebp, 9
jg 0x140038144
sub ebp, 3
mov dword [rsp + 0xd0], ebp
jmp 0x14003825c
sub ebp, 6
mov dword [rsp + 0xd0], ebp
jmp 0x14003825c
test dil, dil
je 0x14003818b
cmp byte [r10 + 0x10ee9], 0
je 0x14003818b
mov r8d, dword [r10 + 0x10ef0]
cmp ebp, 7
mov r9d, dword [r10 + 0x10eec]
cmovl edx, r14d
mov dword [rsp + 0xd0], edx
mov ebp, edx
cmp r8d, r12d
jae 0x14003822d
jmp 0x1400381a7
mov r8d, dword [r10 + 0x10efc]
cmp r8d, r12d
jae 0x140038216
cmp ebp, 7
cmovl edx, r14d
mov ebp, edx
mov dword [rsp + 0xd0], 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 [r15], eax
cmp r8d, ecx
jb 0x1400381e4
lea eax, [rdx - 1]
mov ecx, edx
add rax, r9
inc edx
mov eax, dword [rbx + rax*4 + 0x10f00]
mov dword [r15 + rcx*4], eax
cmp edx, r8d
jbe 0x1400381c5
cmp edx, r12d
jae 0x14003825c
mov eax, edx
imul r8, r11, 0x2c
lea rcx, [r15 + rax*4]
mov eax, r12d
sub r8, r15
add r8, rbx
sub eax, edx
mov edx, eax
nop dword [rax + rax]
mov eax, dword [r8 + rcx + 0x10f00]
mov dword [rcx], eax
lea rcx, [rcx + 4]
sub rdx, 1
jne 0x140038200
jmp 0x14003825c
cmp ebp, 7
mov eax, 7
cmovl r11d, eax
mov ebp, r11d
mov dword [rsp + 0xd0], r11d
lea eax, [r8 - 4]
mov dword [r15], eax
mov eax, r9d
imul rcx, rax, 0xb
mov eax, dword [rbx + rcx*4 + 0x10f00]
mov dword [r15 + 4], eax
mov eax, dword [rbx + rcx*4 + 0x10f04]
mov dword [r15 + 8], eax
mov eax, dword [rbx + rcx*4 + 0x10f08]
mov dword [r15 + 0xc], eax
mov dword [r10 + 0x10ee4], ebp
mov eax, dword [r15]
imul rcx, rsi, 0xb
mov dword [rbx + rcx*4 + 0x10f00], eax
mov eax, dword [r15 + 4]
mov dword [rbx + rcx*4 + 0x10f04], eax
mov eax, dword [r15 + 8]
mov dword [rbx + rcx*4 + 0x10f08], eax
mov eax, dword [r15 + 0xc]
mov dword [rbx + rcx*4 + 0x10f0c], eax
mov rcx, r13
mov eax, dword [r15]
mov r12d, dword [r10 + 0x10ef4]
sub rcx, rax
mov r10d, dword [rsp + 0xf0]
mov edx, dword [rbx + 0xb90]
movzx r14d, byte [r13]
and rdx, r10
movzx r15d, byte [rcx - 1]
movzx r8d, byte [r13 - 1]
movsxd rcx, ebp
mov rdi, rcx
mov qword [rsp + 0x60], rcx
shl rdi, 4
mov rcx, rbx
add rdi, rdx
mov qword [rsp + 0x70], rdx
cmp ebp, 7
mov dword [rsp + 0x28], r14d
mov edx, r10d
mov qword [rsp + 0x58], rdi
setge r9b
mov dword [rsp + 0x20], r15d
call fcn.140037730
movzx ecx, word [rbx + rdi*2 + 0x6b9c]
lea rdx, [0x140000000]
mov r9d, dword [rsp + 0xf8]
add eax, r12d
shr rcx, 4
xor dil, dil
lea r13d, [r9 + 1]
movzx esi, byte [rcx + rdx + 0x41450]
add esi, eax
mov eax, r13d
imul r11, rax, 0x2c
add r11, rbx
mov ebp, dword [r11 + 0x10ef4]
cmp esi, ebp
jae 0x140038363
mov dword [r11 + 0x10ef4], esi
mov ebp, esi
mov dword [r11 + 0x10ef8], r9d
mov byte [r11 + 0x10ee8], dil
mov dil, 1
mov dword [r11 + 0x10efc], 0xffffffff
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
movzx eax, word [rbx + rax*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx eax, byte [rax + rcx + 0x41450]
mov rcx, qword [rsp + 0x60]
add eax, r12d
mov dword [rsp + 0x4c], eax
lea r12, [0x140000000]
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 r12d, byte [rax + r12 + 0x41450]
add r12d, dword [rsp + 0x4c]
mov dword [rsp + 0x54], r12d
cmp r15b, r14b
jne 0x140038458
cmp dword [r11 + 0x10ef8], r9d
jae 0x1400383e8
cmp dword [r11 + 0x10efc], 0
je 0x140038458
movzx eax, word [rbx + rcx*2 + 0x6d34]
lea r9, [0x140000000]
shr rax, 4
movzx ecx, byte [rax + r9 + 0x41450]
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
shr rax, 4
movzx r9d, byte [rax + r9 + 0x41450]
lea eax, [r12 + rcx]
mov r12d, dword [rsp + 0xf8]
add r9d, eax
cmp r9d, ebp
ja 0x14003845b
mov dword [r11 + 0x10ef4], r9d
mov dil, 1
mov dword [r11 + 0x10ef8], r12d
mov dword [r11 + 0x10efc], 0
mov byte [r11 + 0x10ee8], 0
jmp 0x14003845b
mov r12d, r9d
mov ecx, dword [rsp + 0x108]
cmp ecx, 2
jb 0x1400390e6
mov r8d, dword [rsp + 0x100]
cmp ecx, r8d
mov eax, r8d
cmovb eax, ecx
test dil, dil
mov rdi, qword [rsp + 0xe0]
mov dword [rsp + 0x38], eax
jne 0x14003862c
cmp r15b, r14b
mov r15, qword [rsp + 0xd8]
je 0x140038634
mov eax, dword [r15]
lea r9d, [r8 + 1]
mov rdx, rdi
mov r8d, 1
sub rdx, rax
dec rdx
cmp ecx, r9d
cmovb r9d, ecx
mov rcx, rdi
call fcn.140035ed0
mov edx, eax
lea ebp, [rax - 1]
cmp ebp, 2
jb 0x140038634
mov ecx, dword [rsp + 0xd0]
cmp ecx, 3
jg 0x1400384e5
xor ecx, ecx
jmp 0x1400384f2
cmp ecx, 9
jg 0x1400384ef
add ecx, 0xfffffffd
jmp 0x1400384f2
add ecx, 0xfffffffa
mov r9d, dword [rsp + 0xf0]
lea r14, [0x140000000]
mov eax, dword [rbx + 0xb90]
lea r8d, [rdx + r12]
movsxd r10, ecx
inc r9d
and r9, rax
mov rdi, r10
shl rdi, 4
add rdi, r9
movzx eax, word [rbx + r10*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + r14 + 0x41450]
movzx eax, word [rbx + rdi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + r14 + 0x41450]
lea eax, [rsi + rcx]
mov esi, dword [rsp + 0xe8]
add r11d, eax
cmp esi, r8d
jae 0x1400385a1
imul rdx, rsi, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, esi
nop dword [rax]
nop word [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140038590
imul rax, r9, 0x110
lea ecx, [rbp - 2]
add rcx, rax
movzx eax, word [rbx + rdi*2 + 0x6d7c]
mov rdi, qword [rsp + 0xe0]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rbx + rcx*4 + 0xbe4c]
movzx eax, byte [rax + r14 + 0x41450]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r14 + 0x41450]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x14003863b
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 0x14003863b
mov r15, qword [rsp + 0xd8]
lea r14, [0x140000000]
mov ebp, 2
xor r12d, r12d
mov r9d, ebp
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x3c], r12d
jmp 0x140038665
mov ebp, 2
mov eax, dword [r15]
mov rcx, rdi
mov r13d, dword [rsp + 0x38]
sub rcx, rax
movzx eax, byte [rcx - 1]
lea r15, [rcx - 1]
mov qword [rsp + 0x78], r15
cmp byte [rdi], al
jne 0x140038bb5
movzx eax, byte [rcx]
cmp byte [rdi + 1], al
jne 0x140038bb5
mov dword [rsp + 0x48], ebp
mov esi, ebp
cmp r13d, 2
jae 0x1400386bc
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 0x140038707
cmp r13d, 0x7fffffff
jbe 0x1400386e1
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]
jmp 0x1400386e7
cmp r13d, 2
jbe 0x140038707
mov rdx, r15
lea rcx, [rdi + 2]
sub rdx, rdi
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x140038703
inc esi
inc rcx
cmp esi, r13d
jb 0x1400386f1
mov dword [rsp + 0x48], esi
mov r10d, dword [rsp + 0xf8]
mov edx, esi
mov r11d, dword [rsp + 0xe8]
lea r9d, [rsi + r10]
mov dword [rsp + 0x30], r9d
cmp r11d, r9d
jae 0x140038762
imul r8, r11, 0x2c
mov ecx, r9d
mov dword [rsp + 0xe8], r9d
add r8, 0x10ef4
add r8, rbx
sub ecx, r11d
nop dword [rax]
nop word [rax + rax]
mov dword [r8 + 0x2c], 0x40000000
lea r8, [r8 + 0x2c]
sub rcx, 1
jne 0x140038750
test r12d, r12d
jne 0x140038796
mov rax, qword [rsp + 0x58]
movzx eax, word [rbx + rax*2 + 0x6d7c]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r14 + 0x41450]
mov rax, qword [rsp + 0x60]
movzx eax, word [rbx + rax*2 + 0x6d34]
jmp 0x1400387c6
mov r9, qword [rsp + 0x60]
movzx eax, word [rbx + r9*2 + 0x6d34]
xor rax, 0x7f0
shr rax, 4
movzx r8d, byte [rax + r14 + 0x41450]
cmp r12d, 1
jne 0x1400387d8
movzx eax, word [rbx + r9*2 + 0x6d4c]
shr rax, 4
movzx eax, byte [rax + r14 + 0x41450]
add r8d, eax
jmp 0x14003881f
movzx ecx, word [rbx + r9*2 + 0x6d64]
mov eax, ebp
sub eax, r12d
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 + r14 + 0x41450]
movzx eax, byte [rax + r14 + 0x41450]
add r8d, eax
add r8d, ecx
mov esi, dword [rsp + 0x54]
add esi, r8d
imul r14, qword [rsp + 0x70], 0x110
mov dword [rsp + 0x40], esi
lea eax, [rdx - 2]
add rax, r14
lea ecx, [rdx + r10]
mov r8d, dword [rbx + rax*4 + 0xbe4c]
imul rax, rcx, 0x2c
add r8d, esi
cmp r8d, dword [rax + rbx + 0x10ef4]
jae 0x140038876
mov dword [rax + rbx + 0x10ef4], r8d
mov dword [rax + rbx + 0x10ef8], r10d
mov dword [rax + rbx + 0x10efc], r12d
mov byte [rax + rbx + 0x10ee8], 0
dec edx
cmp edx, 2
jae 0x140038833
mov r9d, dword [rsp + 0x34]
test r12d, r12d
mov esi, dword [rsp + 0x48]
mov ebp, dword [rsp + 0x100]
lea edi, [rsi + 1]
cmove r9d, edi
add ebp, edi
cmp dword [rsp + 0x108], ebp
mov dword [rsp + 0x34], r9d
cmovb ebp, dword [rsp + 0x108]
cmp edi, ebp
jae 0x140038903
cmp ebp, 0x7fffffff
jbe 0x1400388d8
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 r10, qword [rsp + 0xe0]
mov rdx, r15
mov ecx, edi
add rcx, r10
sub rdx, r10
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x14003890b
inc edi
inc rcx
cmp edi, ebp
jb 0x1400388f0
jmp 0x14003890b
mov r10, qword [rsp + 0xe0]
mov eax, 0xffffffff
mov r15d, edi
sub eax, esi
add edi, eax
cmp edi, 2
jb 0x140038ba6
mov rax, qword [rsp + 0x78]
lea ecx, [rsi - 2]
mov r13d, dword [rsp + 0xf0]
lea r12, [0x140000000]
add r13d, esi
add rcx, r14
mov r8, rsi
mov ebp, r13d
movzx r9d, byte [rax + rsi]
xor r11d, r11d
and ebp, dword [rbx + 0xb90]
lea eax, [rsi - 1]
movzx edx, byte [rax + r10]
mov r10d, 0x100
mov r14d, dword [rbx + rcx*4 + 0xbe4c]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
mov eax, dword [rbx + 0xb98]
shr edx, cl
and eax, r13d
mov ecx, dword [rbx + 0xb94]
shl eax, cl
add edx, eax
mov rax, qword [rsp + 0xe0]
lea rsi, [rdx + rdx*2]
movzx edx, byte [r8 + rax]
shl rsi, 9
add rsi, rbx
add edx, r10d
add r9d, r9d
mov eax, r10d
and eax, r9d
mov ecx, edx
add eax, r10d
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 + r12 + 0x41450]
add r11d, eax
mov eax, r9d
xor eax, edx
not eax
and r10d, eax
cmp edx, 0x10000
jb 0x1400389a2
cmp dword [rsp + 0xd0], 7
mov eax, 0x364e
mov ecx, 0x367e
cmovl ecx, eax
mov eax, ebp
add rcx, rax
lea rbp, [0x140000000]
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + rbp + 0x41450]
add edx, r11d
add edx, r14d
add edx, dword [rsp + 0x40]
cmp dword [rsp + 0xd0], 7
jge 0x140038a44
mov eax, 8
lea ecx, [rax - 3]
jmp 0x140038a4e
mov eax, 5
mov ecx, 2
mov r12d, dword [rbx + 0xb90]
lea r9d, [r13 + 1]
mov r14d, dword [rsp + 0xe8]
cmovl eax, ecx
mov esi, eax
and r9, r12
mov r10d, eax
shl rsi, 4
add rsi, r9
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx ecx, byte [rax + rbp + 0x41450]
movzx eax, word [rbx + r10*2 + 0x6d1c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + rbp + 0x41450]
lea eax, [rdx + rcx]
mov ebp, dword [rsp + 0xf8]
add r11d, eax
lea r8d, [r15 + rbp]
cmp r14d, r8d
jae 0x140038af1
imul rdx, r14, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r14d
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140038ae0
mov r12d, dword [rsp + 0x3c]
lea ecx, [rdi - 2]
mov r13d, dword [rsp + 0x38]
lea r14, [0x140000000]
mov rdi, qword [rsp + 0xe0]
imul rax, r9, 0x110
mov r9d, dword [rsp + 0x34]
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 + r14 + 0x41450]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + r14 + 0x41450]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x140038bbc
mov eax, dword [rsp + 0x30]
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], r12d
jmp 0x140038bbc
mov rdi, qword [rsp + 0xe0]
lea r14, [0x140000000]
mov ebp, dword [rsp + 0xf8]
mov r15, qword [rsp + 0xd8]
inc r12d
add r15, 4
mov dword [rsp + 0x3c], r12d
mov qword [rsp + 0xd8], r15
cmp r12d, 4
jb 0x140038660
mov ecx, dword [rsp + 0x44]
cmp ecx, r13d
jbe 0x140038c1a
xor edx, edx
mov ecx, r13d
cmp r13d, dword [rbx + 0x2f4]
jbe 0x140038c0c
nop dword [rax]
inc edx
cmp r13d, dword [rbx + rdx*8 + 0x2f4]
ja 0x140038c00
mov dword [rbx + rdx*8 + 0x2f4], r13d
inc edx
mov dword [rsp + 0x50], edx
cmp ecx, r9d
jb 0x1400390e6
mov rax, qword [rsp + 0x68]
lea r8d, [rcx + rbp]
mov r10d, dword [rsp + 0xe8]
movzx eax, word [rax]
shr rax, 4
movzx edi, byte [rax + r14 + 0x41450]
add edi, dword [rsp + 0x4c]
mov dword [rsp + 0x40], edi
cmp r10d, r8d
jae 0x140038c81
imul rdx, r10, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], 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 0x140038c70
xor r13d, r13d
cmp r9d, dword [rbx + 0x2f4]
jbe 0x140038c9d
nop dword [rax]
inc r13d
cmp r9d, dword [rbx + r13*8 + 0x2f4]
ja 0x140038c90
imul rsi, qword [rsp + 0x70], 0x110
lea r14d, [r9 + 1]
mov qword [rsp + 0x68], rsi
nop
mov r8d, dword [rbx + r13*8 + 0x2f8]
lea r15d, [r14 - 1]
mov dword [rsp + 0xd8], r8d
lea r9d, [r15 - 2]
cmp r15d, 6
jb 0x140038cd4
mov r9d, 3
lea r11d, [r15 - 2]
mov rdx, r8
cmp r8d, 0x80
jae 0x140038cf7
mov eax, r9d
shl rax, 7
add rax, rdx
mov ecx, dword [rbx + rax*4 + 0x10690]
jmp 0x140038d70
lea rcx, [0x140000000]
mov rax, rdx
cmp r8d, 0x80000
jae 0x140038d20
shr rax, 6
movzx eax, byte [rax + rcx + 0x414d0]
lea r8, [rax*4 + 0x102c0]
jmp 0x140038d53
cmp r8d, 0x80000000
jae 0x140038d3f
shr rax, 0x12
movzx eax, byte [rax + rcx + 0x414d0]
lea r8, [rax*4 + 0x10320]
jmp 0x140038d53
shr rax, 0x1e
movzx eax, byte [rax + rcx + 0x414d0]
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, r11d
add rax, rsi
mov esi, dword [rsp + 0x100]
add esi, r14d
mov r12d, dword [rbx + rax*4 + 0x7604]
add r12d, ecx
lea ecx, [r14 - 1]
add ecx, ebp
add r12d, edi
imul rcx, rcx, 0x2c
add rcx, rbx
cmp r12d, dword [rcx + 0x10ef4]
jae 0x140038dc2
lea eax, [r8 + 4]
mov dword [rcx + 0x10ef4], r12d
mov dword [rcx + 0x10efc], eax
mov dword [rcx + 0x10ef8], ebp
mov byte [rcx + 0x10ee8], 0
cmp r15d, dword [rbx + r13*8 + 0x2f4]
jne 0x1400390d9
mov r11, qword [rsp + 0xe0]
mov edi, r14d
mov rbp, r11
sub rbp, rdx
cmp dword [rsp + 0x108], esi
cmovb esi, dword [rsp + 0x108]
cmp r14d, esi
jae 0x140038e41
cmp esi, 0x7fffffff
jbe 0x140038e1f
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, r14d
lea rdx, [rbp - 1]
add rcx, r11
sub rdx, r11
nop dword [rax]
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x140038e41
inc edi
inc rcx
cmp edi, esi
jb 0x140038e30
mov eax, 0xffffffff
mov dword [rsp + 0x30], edi
sub eax, r15d
add edi, eax
cmp edi, 2
jb 0x1400390c4
mov r8d, dword [rsp + 0xf0]
mov ecx, 8
sub cl, byte [rbx + 0xb94]
dec r8d
movzx r10d, byte [r15 + rbp - 1]
add r8d, r14d
mov eax, r8d
lea rbp, [0x140000000]
and eax, dword [rbx + 0xb90]
mov dword [rsp + 0x44], eax
lea eax, [r15 - 1]
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
add edx, eax
mov rax, qword [rsp + 0xe0]
lea rsi, [rdx + rdx*2]
movzx edx, byte [r15 + rax]
shl rsi, 9
add rsi, rbx
add edx, r8d
nop dword [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 + rbp + 0x41450]
add r11d, eax
mov eax, r10d
xor eax, edx
not eax
and r8d, eax
cmp edx, 0x10000
jb 0x140038ed0
cmp dword [rsp + 0xd0], 7
mov eax, 0x363e
mov r8d, dword [rsp + 0x44]
mov ecx, 0x366e
cmovl ecx, eax
add rcx, r8
movzx eax, word [rbx + rcx*2]
shr rax, 4
movzx edx, byte [rax + rbp + 0x41450]
add edx, r11d
add edx, r12d
cmp dword [rsp + 0xd0], 7
jge 0x140038f69
mov eax, 7
lea ecx, [rax - 3]
jmp 0x140038f73
mov eax, 4
mov ecx, 1
mov r15d, dword [rsp + 0xe8]
lea r9d, [r8 + 1]
mov r8d, dword [rsp + 0x30]
cmovl eax, ecx
mov r10d, eax
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 + rbp + 0x41450]
movzx eax, word [rbx + rsi*2 + 0x6b9c]
xor rax, 0x7f0
shr rax, 4
movzx r11d, byte [rax + rbp + 0x41450]
lea eax, [rdx + rcx]
mov ebp, dword [rsp + 0xf8]
add r11d, eax
add r8d, ebp
cmp r15d, r8d
jae 0x140039021
imul rdx, r15, 0x2c
mov ecx, r8d
mov dword [rsp + 0xe8], r8d
add rdx, 0x10ef4
add rdx, rbx
sub ecx, r15d
nop dword [rax]
nop dword [rax + rax]
mov dword [rdx + 0x2c], 0x40000000
lea rdx, [rdx + 0x2c]
sub rcx, 1
jne 0x140039010
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 + 0x41450]
add ecx, eax
movzx eax, word [rbx + r10*2 + 0x6d34]
shr rax, 4
movzx edx, byte [rax + rdx + 0x41450]
lea eax, [r11 + rcx]
add edx, eax
mov eax, r8d
imul rcx, rax, 0x2c
cmp edx, dword [rcx + rbx + 0x10ef4]
jae 0x1400390cb
lea eax, [r14 + rbp]
mov dword [rcx + rbx + 0x10ef4], edx
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
jmp 0x1400390cb
mov ebp, dword [rsp + 0xf8]
inc r13d
cmp r13d, dword [rsp + 0x50]
je 0x1400390e6
mov edi, dword [rsp + 0x40]
mov rsi, qword [rsp + 0x68]
inc r14d
jmp 0x140038cb0
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