Function at 0x140136ef0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x728
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x6a0], 0xfffffffffffffffe
mov qword [rbp + 0x5e8], r9
mov qword [rbp + 0x5a8], r8
mov r13, rdx
mov qword [rbp + 0x5c8], rcx
mov qword [rbp + 0x3a0], 0
mov qword [rbp + 0x3a8], 1
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3c0], rdx
movzx r14d, byte [rdx]
test r14, r14
je 0x140136f99
lea rcx, [rbp + 0x3a0]
xor edx, edx
mov r8, r14
call fcn.1401d9aa0
mov r15, qword [rbp + 0x3a8]
mov rdi, qword [rbp + 0x3b0]
lea rcx, [r15 + rdi]
mov dl, 1
mov r8, r14
call sub.VCRUNTIME140.dll_memset
add rdi, r14
mov rbx, qword [rbp + 0x3a0]
jmp 0x140136fa3
xor ebx, ebx
mov r15d, 1
xor edi, edi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rax, [r13 + 1]
mov qword [rbp + 0x3b8], 1
mov qword [rbp + 0x3c0], rax
movzx ecx, byte [r13 + 1]
movzx r8d, cl
mov rax, rbx
sub rax, rdi
cmp rax, r8
mov qword [rbp + 0x5e0], r8
mov byte [rbp + 0x67c], cl
jae 0x140137015
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140137019
test cl, cl
je 0x140137037
lea rcx, [r15 + rdi]
mov dl, 2
mov rsi, qword [rbp + 0x5e0]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 2]
mov qword [rbp + 0x3b8], 2
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 2]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x5f0], r8
mov byte [rbp + 0x618], cl
jae 0x1401370a3
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x1401370a7
test cl, cl
je 0x1401370c5
lea rcx, [r15 + rdi]
mov dl, 3
mov rsi, qword [rbp + 0x5f0]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 3]
mov qword [rbp + 0x3b8], 3
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 3]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x630], r8
mov byte [rbp + 0x680], cl
jae 0x140137131
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140137135
test cl, cl
je 0x140137153
lea rcx, [r15 + rdi]
mov dl, 4
mov rsi, qword [rbp + 0x630]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 4]
mov qword [rbp + 0x3b8], 4
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 4]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x5f8], r8
mov byte [rbp + 0x61c], cl
jae 0x1401371bf
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x1401371c3
test cl, cl
je 0x1401371e1
lea rcx, [r15 + rdi]
mov dl, 5
mov rsi, qword [rbp + 0x5f8]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 5]
mov qword [rbp + 0x3b8], 5
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 5]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x638], r8
mov byte [rbp + 0x620], cl
jae 0x14013724d
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140137251
test cl, cl
je 0x14013726f
lea rcx, [r15 + rdi]
mov dl, 6
mov rsi, qword [rbp + 0x638]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 6]
mov qword [rbp + 0x3b8], 6
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 6]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x600], r8
mov byte [rbp + 0x684], cl
jae 0x1401372db
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x1401372df
test cl, cl
je 0x1401372fd
lea rcx, [r15 + rdi]
mov dl, 7
mov rsi, qword [rbp + 0x600]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 7]
mov qword [rbp + 0x3b8], 7
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 7]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x640], r8
mov byte [rbp + 0x624], cl
jae 0x140137369
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14013736d
test cl, cl
je 0x14013738b
lea rcx, [r15 + rdi]
mov dl, 8
mov rsi, qword [rbp + 0x640]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 8]
mov qword [rbp + 0x3b8], 8
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 8]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x608], r8
mov byte [rbp + 0x688], cl
jae 0x1401373f7
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x1401373fb
test cl, cl
je 0x140137419
lea rcx, [r15 + rdi]
mov dl, 9
mov rsi, qword [rbp + 0x608]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 9]
mov qword [rbp + 0x3b8], 9
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 9]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x648], r8
mov byte [rbp + 0x628], cl
jae 0x140137485
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140137489
test cl, cl
je 0x1401374a7
lea rcx, [r15 + rdi]
mov dl, 0xa
mov rsi, qword [rbp + 0x648]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 0xa]
mov qword [rbp + 0x3b8], 0xa
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 0xa]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x610], r8
mov byte [rbp + 0x68c], cl
jae 0x140137513
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140137517
test cl, cl
je 0x140137535
lea rcx, [r15 + rdi]
mov dl, 0xb
mov rsi, qword [rbp + 0x610]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 0xb]
mov qword [rbp + 0x3b8], 0xb
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 0xb]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x650], r8
mov byte [rbp + 0x690], cl
jae 0x1401375a1
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x1401375a5
test cl, cl
je 0x1401375c3
lea rcx, [r15 + rdi]
mov dl, 0xc
mov rsi, qword [rbp + 0x650]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 0xc]
mov qword [rbp + 0x3b8], 0xc
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 0xc]
movzx r8d, cl
cmp rax, r8
mov qword [rbp + 0x658], r8
mov byte [rbp + 0x694], cl
jae 0x14013762f
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140137633
test cl, cl
je 0x140137651
lea rcx, [r15 + rdi]
mov dl, 0xd
mov rsi, qword [rbp + 0x658]
mov r8, rsi
call sub.VCRUNTIME140.dll_memset
add rdi, rsi
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov r12, r15
mov qword [rbp + 0x3a8], r15
mov qword [rbp + 0x3b0], rdi
lea rcx, [r13 + 0xd]
mov qword [rbp + 0x3b8], 0xd
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 0xd]
movzx r15d, cl
cmp rax, r15
mov byte [rbp + 0x698], cl
jae 0x1401376bc
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
mov r8, r15
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r12, qword [rbp + 0x3a8]
jmp 0x1401376c0
test cl, cl
je 0x1401376d7
lea rcx, [r12 + rdi]
mov dl, 0xe
mov r8, r15
call sub.VCRUNTIME140.dll_memset
add rdi, r15
mov rax, rbx
sub rax, rdi
mov qword [rbp + 0x3a0], rbx
mov rsi, rdi
mov rdi, r12
mov qword [rbp + 0x3a8], r12
mov qword [rbp + 0x3b0], rsi
lea rcx, [r13 + 0xe]
mov qword [rbp + 0x3b8], 0xe
mov qword [rbp + 0x3c0], rcx
movzx ecx, byte [r13 + 0xe]
movzx r12d, cl
cmp rax, r12
mov byte [rbp + 0x69c], cl
jae 0x140137745
lea rcx, [rbp + 0x3a0]
mov rdx, rsi
mov r8, r12
call fcn.1401d9aa0
mov rsi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov rdi, qword [rbp + 0x3a8]
jmp 0x14013774c
mov rdx, rbx
test cl, cl
je 0x140137763
lea rcx, [rdi + rsi]
mov dl, 0xf
mov r8, r12
call sub.VCRUNTIME140.dll_memset
add rsi, r12
mov rax, rbx
sub rax, rsi
mov qword [rbp + 0x668], rbx
mov qword [rbp + 0x3a0], rbx
mov qword [rbp + 0x670], rdi
mov qword [rbp + 0x3a8], rdi
mov qword [rbp + 0x3b0], rsi
lea rcx, [r13 + 0xf]
mov qword [rbp + 0x3b8], 0xf
mov qword [rbp + 0x3c0], rcx
movzx r13d, byte [r13 + 0xf]
movzx ebx, r13b
cmp rax, rbx
mov rdi, rsi
jae 0x1401377e4
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
mov r8, rbx
call fcn.1401d9aa0
mov rdi, qword [rbp + 0x3b0]
mov rax, qword [rbp + 0x3a0]
mov qword [rbp + 0x668], rax
mov rax, qword [rbp + 0x3a8]
mov qword [rbp + 0x670], rax
jmp 0x1401377e9
test r13b, r13b
je 0x140137801
mov rax, qword [rbp + 0x670]
lea rcx, [rax + rdi]
mov dl, 0x10
mov r8, rbx
call sub.VCRUNTIME140.dll_memset
add rdi, rbx
test rdi, rdi
je 0x140138563
mov byte [rbp + 0x62c], r13b
mov qword [rbp + 0x5d0], rbx
mov rax, rdi
shr rax, 0x3e
lea rsi, [rdi + rdi]
test rax, rax
jne 0x140138587
mov r13d, 2
mov edx, 2
mov rcx, rsi
call fcn.1400cc1c0
test rax, rax
je 0x14013858a
mov rbx, rax
mov rdx, qword [rbp + 0x670]
lea r13, [rdx + rdi]
movzx r9d, byte [rdx]
xor eax, eax
xor r8d, r8d
mov qword [rbp + 0x660], rbx
nop word cs:[rax + rax]
movzx ecx, byte [rdx]
mov r10d, r9d
sub r10b, cl
jae 0x1401378bf
mov r11d, ecx
sub r11b, r9b
and r11b, 7
je 0x1401378a3
neg r11b
xor ebx, ebx
nop dword [rax]
add eax, eax
dec bl
cmp r11b, bl
jne 0x140137890
sub r9b, bl
mov rbx, qword [rbp + 0x660]
mov r11d, r9d
mov r9d, ecx
cmp r10b, 0xf8
ja 0x1401378bf
nop
shl eax, 8
add r11b, 8
cmp r11b, cl
jb 0x1401378b0
mov r9d, ecx
mov r10d, eax
shr r10d, cl
test r10d, r10d
jne 0x1401379f1
inc rdx
mov word [rbx + r8*2], ax
inc r8
inc eax
cmp rdx, r13
jne 0x140137870
xor r11d, r11d
mov r9d, 0xffffffff
mov r8d, 0xffffffff
mov r10d, 0
test r14b, r14b
mov rax, qword [rbp + 0x5e0]
mov qword [rbp + 0x5b0], rsi
je 0x140137922
lea rcx, [r14 - 1]
cmp rcx, rdi
jae 0x14013853e
movzx r10d, word [rbx]
neg r10d
movzx r8d, word [rbx + r14*2 - 2]
cmp byte [rbp + 0x67c], 0
je 0x14013795f
cmp rdi, r14
jbe 0x14013854f
lea rcx, [rax + r14]
dec rcx
cmp rcx, rdi
jae 0x14013853e
add rax, r14
movzx r11d, r14b
mov rcx, rax
movzx eax, word [rbx + r14*2]
sub r11d, eax
movzx r9d, word [rbx + rcx*2 - 2]
mov r14, rcx
mov dword [rbp + 0x67c], 0
mov dword [rbp + 0x5e0], 0xffffffff
cmp byte [rbp + 0x618], 0
mov rax, qword [rbp + 0x5f0]
mov rcx, qword [rbp + 0x630]
je 0x140137a8e
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x5f0]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov edx, r14d
mov dword [rbp + 0x5dc], r14d
mov r14, rcx
mov rcx, qword [rbp + 0x630]
cmp byte [rbp + 0x680], 0
movzx edx, byte [rbp + 0x61c]
mov dword [rbp + 0x618], eax
jne 0x140137ab3
jmp 0x140137af5
mov qword [rbp + 0x660], rdi
movzx eax, byte [0x1402f4241]
mov ecx, 0x17
mov edx, 1
call fcn.1400cc190
test rax, rax
je 0x140138597
mov rdi, rax
movups xmm0, xmmword [str.bad_huffman_code_length]
movups xmmword [rax], xmm0
movabs rax, 0x6874676e656c2065
mov qword [rdi + 0xf], rax
mov r8d, 2
mov rcx, rbx
mov rdx, rsi
call fcn.1400cc1a0
mov rdx, qword [rbp + 0x668]
test rdx, rdx
mov rcx, qword [rbp + 0x670]
mov rsi, qword [rbp + 0x5c8]
je 0x140137a68
mov r8d, 1
call fcn.1400cc1a0
mov qword [rsi + 8], 0x17
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 0x17
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x1401384c8
mov eax, 0xffffffff
mov dword [rbp + 0x5dc], 0
cmp byte [rbp + 0x680], 0
movzx edx, byte [rbp + 0x61c]
mov dword [rbp + 0x618], eax
je 0x140137af5
cmp r14, rdi
jae 0x14013854f
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x630]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov dword [rbp + 0x5e0], eax
mov eax, r14d
mov dword [rbp + 0x67c], r14d
mov r14, rcx
mov dword [rbp + 0x5f0], 0
mov dword [rbp + 0x630], 0xffffffff
test dl, dl
mov rax, qword [rbp + 0x5f8]
mov rcx, qword [rbp + 0x638]
je 0x140137b77
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x5f8]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov edx, r14d
mov dword [rbp + 0x680], r14d
mov r14, rcx
mov rcx, qword [rbp + 0x638]
cmp byte [rbp + 0x620], 0
movzx edx, byte [rbp + 0x684]
mov dword [rbp + 0x61c], eax
jne 0x140137b9c
jmp 0x140137bde
mov eax, 0xffffffff
mov dword [rbp + 0x680], 0
cmp byte [rbp + 0x620], 0
movzx edx, byte [rbp + 0x684]
mov dword [rbp + 0x61c], eax
je 0x140137bde
cmp r14, rdi
jae 0x14013854f
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x638]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov dword [rbp + 0x630], eax
mov eax, r14d
mov dword [rbp + 0x5f0], r14d
mov r14, rcx
mov dword [rbp + 0x5f8], 0
mov dword [rbp + 0x638], 0xffffffff
test dl, dl
mov rax, qword [rbp + 0x600]
mov rcx, qword [rbp + 0x640]
je 0x140137c60
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x600]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov edx, r14d
mov dword [rbp + 0x684], r14d
mov r14, rcx
mov rcx, qword [rbp + 0x640]
cmp byte [rbp + 0x624], 0
movzx edx, byte [rbp + 0x688]
mov dword [rbp + 0x620], eax
jne 0x140137c85
jmp 0x140137cc7
mov eax, 0xffffffff
mov dword [rbp + 0x684], 0
cmp byte [rbp + 0x624], 0
movzx edx, byte [rbp + 0x688]
mov dword [rbp + 0x620], eax
je 0x140137cc7
cmp r14, rdi
jae 0x14013854f
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x640]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov dword [rbp + 0x638], eax
mov eax, r14d
mov dword [rbp + 0x5f8], r14d
mov r14, rcx
mov dword [rbp + 0x600], 0
mov dword [rbp + 0x640], 0xffffffff
test dl, dl
mov rax, qword [rbp + 0x608]
mov rcx, qword [rbp + 0x648]
je 0x140137d49
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x608]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov edx, r14d
mov dword [rbp + 0x688], r14d
mov r14, rcx
mov rcx, qword [rbp + 0x648]
cmp byte [rbp + 0x628], 0
movzx edx, byte [rbp + 0x68c]
mov dword [rbp + 0x624], eax
jne 0x140137d6e
jmp 0x140137db0
mov eax, 0xffffffff
mov dword [rbp + 0x688], 0
cmp byte [rbp + 0x628], 0
movzx edx, byte [rbp + 0x68c]
mov dword [rbp + 0x624], eax
je 0x140137db0
cmp r14, rdi
jae 0x14013854f
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x648]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov dword [rbp + 0x640], eax
mov eax, r14d
mov dword [rbp + 0x600], r14d
mov r14, rcx
mov dword [rbp + 0x608], 0
mov dword [rbp + 0x648], 0xffffffff
test dl, dl
mov rax, qword [rbp + 0x610]
mov rcx, qword [rbp + 0x650]
je 0x140137e32
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x610]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov edx, r14d
mov dword [rbp + 0x68c], r14d
mov r14, rcx
mov rcx, qword [rbp + 0x650]
cmp byte [rbp + 0x690], 0
movzx edx, byte [rbp + 0x694]
mov dword [rbp + 0x628], eax
jne 0x140137e57
jmp 0x140137e99
mov eax, 0xffffffff
mov dword [rbp + 0x68c], 0
cmp byte [rbp + 0x690], 0
movzx edx, byte [rbp + 0x694]
mov dword [rbp + 0x628], eax
je 0x140137e99
cmp r14, rdi
jae 0x14013854f
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x650]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov dword [rbp + 0x648], eax
mov eax, r14d
mov dword [rbp + 0x608], r14d
mov r14, rcx
mov dword [rbp + 0x610], 0
mov dword [rbp + 0x650], 0xffffffff
test dl, dl
mov rax, qword [rbp + 0x658]
je 0x140137f80
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov rcx, qword [rbp + 0x658]
add rcx, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + rcx*2 - 2]
mov dword [rbp + 0x690], eax
mov eax, r14d
mov dword [rbp + 0x694], r14d
mov r14, rcx
movzx eax, byte [rbp + 0x69c]
cmp byte [rbp + 0x698], 0
jne 0x140137fa8
mov edx, 0xffffffff
test al, al
je 0x140137ff6
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + r12]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov dword [rbp + 0x658], 0
add r12, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + r12*2 - 2]
mov dword [rbp + 0x698], eax
mov eax, r14d
mov dword [rbp + 0x69c], r14d
mov r14, r12
cmp byte [rbp + 0x62c], 0
mov r15, qword [rbp + 0x668]
jne 0x140138024
jmp 0x14013805a
mov dword [rbp + 0x690], 0xffffffff
mov dword [rbp + 0x694], 0
movzx eax, byte [rbp + 0x69c]
cmp byte [rbp + 0x698], 0
je 0x140137f13
cmp r14, rdi
jae 0x14013854f
lea rcx, [r14 + r15]
dec rcx
cmp rcx, rdi
jae 0x14013853e
mov edx, eax
add r15, r14
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx eax, word [rbx + r15*2 - 2]
mov dword [rbp + 0x650], eax
mov eax, r14d
mov dword [rbp + 0x610], r14d
mov r14, r15
mov eax, edx
mov edx, 0xffffffff
test al, al
jne 0x140137f20
mov dword [rbp + 0x658], 0
mov dword [rbp + 0x698], 0xffffffff
mov dword [rbp + 0x69c], 0
cmp byte [rbp + 0x62c], 0
mov r15, qword [rbp + 0x668]
je 0x14013805a
cmp r14, rdi
jae 0x14013854f
mov rax, qword [rbp + 0x5d0]
lea rcx, [rax + r14]
dec rcx
cmp rcx, rdi
jae 0x14013853e
movzx eax, word [rbx + r14*2]
sub r14d, eax
movzx edx, word [rbx + rcx*2]
mov eax, r14d
mov dword [rbp + 0x658], r14d
mov dword [rbp + 0x5c4], edx
mov dword [rbp + 0x5c0], r11d
mov dword [rbp + 0x5bc], r10d
mov dword [rbp + 0x5d0], r9d
mov dword [rbp + 0x62c], r8d
xor ebx, ebx
lea rsi, [rbp + 0x3a0]
mov r8d, 0x200
mov rcx, rsi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov r8, qword [rbp + 0x670]
nop dword [rax]
cmp r8, r13
je 0x1401381d5
mov r9, rbx
movzx r11d, byte [r8]
inc r8
inc rbx
cmp r11, 8
ja 0x1401380a0
cmp r9, rdi
jae 0x140138527
cmp r9, qword [rbp + 0x5e8]
jae 0x1401384f8
mov ecx, 8
sub rcx, r11
mov rax, qword [rbp + 0x660]
movzx eax, word [rax + r9*2]
shl eax, cl
movzx r10d, ax
cmp r10d, 0x101
jae 0x1401384df
mov edx, 0x100
sub rdx, r10
mov eax, 1
shl rax, cl
cmp rax, rdx
ja 0x140138513
mov rdx, qword [rbp + 0x5a8]
movzx edx, byte [rdx + r9]
mov r14d, 2
shl r14, cl
lea rcx, [r10*2 + 0x3a0]
add rcx, rbp
add r14, 0xfffffffffffffffe
mov r9, rcx
cmp r14, 0x1e
jb 0x1401381b6
shr r14, 1
inc r14
mov r12, r14
and r12, 0xfffffffffffffff0
lea r9, [rcx + r12*2]
movzx r15d, r11b
movd xmm0, r15d
punpcklbw xmm0, xmm0
pshuflw xmm1, xmm0, 0
movzx r15d, dl
movd xmm0, r15d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
punpcklbw xmm0, xmm1
lea r10, [rsi + r10*2]
add r10, 0x10
xor r15d, r15d
nop word cs:[rax + rax]
movdqu xmmword [r10 + r15*2 - 0x10], xmm0
movdqu xmmword [r10 + r15*2], xmm0
add r15, 0x10
cmp r12, r15
jne 0x140138190
cmp r14, r12
mov r15, qword [rbp + 0x668]
je 0x1401380a0
lea rax, [rcx + rax*2]
nop word [rax + rax]
mov byte [r9], dl
mov byte [r9 + 1], r11b
add r9, 2
cmp r9, rax
jne 0x1401381c0
jmp 0x1401380a0
cmp byte [rbp + 0x710], 0
je 0x1401382af
xor eax, eax
mov rsi, qword [rbp + 0x5c8]
nop dword [rax + rax]
mov word [rbp + rax*4 - 0x60], 0
mov byte [rbp + rax*4 - 0x5e], 0
mov word [rbp + rax*4 - 0x5c], 0
mov byte [rbp + rax*4 - 0x5a], 0
mov word [rbp + rax*4 - 0x58], 0
mov byte [rbp + rax*4 - 0x56], 0
mov word [rbp + rax*4 - 0x54], 0
mov byte [rbp + rax*4 - 0x52], 0
add rax, 4
cmp rax, 0x100
jne 0x1401381f0
mov edx, 0x200
xor r8d, r8d
jmp 0x14013825a
xor edi, edi
and r9b, 0xf0
add edi, r11d
or r10b, r9b
mov word [rbp + r8*4 - 0x60], di
mov byte [rbp + r8*4 - 0x5e], r10b
inc r8
add rdx, 0xfffffffffffffffe
je 0x1401382f4
movzx r9d, byte [rbp + r8*2 + 0x3a0]
mov eax, r9d
and eax, 0xf
je 0x14013824d
movzx ecx, byte [rbp + r8*2 + 0x3a1]
lea r10d, [rcx + rax]
cmp r10b, 8
ja 0x14013824d
movzx ecx, cl
mov r11, r8
shl r11, cl
movzx r11d, r11b
mov cl, 8
sub cl, al
shr r11, cl
lea ecx, [rax - 1]
and cl, 0xf
mov ebx, r11d
shr ebx, cl
mov edi, 0xffffffff
mov ecx, eax
shl edi, cl
test ebx, ebx
jne 0x140138236
or edi, 1
jmp 0x140138238
xor r14d, r14d
mov rsi, qword [rbp + 0x5c8]
cmp qword [rbp + 0x5e8], 0
je 0x140138303
js 0x1401385af
movzx eax, byte [0x1402f4241]
mov ebx, 1
mov edx, 1
mov rcx, qword [rbp + 0x5e8]
call fcn.1400cc190
test rax, rax
je 0x1401385b1
mov rdi, rax
jmp 0x140138308
mov r14w, 1
cmp qword [rbp + 0x5e8], 0
jne 0x1401382c3
mov edi, 1
mov rcx, rdi
mov rdx, qword [rbp + 0x5a8]
mov rbx, qword [rbp + 0x5e8]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + 0x98]
lea rdx, [rbp + 0x3a0]
mov r8d, 0x200
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [rsi + 0x29a]
lea rdx, [rbp - 0x60]
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi], rbx
mov qword [rsi + 8], rdi
mov qword [rsi + 0x10], rbx
mov eax, dword [rbp + 0x5bc]
mov dword [rsi + 0x18], eax
mov eax, dword [rbp + 0x5c0]
mov dword [rsi + 0x1c], eax
mov eax, dword [rbp + 0x5dc]
mov dword [rsi + 0x20], eax
mov eax, dword [rbp + 0x67c]
mov dword [rsi + 0x24], eax
mov eax, dword [rbp + 0x680]
mov dword [rsi + 0x28], eax
mov eax, dword [rbp + 0x5f0]
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp + 0x684]
mov dword [rsi + 0x30], eax
mov eax, dword [rbp + 0x5f8]
mov dword [rsi + 0x34], eax
mov eax, dword [rbp + 0x688]
mov dword [rsi + 0x38], eax
mov eax, dword [rbp + 0x600]
mov dword [rsi + 0x3c], eax
mov eax, dword [rbp + 0x68c]
mov dword [rsi + 0x40], eax
mov eax, dword [rbp + 0x608]
mov dword [rsi + 0x44], eax
mov eax, dword [rbp + 0x694]
mov dword [rsi + 0x48], eax
mov eax, dword [rbp + 0x610]
mov dword [rsi + 0x4c], eax
mov eax, dword [rbp + 0x69c]
mov dword [rsi + 0x50], eax
mov eax, dword [rbp + 0x658]
mov dword [rsi + 0x54], eax
mov eax, dword [rbp + 0x62c]
mov dword [rsi + 0x58], eax
mov eax, dword [rbp + 0x5d0]
mov dword [rsi + 0x5c], eax
mov eax, dword [rbp + 0x618]
mov dword [rsi + 0x60], eax
mov eax, dword [rbp + 0x5e0]
mov dword [rsi + 0x64], eax
mov eax, dword [rbp + 0x61c]
mov dword [rsi + 0x68], eax
mov eax, dword [rbp + 0x630]
mov dword [rsi + 0x6c], eax
mov eax, dword [rbp + 0x620]
mov dword [rsi + 0x70], eax
mov eax, dword [rbp + 0x638]
mov dword [rsi + 0x74], eax
mov eax, dword [rbp + 0x624]
mov dword [rsi + 0x78], eax
mov eax, dword [rbp + 0x640]
mov dword [rsi + 0x7c], eax
mov eax, dword [rbp + 0x628]
mov dword [rsi + 0x80], eax
mov eax, dword [rbp + 0x648]
mov dword [rsi + 0x84], eax
mov eax, dword [rbp + 0x690]
mov dword [rsi + 0x88], eax
mov eax, dword [rbp + 0x650]
mov dword [rsi + 0x8c], eax
mov eax, dword [rbp + 0x698]
mov dword [rsi + 0x90], eax
mov eax, dword [rbp + 0x5c4]
mov dword [rsi + 0x94], eax
mov word [rsi + 0x298], r14w
test r15, r15
je 0x1401384af
mov r8d, 1
mov rcx, qword [rbp + 0x670]
mov rdx, r15
call fcn.1400cc1a0
mov r8d, 2
mov rcx, qword [rbp + 0x660]
mov rdx, qword [rbp + 0x5b0]
call fcn.1400cc1a0
mov rax, rsi
add rsp, 0x728
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov edx, 0x100
mov rcx, r10
call fcn.1401e0320
jmp 0x1401385c0
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov rcx, r9
mov rdx, qword [rbp + 0x5e8]
call fcn.1401dfff0
jmp 0x1401385c0
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov rcx, rax
call fcn.1401e0390
jmp 0x1401385c0
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov rcx, r9
mov rdx, rdi
call fcn.1401dfff0
jmp 0x1401385c0
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov rdx, rdi
call fcn.1401dfff0
jmp 0x1401385c0
mov rdx, rdi
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov rcx, r14
call fcn.1401dfff0
jmp 0x1401385c0
mov qword [rbp + 0x660], rdi
mov qword [rbp + 0x5a0], 2
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
xor ecx, ecx
xor edx, edx
call fcn.1401dfff0
jmp 0x1401385c0
xor r13d, r13d
mov rcx, r13
mov rdx, rsi
call fcn.1401dfc20
jmp 0x1401385c0
mov qword [rbp + 0x5a0], rbx
mov ecx, 1
mov edx, 0x17
call fcn.1401dfc20
jmp 0x1401385c0
xor ebx, ebx
mov rcx, rbx
mov rdx, qword [rbp + 0x5e8]
call fcn.1401dfc20
ud2