Function at 0x140119d50
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 0x140119df9
lea rcx, [rbp + 0x3a0]
xor edx, edx
mov r8, r14
call fcn.1401bbb20
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 0x140119e03
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 0x140119e75
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140119e79
test cl, cl
je 0x140119e97
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 0x140119f03
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140119f07
test cl, cl
je 0x140119f25
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 0x140119f91
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x140119f95
test cl, cl
je 0x140119fb3
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 0x14011a01f
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a023
test cl, cl
je 0x14011a041
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 0x14011a0ad
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a0b1
test cl, cl
je 0x14011a0cf
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 0x14011a13b
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a13f
test cl, cl
je 0x14011a15d
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 0x14011a1c9
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a1cd
test cl, cl
je 0x14011a1eb
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 0x14011a257
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a25b
test cl, cl
je 0x14011a279
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 0x14011a2e5
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a2e9
test cl, cl
je 0x14011a307
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 0x14011a373
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a377
test cl, cl
je 0x14011a395
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 0x14011a401
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a405
test cl, cl
je 0x14011a423
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 0x14011a48f
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r15, qword [rbp + 0x3a8]
jmp 0x14011a493
test cl, cl
je 0x14011a4b1
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 0x14011a51c
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
mov r8, r15
call fcn.1401bbb20
mov rdi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov r12, qword [rbp + 0x3a8]
jmp 0x14011a520
test cl, cl
je 0x14011a537
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 0x14011a5a5
lea rcx, [rbp + 0x3a0]
mov rdx, rsi
mov r8, r12
call fcn.1401bbb20
mov rsi, qword [rbp + 0x3b0]
mov rbx, qword [rbp + 0x3a0]
mov rdi, qword [rbp + 0x3a8]
jmp 0x14011a5ac
mov rdx, rbx
test cl, cl
je 0x14011a5c3
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 0x14011a644
lea rcx, [rbp + 0x3a0]
mov rdx, rdi
mov r8, rbx
call fcn.1401bbb20
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 0x14011a649
test r13b, r13b
je 0x14011a661
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 0x14011b3c3
mov byte [rbp + 0x62c], r13b
mov qword [rbp + 0x5d0], rbx
mov rax, rdi
shr rax, 0x3e
lea rsi, [rdi + rdi]
test rax, rax
jne 0x14011b3e7
mov r13d, 2
mov edx, 2
mov rcx, rsi
call fcn.1400b4840
test rax, rax
je 0x14011b3ea
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 0x14011a71f
mov r11d, ecx
sub r11b, r9b
and r11b, 7
je 0x14011a703
neg r11b
xor ebx, ebx
nop dword [rax]
add eax, eax
dec bl
cmp r11b, bl
jne 0x14011a6f0
sub r9b, bl
mov rbx, qword [rbp + 0x660]
mov r11d, r9d
mov r9d, ecx
cmp r10b, 0xf8
ja 0x14011a71f
nop
shl eax, 8
add r11b, 8
cmp r11b, cl
jb 0x14011a710
mov r9d, ecx
mov r10d, eax
shr r10d, cl
test r10d, r10d
jne 0x14011a851
inc rdx
mov word [rbx + r8*2], ax
inc r8
inc eax
cmp rdx, r13
jne 0x14011a6d0
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 0x14011a782
lea rcx, [r14 - 1]
cmp rcx, rdi
jae 0x14011b39e
movzx r10d, word [rbx]
neg r10d
movzx r8d, word [rbx + r14*2 - 2]
cmp byte [rbp + 0x67c], 0
je 0x14011a7bf
cmp rdi, r14
jbe 0x14011b3af
lea rcx, [rax + r14]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011a8ee
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011a913
jmp 0x14011a955
mov qword [rbp + 0x660], rdi
movzx eax, byte [0x140260201]
mov ecx, 0x17
mov edx, 1
call fcn.1400b4810
test rax, rax
je 0x14011b3f7
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.1400b4820
mov rdx, qword [rbp + 0x668]
test rdx, rdx
mov rcx, qword [rbp + 0x670]
mov rsi, qword [rbp + 0x5c8]
je 0x14011a8c8
mov r8d, 1
call fcn.1400b4820
mov qword [rsi + 8], 0x17
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 0x17
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x14011b328
mov eax, 0xffffffff
mov dword [rbp + 0x5dc], 0
cmp byte [rbp + 0x680], 0
movzx edx, byte [rbp + 0x61c]
mov dword [rbp + 0x618], eax
je 0x14011a955
cmp r14, rdi
jae 0x14011b3af
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011a9d7
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011a9fc
jmp 0x14011aa3e
mov eax, 0xffffffff
mov dword [rbp + 0x680], 0
cmp byte [rbp + 0x620], 0
movzx edx, byte [rbp + 0x684]
mov dword [rbp + 0x61c], eax
je 0x14011aa3e
cmp r14, rdi
jae 0x14011b3af
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011aac0
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011aae5
jmp 0x14011ab27
mov eax, 0xffffffff
mov dword [rbp + 0x684], 0
cmp byte [rbp + 0x624], 0
movzx edx, byte [rbp + 0x688]
mov dword [rbp + 0x620], eax
je 0x14011ab27
cmp r14, rdi
jae 0x14011b3af
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011aba9
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011abce
jmp 0x14011ac10
mov eax, 0xffffffff
mov dword [rbp + 0x688], 0
cmp byte [rbp + 0x628], 0
movzx edx, byte [rbp + 0x68c]
mov dword [rbp + 0x624], eax
je 0x14011ac10
cmp r14, rdi
jae 0x14011b3af
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011ac92
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011acb7
jmp 0x14011acf9
mov eax, 0xffffffff
mov dword [rbp + 0x68c], 0
cmp byte [rbp + 0x690], 0
movzx edx, byte [rbp + 0x694]
mov dword [rbp + 0x628], eax
je 0x14011acf9
cmp r14, rdi
jae 0x14011b3af
add rcx, r14
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011ade0
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + rax]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011ae08
mov edx, 0xffffffff
test al, al
je 0x14011ae56
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + r12]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011ae84
jmp 0x14011aeba
mov dword [rbp + 0x690], 0xffffffff
mov dword [rbp + 0x694], 0
movzx eax, byte [rbp + 0x69c]
cmp byte [rbp + 0x698], 0
je 0x14011ad73
cmp r14, rdi
jae 0x14011b3af
lea rcx, [r14 + r15]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011ad80
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 0x14011aeba
cmp r14, rdi
jae 0x14011b3af
mov rax, qword [rbp + 0x5d0]
lea rcx, [rax + r14]
dec rcx
cmp rcx, rdi
jae 0x14011b39e
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 0x14011b035
mov r9, rbx
movzx r11d, byte [r8]
inc r8
inc rbx
cmp r11, 8
ja 0x14011af00
cmp r9, rdi
jae 0x14011b387
cmp r9, qword [rbp + 0x5e8]
jae 0x14011b358
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 0x14011b33f
mov edx, 0x100
sub rdx, r10
mov eax, 1
shl rax, cl
cmp rax, rdx
ja 0x14011b373
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 0x14011b016
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 0x14011aff0
cmp r14, r12
mov r15, qword [rbp + 0x668]
je 0x14011af00
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 0x14011b020
jmp 0x14011af00
cmp byte [rbp + 0x710], 0
je 0x14011b10f
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 0x14011b050
mov edx, 0x200
xor r8d, r8d
jmp 0x14011b0ba
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 0x14011b154
movzx r9d, byte [rbp + r8*2 + 0x3a0]
mov eax, r9d
and eax, 0xf
je 0x14011b0ad
movzx ecx, byte [rbp + r8*2 + 0x3a1]
lea r10d, [rcx + rax]
cmp r10b, 8
ja 0x14011b0ad
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 0x14011b096
or edi, 1
jmp 0x14011b098
xor r14d, r14d
mov rsi, qword [rbp + 0x5c8]
cmp qword [rbp + 0x5e8], 0
je 0x14011b163
js 0x14011b40f
movzx eax, byte [0x140260201]
mov ebx, 1
mov edx, 1
mov rcx, qword [rbp + 0x5e8]
call fcn.1400b4810
test rax, rax
je 0x14011b411
mov rdi, rax
jmp 0x14011b168
mov r14w, 1
cmp qword [rbp + 0x5e8], 0
jne 0x14011b123
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 0x14011b30f
mov r8d, 1
mov rcx, qword [rbp + 0x670]
mov rdx, r15
call fcn.1400b4820
mov r8d, 2
mov rcx, qword [rbp + 0x660]
mov rdx, qword [rbp + 0x5b0]
call fcn.1400b4820
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.1401c0500
jmp 0x14011b420
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.1401c01d0
jmp 0x14011b420
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov rcx, rax
call fcn.1401c0570
jmp 0x14011b420
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.1401c01d0
jmp 0x14011b420
lea r8, str.C:Userskernel.cargo_registry_srcindex.crates.io_6f17d22bba15001fjpeg_decoder_0.3.1_srchuffman.rs
mov rdx, rdi
call fcn.1401c01d0
jmp 0x14011b420
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.1401c01d0
jmp 0x14011b420
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.1401c01d0
jmp 0x14011b420
xor r13d, r13d
mov rcx, r13
mov rdx, rsi
call fcn.1401bfe00
jmp 0x14011b420
mov qword [rbp + 0x5a0], rbx
mov ecx, 1
mov edx, 0x17
call fcn.1401bfe00
jmp 0x14011b420
xor ebx, ebx
mov rcx, rbx
mov rdx, qword [rbp + 0x5e8]
call fcn.1401bfe00
ud2