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

Disassembly:
test rcx, rcx
je 0x1401c743d
mov qword [rsp + 8], rcx
push rbp
push rdi
push r13
push r15
sub rsp, 0x58
mov rdi, r9
mov r15, r8
mov rbp, rdx
mov r13, rcx
test rdx, rdx
je 0x1401c7433
test r8, r8
je 0x1401c7433
mov qword [rsp + 0x98], r12
xor r12d, r12d
mov dword [rcx + 0x90], 1
mov dword [rcx + 0x94], 1
cmp dword [rdx + 0x48fc], r12d
je 0x1401c6ca7
mov r8, r9
mov rdx, r15
mov rcx, rbp
call fcn.1401d0b70
mov r9d, dword [r15 + 0x10]
mov r10d, dword [rbp + 0x48fc]
cmp r9d, 3
je 0x1401c6b6a
lea r8, str.JPEG_2000_Profile_3__2k_dc_profile__requires:_n3_components___Number_of_components_of_input_image___d__is_not_compliant_n___Non_profile_3_codestream_will_be_generated_n
mov rcx, rdi
lea edx, [r12 + 2]
call fcn.1401c68e0
jmp 0x1401c6ca0
mov rcx, qword [r15 + 0x18]
mov r9d, r12d
mov eax, r9d
shl rax, 6
mov edx, dword [rax + rcx + 0x1c]
cmp edx, 0xc
mov r8d, dword [rax + rcx + 0x20]
mov eax, r12d
setne al
or eax, r8d
jne 0x1401c6c38
inc r9d
cmp r9d, 3
jb 0x1401c6b71
sub r10d, 1
je 0x1401c6bf6
sub r10d, 1
je 0x1401c6bf6
cmp r10d, 1
jne 0x1401c6ca7
mov r9d, dword [rcx + 8]
mov eax, r12d
mov edx, dword [rcx + 0xc]
cmp r9d, 0x1000
mov ecx, r12d
seta cl
cmp edx, 0x870
seta al
or ecx, eax
je 0x1401c6ca7
mov dword [rsp + 0x20], edx
lea r8, str.JPEG_2000_Profile_4__4k_dc_profile__requires:_nwidth___4096_and_height___2160_n___Image_size__d_x__d_is_not_compliant_n___Non_profile_4_codestream_will_be_generated_n
lea edx, [r10 + 1]
mov rcx, rdi
call fcn.1401c68e0
jmp 0x1401c6ca0
mov r9d, dword [rcx + 8]
mov eax, r12d
mov edx, dword [rcx + 0xc]
cmp r9d, 0x800
mov ecx, r12d
seta cl
cmp edx, 0x438
seta al
or ecx, eax
je 0x1401c6ca7
mov dword [rsp + 0x20], edx
lea r8, str.JPEG_2000_Profile_3__2k_dc_profile__requires:_nwidth___2048_and_height___1080_n___Input_image_size__d_x__d_is_not_compliant_n___Non_profile_3_codestream_will_be_generated_n
mov edx, 2
mov rcx, rdi
call fcn.1401c68e0
jmp 0x1401c6ca0
mov eax, dword [str.signed]
lea rcx, [rsp + 0x38]
movsd xmm0, qword [str.unsigned]
test r8d, r8d
mov dword [rsp + 0x30], eax
lea r8, str.JPEG_2000_Profile_3__2k_dc_profile__requires:_nPrecision_of_each_component_shall_be_12_bits_unsigned___At_least_component__d_of_input_image___d_bits___s__is_not_compliant_n___Non_profile_3_codestream_will_be_generated_n
movzx eax, word [0x1403f5f1c]
mov word [rsp + 0x34], ax
movzx eax, byte [0x1403f5f1e]
mov byte [rsp + 0x36], al
movzx eax, byte [0x1403f5f28]
mov byte [rsp + 0x40], al
lea rax, [rsp + 0x30]
cmove rax, rcx
movsd qword [rsp + 0x38], xmm0
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov dword [rsp + 0x20], edx
mov edx, 2
call fcn.1401c68e0
mov dword [rbp + 0x4904], r12d
mov eax, dword [rbp + 0x48fc]
mov dword [r13 + 0xd8], eax
mov eax, dword [rbp + 0x4900]
mov dword [r13 + 0xdc], eax
mov eax, dword [rbp + 0x4904]
mov dword [r13 + 0x70], eax
mov eax, dword [rbp + 0x14]
xor eax, dword [r13 + 0xf4]
and eax, 1
mov qword [rsp + 0x88], rbx
xor dword [r13 + 0xf4], eax
mov eax, dword [r13 + 0xf4]
mov ecx, dword [rbp + 0x18]
add ecx, ecx
xor ecx, eax
and ecx, 2
xor ecx, eax
mov dword [r13 + 0xf4], ecx
mov eax, dword [rbp + 0x1c]
shl eax, 2
xor eax, ecx
and eax, 4
xor eax, ecx
mov dword [r13 + 0xf4], eax
cmp dword [rbp + 0x18], r12d
je 0x1401c6d67
cmp qword [rbp + 0x20], r12
je 0x1401c6d67
movsxd rcx, dword [rbp + 0x15e0]
movsxd rax, dword [rbp + 0x12bc]
imul rcx, rax
lea rbx, [rcx + rcx*2]
shl rbx, 2
cmp rbx, 0xffffffffffffff00
jb 0x1401c6d49
mov rax, r12
jmp 0x1401c6d51
mov rcx, rbx
call fcn.1402d83ac
mov qword [r13 + 0xe8], rax
mov r8, rbx
mov rdx, qword [rbp + 0x20]
mov rcx, rax
call fcn.1402d15b0
mov eax, dword [rbp + 0xc]
mov dword [r13 + 0x7c], eax
mov eax, dword [rbp + 0x10]
mov dword [r13 + 0x80], eax
mov eax, dword [rbp + 4]
mov dword [r13 + 0x74], eax
mov eax, dword [rbp + 8]
mov dword [r13 + 0x78], eax
mov rdx, qword [rbp + 0x28]
test rdx, rdx
je 0x1401c6df2
mov rcx, 0xffffffffffffffff
mov rax, rcx
nop dword [rax]
inc rax
cmp byte [rdx + rax], r12b
jne 0x1401c6da0
inc rax
cmp rax, 0xffffffffffffff00
jb 0x1401c6dc0
mov qword [r13 + 0x88], r12
jmp 0x1401c6df2
inc rcx
cmp byte [rdx + rcx], r12b
jne 0x1401c6dc0
inc rcx
call fcn.1402d83ac
mov qword [r13 + 0x88], rax
test rax, rax
je 0x1401c6df2
mov rdx, qword [rbp + 0x28]
movzx ecx, byte [rdx]
lea rdx, [rdx + 1]
mov byte [rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x1401c6de1
mov eax, dword [r15 + 8]
cmp dword [rbp], r12d
je 0x1401c6e37
mov ecx, dword [r13 + 0x7c]
dec eax
sub ecx, dword [r13 + 0x74]
mov r8d, dword [r13 + 0x80]
add eax, ecx
cdq
mov ecx, r8d
idiv dword [r13 + 0x7c]
sub ecx, dword [r13 + 0x78]
mov dword [r13 + 0x90], eax
mov eax, dword [r15 + 0xc]
dec eax
add eax, ecx
cdq
idiv r8d
mov dword [r13 + 0x94], eax
jmp 0x1401c6e4e
sub eax, dword [r13 + 0x74]
mov dword [r13 + 0x7c], eax
mov eax, dword [r15 + 0xc]
sub eax, dword [r13 + 0x78]
mov dword [r13 + 0x80], eax
cmp byte [rbp + 0x4908], r12b
je 0x1401c6e6d
movzx eax, byte [rbp + 0x4909]
or dword [r13 + 0xf4], 8
mov byte [r13 + 0xf0], al
mov eax, dword [r13 + 0x94]
mov edx, 0x1630
imul eax, dword [r13 + 0x90]
test eax, eax
mov ecx, eax
cmove rcx, r12
call fcn.1402deebc
mov qword [r13 + 0xd0], rax
mov edx, dword [rbp + 0x12b8]
test edx, edx
je 0x1401c6ec2
mov eax, dword [rbp + 0x12bc]
lea rcx, [rbp + 0x38]
mov r9d, dword [r15 + 0x10]
mov r8d, dword [rbp + 0x15e0]
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.1401cf340
mov eax, dword [r13 + 0x94]
xor r8d, r8d
imul eax, dword [r13 + 0x90]
mov r9d, r8d
mov dword [rsp + 0x30], r8d
test eax, eax
je 0x1401c7408
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x50], r14
mov eax, r9d
mov edx, r8d
imul r14, rax, 0x1630
mov eax, dword [rbp + 0x12bc]
add r14, qword [r13 + 0xd0]
mov dword [r14 + 8], eax
test eax, eax
je 0x1401c6f54
mov eax, dword [r13 + 0xf4]
and eax, 4
mov ecx, edx
cmp dword [r13 + 0xd8], 0
je 0x1401c7033
test eax, eax
je 0x1401c6f40
mov eax, dword [rbp + rcx*4 + 0x1450]
mov dword [r14 + rcx*4 + 0x1440], eax
mov eax, dword [rbp + rcx*4 + 0x12c0]
mov dword [r14 + rcx*4 + 0x14], eax
inc edx
cmp edx, dword [r14 + 8]
jb 0x1401c6f13
mov eax, dword [rbp + 0x30]
xor r12d, r12d
mov dword [r14], eax
mov eax, dword [rbp + 0x34]
mov dword [r14 + 4], eax
movsx eax, byte [rbp + 0x490a]
mov dword [r14 + 0x10], eax
mov eax, dword [r14 + 0x1628]
and eax, 0xfffffffd
mov dword [r14 + 0x1628], eax
cmp dword [rbp + 0x12b8], r12d
je 0x1401c704f
or eax, 2
mov edx, r12d
mov dword [r14 + 0x1628], eax
cmp dword [rbp + 0x12b8], edx
jbe 0x1401c702e
nop word [rax + rax]
mov eax, edx
imul rcx, rax, 0x94
lea eax, [r9 + 1]
cmp eax, dword [rcx + rbp + 0x68]
jne 0x1401c7024
mov eax, r8d
imul rcx, rax, 0x94
inc r8d
mov eax, dword [rcx + rbp + 0x38]
mov dword [rcx + r14 + 0x1a8], eax
mov eax, dword [rcx + rbp + 0x3c]
mov dword [rcx + r14 + 0x1ac], eax
mov eax, dword [rcx + rbp + 0x40]
mov dword [rcx + r14 + 0x1b0], eax
mov eax, dword [rcx + rbp + 0x44]
mov dword [rcx + r14 + 0x1b4], eax
mov eax, dword [rcx + rbp + 0x48]
mov dword [rcx + r14 + 0x1b8], eax
mov eax, dword [rcx + rbp + 0x58]
mov dword [rcx + r14 + 0x1c8], eax
mov eax, dword [rcx + rbp + 0x68]
mov dword [rcx + r14 + 0x1d8], eax
inc edx
cmp edx, dword [rbp + 0x12b8]
jb 0x1401c6fb0
dec r8d
jmp 0x1401c7052
test eax, eax
je 0x1401c6f40
mov eax, dword [rbp + rcx*4 + 0x1450]
mov dword [r14 + rcx*4 + 0x1440], eax
jmp 0x1401c6f4c
mov r8d, r12d
mov dword [r14 + 0x1a4], r8d
mov edx, 0x438
mov ecx, dword [r15 + 0x10]
test ecx, ecx
cmove rcx, r12
call fcn.1402deebc
mov qword [r14 + 0x15d0], rax
cmp qword [rbp + 0x4910], 0
mov eax, dword [r15 + 0x10]
je 0x1401c7158
imul eax, eax
shl eax, 2
mov ecx, eax
mov ebx, eax
call fcn.1402d83ac
mov rsi, qword [rbp + 0x4910]
mov ecx, ebx
add rsi, rbx
mov dword [r14 + 0x10], 2
mov rdi, rax
call fcn.1402d83ac
mov qword [r14 + 0x1600], rax
mov r8d, ebx
mov rdx, qword [rbp + 0x4910]
mov rcx, rax
call fcn.1402d15b0
mov rdx, qword [rbp + 0x4910]
mov r8d, ebx
mov rcx, rdi
call fcn.1402d15b0
mov ecx, ebx
call fcn.1402d83ac
mov qword [r14 + 0x15f8], rax
mov ecx, dword [r15 + 0x10]
shl rcx, 3
call fcn.1402d83ac
mov r8, qword [r14 + 0x15f8]
mov rcx, rax
mov qword [r14 + 0x15f0], rax
mov edx, dword [r15 + 0x10]
call fcn.14024d080
mov rcx, rdi
call fcn.1402d83b4
cmp dword [r15 + 0x10], 0
mov r8d, r12d
jbe 0x1401c7147
mov rcx, qword [r14 + 0x15d0]
mov eax, r8d
inc r8d
imul rdx, rax, 0x438
mov eax, dword [rsi + rax*4]
mov dword [rdx + rcx + 0x434], eax
cmp r8d, dword [r15 + 0x10]
jb 0x1401c7123
mov rdx, r15
mov rcx, r14
call fcn.1401c98d0
mov eax, dword [r15 + 0x10]
jmp 0x1401c71a1
mov r8d, r12d
test eax, eax
je 0x1401c71a1
nop
mov eax, r8d
shl rax, 6
add rax, qword [r15 + 0x18]
mov r9d, r8d
cmp dword [rax + 0x20], 0
jne 0x1401c7195
mov ecx, dword [rax + 0x18]
mov edx, 1
mov rax, qword [r14 + 0x15d0]
dec ecx
shl edx, cl
imul rcx, r9, 0x438
mov dword [rcx + rax + 0x434], edx
mov eax, dword [r15 + 0x10]
inc r8d
cmp r8d, eax
jb 0x1401c7160
xor r8d, r8d
mov esi, r8d
test eax, eax
je 0x1401c73d6
nop
mov eax, dword [rbp + 0x30]
mov ecx, r8d
and eax, 1
mov r12d, esi
imul r9, r12, 0x438
add r9, qword [r14 + 0x15d0]
mov dword [r9], eax
mov eax, dword [rbp + 0x15e0]
mov dword [r9 + 4], eax
mov eax, dword [rbp + 0x15e4]
cmp eax, 1
jle 0x1401c71eb
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1401c71e2
mov dword [r9 + 8], ecx
mov ecx, r8d
mov eax, dword [rbp + 0x15e8]
cmp eax, 1
jle 0x1401c7209
nop dword [rax]
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1401c7200
mov dword [r9 + 0xc], ecx
mov eax, dword [rbp + 0x15ec]
mov dword [r9 + 0x10], eax
mov eax, r8d
cmp dword [rbp + 0x15f0], 0
sete al
mov dword [r9 + 0x14], eax
mov eax, dword [rbp + 0x15f0]
neg eax
mov dword [r9 + 0x324], 2
sbb ecx, ecx
and ecx, 2
mov dword [r9 + 0x18], ecx
cmp esi, dword [rbp + 0x15f4]
jne 0x1401c7254
mov eax, dword [rbp + 0x15f8]
jmp 0x1401c7257
mov eax, r8d
mov dword [r9 + 0x328], eax
test byte [rbp + 0x30], 1
je 0x1401c737c
mov eax, dword [r9 + 4]
mov ebx, r8d
sub eax, 1
movsxd rdi, eax
js 0x1401c73a7
lea r10, [rdi*4 + 0x32c]
lea r11, [rbp + 0x1684]
nop word [rax + rax]
movsxd rdx, dword [rbp + 0x15fc]
cmp ebx, edx
jge 0x1401c72f3
mov eax, dword [r11 - 0x84]
cmp eax, 1
jge 0x1401c72ae
mov ecx, 1
jmp 0x1401c72bc
mov ecx, r8d
jle 0x1401c72bc
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1401c72b3
mov dword [r10 + r9], ecx
mov eax, dword [r11]
cmp eax, 1
jge 0x1401c72da
mov ecx, 1
mov dword [r9 + r10 + 0x84], ecx
jmp 0x1401c7366
mov ecx, r8d
jle 0x1401c72e9
nop
shr eax, 1
inc ecx
cmp eax, 1
ja 0x1401c72e0
mov dword [r9 + r10 + 0x84], ecx
jmp 0x1401c7366
mov r8d, dword [rbp + rdx*4 + 0x1680]
mov ecx, ebx
sub ecx, edx
xor r13d, r13d
mov edx, dword [rbp + rdx*4 + 0x15fc]
inc ecx
sar edx, cl
sar r8d, cl
cmp edx, 1
jge 0x1401c731b
lea eax, [r13 + 1]
jmp 0x1401c732c
mov eax, r13d
cmp edx, 1
jle 0x1401c732c
shr edx, 1
inc eax
cmp edx, 1
ja 0x1401c7323
mov dword [r10 + r9], eax
cmp r8d, 1
jge 0x1401c7344
mov dword [r9 + r10 + 0x84], 1
jmp 0x1401c7363
mov eax, r13d
jle 0x1401c735b
nop dword [rax]
shr r8d, 1
inc eax
cmp r8d, 1
ja 0x1401c7350
mov dword [r9 + r10 + 0x84], eax
xor r8d, r8d
inc ebx
add r11, 4
sub r10, 4
sub rdi, 1
jns 0x1401c7290
jmp 0x1401c73a7
cmp dword [r9 + 4], 0
jbe 0x1401c73a7
mov eax, r8d
inc r8d
mov dword [r9 + rax*4 + 0x32c], reloc.WS2_32.dll_ntohs
mov dword [r9 + rax*4 + 0x3b0], reloc.WS2_32.dll_ntohs
cmp r8d, dword [r9 + 4]
jb 0x1401c7383
mov rax, qword [r15 + 0x18]
mov rcx, r9
shl r12, 6
mov edx, dword [r12 + rax + 0x18]
call fcn.14024aa50
inc esi
mov r8d, 0
cmp esi, dword [r15 + 0x10]
jb 0x1401c71b0
mov r13, qword [rsp + 0x80]
mov r9d, dword [rsp + 0x30]
mov eax, dword [r13 + 0x94]
inc r9d
imul eax, dword [r13 + 0x90]
mov dword [rsp + 0x30], r9d
cmp r9d, eax
jb 0x1401c6ef1
mov r14, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rbp + 0x4910]
mov rbx, qword [rsp + 0x88]
test rcx, rcx
je 0x1401c742b
call fcn.1402d83b4
xor r12d, r12d
mov qword [rbp + 0x4910], r12
mov r12, qword [rsp + 0x98]
add rsp, 0x58
pop r15
pop r13
pop rdi
pop rbp
ret