Function at 0x140002450
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r14
sub rsp, 0x70
mov rax, qword [0x140037008]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov rax, qword [0x14003aeb8]
xor r14d, r14d
mov rbp, qword [0x14003b448]
mov qword [rsp + 0x50], rax
call fcn.1400103f0
cmp dword [0x14003b10c], r14d
mov r12d, r14d
mov ecx, dword [0x140039bdc]
mov eax, 0x2000
cmovne r12d, eax
test ecx, ecx
je 0x1400024bf
sub ecx, 2
je 0x1400024b8
cmp ecx, 1
jne 0x1400024c4
bts r12d, 0xb
jmp 0x1400024c4
bts r12d, 0xa
jmp 0x1400024c4
bts r12d, 8
cmp dword [0x14003b108], r14d
je 0x1400024d7
bts r12d, 0xc
call fcn.140010430
mov r10, qword [0x14003b288]
mov edi, 1
mov r8, r10
test r10, r10
je 0x14000252f
nop dword [rax + rax]
cmp byte [r8 + 8], 0xe1
jne 0x140002527
cmp dword [r8 + 0x10], 5
jbe 0x140002527
mov rax, qword [r8 + 0x18]
lea r9, str.G3FAX
sub r9, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r9]
sub edx, ecx
jne 0x140002523
inc rax
test ecx, ecx
jne 0x140002510
test edx, edx
je 0x140002567
mov r8, qword [r8]
test r8, r8
jne 0x1400024f0
mov ebx, r14d
mov rcx, r10
mov dword [0x14003aea0], ebx
call fcn.140001b60
lea rcx, [0x14003b110]
call fcn.140001f70
mov esi, 3
mov edx, r14d
lea r9d, [rsi + 1]
test ebx, ebx
je 0x14000256b
mov dword [0x14003b150], esi
lea edi, [rsi + 0x4d]
jmp 0x1400025c0
mov ebx, edi
jmp 0x140002532
mov r8d, dword [0x14003b14c]
mov ecx, r8d
sub ecx, edi
je 0x1400025b5
sub ecx, edi
je 0x1400025a4
sub ecx, edi
je 0x1400025a4
sub ecx, edi
je 0x14000258d
cmp ecx, edi
jne 0x140002dca
cmp byte [0x14003b278], dl
mov dword [0x14003b150], r9d
cmovne edx, edi
mov edi, 0x30
jmp 0x1400025c0
mov dword [0x14003b150], 2
mov edi, 0x20
jmp 0x1400025c0
mov dword [0x14003b150], edi
mov edi, 0x18
or edi, edx
mov qword [rsp + 0xa0], r13
shl edi, 0xa
mov r13d, 0x21
or edi, dword [0x14003b148]
shl edi, 3
or edi, 1
mov qword [rsp + 0xa8], r15
cmp dword [0x14003ae98], r14d
je 0x140002608
mov rcx, rbp
call fcn.140006bc0
mov r15, rax
mov qword [rsp + 0x40], r14
mov r13, r14
jmp 0x140002968
cmp dword [0x14003aea4], r14d
jne 0x140002771
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
call fcn.1400016e0
test al, al
je 0x140002771
mov ebx, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x40]
mov edx, ebx
call fcn.140006c40
cmp dword [0x14003ad30], r14d
mov r15, rax
je 0x140002700
mov ebp, 1
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.__Embedded_profile_found__n
call fcn.140001060
test r15, r15
jne 0x140002687
lea ecx, [rbp + 1]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
lea rdx, str.Wrong_or_corrupted_profile_n
call fcn.140001060
jmp 0x1400026ef
xor edx, edx
mov rcx, r15
call fcn.140001450
mov edx, ebp
mov rcx, r15
call fcn.140001450
mov edx, 2
mov rcx, r15
call fcn.140001450
mov edx, esi
mov rcx, r15
call fcn.140001450
cmp dword [0x14003ad30], 2
jle 0x1400026e3
lea r8, str.Input_colorant_table
mov edx, 0x636c7274
mov rcx, r15
call fcn.140001510
lea r8, str.Input_colorant_out_table
mov edx, 0x636c6f74
mov rcx, r15
call fcn.140001510
lea rcx, [0x14003999c]
call fcn.1400010b0
mov ecx, ebp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
test r15, r15
je 0x140002761
mov rbp, qword [0x14003b388]
test rbp, rbp
je 0x140002761
lea rdx, [0x140039994]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov r13, rax
test rax, rax
je 0x140002dda
mov rcx, qword [rsp + 0x40]
mov r9, rax
mov r8, rbx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rax, rbx
jne 0x140002dea
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test eax, eax
jne 0x140002dfe
lea r13d, [rax + 0x21]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x140002860
test rbp, rbp
jne 0x14000278f
mov eax, edi
and eax, 0x1f0000
cmp eax, 0xa0000
jne 0x140002855
lea rbp, str.Lab
lea rdx, str.lab
mov rcx, rbp
call fcn.140003810
test eax, eax
jne 0x140002855
mov r8d, esi
mov edx, esi
xor ecx, ecx
call fcn.14000fc00
mov rbx, rax
test rax, rax
jne 0x1400027c2
mov r15, r14
jmp 0x140002860
mov r9d, esi
mov qword [rsp + 0x20], r14
mov r8d, esi
mov edx, r13d
xor ecx, ecx
call fcn.14000eef0
mov r9, rax
test rax, rax
jne 0x1400027e4
mov r15, r14
jmp 0x140002860
mov r8, r9
xor edx, edx
mov rcx, rbx
call fcn.14000fe40
xor r8d, r8d
lea rdx, [0x140001ad0]
mov rcx, r9
call fcn.14000f1f0
xor ecx, ecx
call fcn.1400061e0
mov r15, rax
test rax, rax
jne 0x14000281f
mov rcx, rbx
call fcn.14000fcb0
mov r15, r14
jmp 0x140002860
mov r8, rbx
mov edx, 0x41324230
mov rcx, r15
call fcn.140007540
mov edx, 0x4c616220
mov rcx, r15
call fcn.1400069d0
call fcn.1400069b0
mov edx, 0x73706163
call fcn.1400069f0
mov rcx, rbx
call fcn.14000fcb0
jmp 0x140002860
mov rdx, rbp
call fcn.1400011e0
mov r15, rax
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x140002934
lea rdx, [0x14003a47c]
mov rcx, rbx
call fcn.140003810
test eax, eax
jne 0x140002934
mov r8d, esi
mov edx, esi
xor ecx, ecx
call fcn.14000fc00
mov rbx, rax
test rax, rax
jne 0x1400028a1
mov r13, r14
jmp 0x14000293f
mov r9d, esi
mov qword [rsp + 0x20], r14
mov r8d, esi
mov edx, r13d
xor ecx, ecx
call fcn.14000eef0
mov r9, rax
test rax, rax
jne 0x1400028c3
mov r13, r14
jmp 0x14000293f
mov r8, r9
xor edx, edx
mov rcx, rbx
call fcn.14000fe40
xor r8d, r8d
lea rdx, [0x140001a00]
mov rcx, r9
call fcn.14000f1f0
xor ecx, ecx
call fcn.1400061e0
mov r13, rax
test rax, rax
jne 0x1400028fe
mov rcx, rbx
call fcn.14000fcb0
mov r13, r14
jmp 0x14000293f
mov r8, rbx
mov edx, 0x42324130
mov rcx, r13
call fcn.140007540
mov edx, 0x4c616220
mov rcx, r13
call fcn.1400069d0
call fcn.1400069b0
mov edx, 0x73706163
call fcn.1400069f0
mov rcx, rbx
call fcn.14000fcb0
jmp 0x14000293f
mov rdx, rbx
call fcn.1400011e0
mov r13, rax
mov rdx, qword [0x14003aec0]
mov qword [rsp + 0x40], r14
test rdx, rdx
je 0x140002968
call fcn.1400011e0
mov qword [rsp + 0x40], rax
test rax, rax
je 0x140002e0e
bts r12d, 0xe
test r15, r15
je 0x140002e1b
mov r9d, dword [0x14003ae98]
test r9d, r9d
jne 0x140002986
test r13, r13
je 0x140002e28
mov ecx, edi
shr ecx, 0x10
and ecx, 0x1f
call fcn.14000d870
mov rcx, r15
mov r8d, eax
call fcn.1400069c0
cmp eax, r8d
jne 0x140002e35
test r9d, r9d
je 0x1400029b3
call fcn.1400069a0
jmp 0x1400029bb
mov rcx, r13
call fcn.1400069c0
mov ecx, eax
call fcn.14000d9b0
lea rdx, [0x14003aed0]
mov ebp, eax
lea rcx, [0x14003b110]
call qword [sym.imp.libjpeg.dll_jpeg_copy_critical_parameters]
mov ecx, ebp
sub ecx, esi
je 0x140002a12
sub ecx, 1
je 0x140002a09
sub ecx, 2
je 0x1400029fb
sub ecx, 1
je 0x1400029f5
cmp ecx, esi
jne 0x140002e42
mov ebx, esi
mov eax, esi
jmp 0x140002a1d
mov eax, 4
mov ebx, 5
mov esi, eax
jmp 0x140002a1d
mov eax, 2
mov ebx, esi
jmp 0x140002a1d
mov ecx, 1
mov ebx, ecx
mov eax, ecx
mov esi, ecx
cmp dword [0x140039c24], 0x64
lea rcx, [0x14003aed0]
mov dword [0x14003af0c], eax
cmovge ebx, eax
mov dword [0x14003af2c], esi
mov dword [0x14003af30], ebx
mov dword [0x14003af08], esi
call qword [sym.imp.libjpeg.dll_jpeg_set_defaults]
mov edx, ebx
lea rcx, [0x14003aed0]
call qword [sym.imp.libjpeg.dll_jpeg_set_colorspace]
movzx eax, byte [0x14003b008]
lea rcx, [0x14003aed0]
mov edx, dword [0x140039c24]
mov ebx, 1
cmp ebp, 6
movzx r8d, bl
cmove eax, ebx
mov byte [0x14003b008], al
call qword [sym.imp.libjpeg.dll_jpeg_set_quality]
cmp dword [0x140039c24], 0x46
jl 0x140002ac5
mov edx, r14d
cmp dword [0x14003af2c], edx
jle 0x140002ac5
mov rcx, r14
mov rax, qword [0x14003af38]
lea rcx, [rcx + 0x60]
inc edx
mov dword [rcx + rax - 0x58], ebx
mov rax, qword [0x14003af38]
mov dword [rcx + rax - 0x54], ebx
cmp edx, dword [0x14003af2c]
jl 0x140002aa1
mov edx, edi
lea eax, [rbp - 3]
shr edx, 0xc
and edx, ebx
cmp eax, 7
ja case.0x140002aec.9
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x2e5c]
add rcx, r8
jmp rcx
mov eax, 9
jmp 0x140002b0c
mov eax, 0x19
jmp 0x140002b0c
cmp byte [0x14003b010], r14b
mov eax, 0x21
cmovne r14d, ebx
mov rsi, qword [rsp + 0x40]
lea r9d, [rbp*8]
or r9d, r14d
mov dword [rsp + 0x38], r12d
add r9d, r9d
mov qword [rsp + 0x20], rsi
or r9d, edx
mov r8, r13
shl r9d, 0xc
mov edx, edi
or r9d, eax
mov rcx, r15
call fcn.140011d50
mov rdi, rax
test rax, rax
je 0x140002e4f
movzx eax, byte [0x14003b273]
lea rcx, [0x14003b110]
mov byte [0x14003b00b], al
movzx eax, word [0x14003b274]
mov word [0x14003b00c], ax
movzx eax, word [0x14003b276]
mov word [0x14003b00e], ax
call qword [sym.imp.libjpeg.dll_jpeg_start_decompress]
movzx edx, bl
lea rcx, [0x14003aed0]
call qword [sym.imp.libjpeg.dll_jpeg_start_compress]
cmp ebp, 0xa
jne 0x140002bd5
mov eax, dword [0x14003a550]
lea r8, [rsp + 0x50]
movsd xmm0, qword [0x14003a548]
lea rcx, [0x14003aed0]
mov dword [rsp + 0x58], eax
mov r9d, ebp
movzx eax, word [0x14003a554]
mov edx, 0xe1
mov word [rsp + 0x5c], ax
movsd qword [rsp + 0x50], xmm0
call qword [sym.imp.libjpeg.dll_jpeg_write_marker]
cmp dword [0x14003b440], 0
je 0x140002bed
cmp qword [0x14003aeb8], 0
je 0x140002bed
call fcn.140002230
mov ecx, dword [0x14003b184]
movsxd rax, dword [0x14003b148]
imul rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, dword [0x14003af00]
mov qword [rsp + 0x40], rax
movsxd rax, dword [0x14003af2c]
imul rcx, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rsp + 0x48], rax
mov eax, dword [0x14003b188]
cmp dword [0x14003b1a8], eax
jae 0x140002c91
nop dword [rax]
nop word [rax + rax]
mov r8d, ebx
lea rdx, [rsp + 0x40]
lea rcx, [0x14003b110]
call qword [sym.imp.libjpeg.dll_jpeg_read_scanlines]
mov r9d, dword [0x14003b184]
mov rcx, rdi
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
call fcn.1400104e0
mov r8d, ebx
lea rdx, [rsp + 0x48]
lea rcx, [0x14003aed0]
call qword [sym.imp.libjpeg.dll_jpeg_write_scanlines]
mov eax, dword [0x14003b188]
cmp dword [0x14003b1a8], eax
jb 0x140002c40
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [0x14003b110]
call qword [sym.imp.libjpeg.dll_jpeg_finish_decompress]
lea rcx, [0x14003aed0]
call qword [sym.imp.libjpeg.dll_jpeg_finish_compress]
mov rbx, qword [0x14003b288]
test rbx, rbx
je 0x140002d62
cmp byte [0x14003b008], 0
je 0x140002d07
cmp byte [rbx + 8], 0xe0
jne 0x140002d07
cmp dword [rbx + 0x10], 5
jb 0x140002d07
mov rax, qword [rbx + 0x18]
cmp byte [rax], 0x4a
jne 0x140002d07
cmp byte [rax + 1], 0x46
jne 0x140002d07
cmp byte [rax + 2], 0x49
jne 0x140002d07
cmp byte [rax + 3], 0x46
jne 0x140002d07
cmp byte [rax + 4], 0
je 0x140002d56
cmp byte [0x14003b010], 0
je 0x140002d3d
cmp byte [rbx + 8], 0xee
jne 0x140002d3d
cmp dword [rbx + 0x10], 5
jb 0x140002d3d
mov rax, qword [rbx + 0x18]
cmp byte [rax], 0x41
jne 0x140002d3d
cmp byte [rax + 1], 0x64
jne 0x140002d3d
cmp byte [rax + 2], 0x6f
jne 0x140002d3d
cmp byte [rax + 3], 0x62
jne 0x140002d3d
cmp byte [rax + 4], 0x65
je 0x140002d56
movzx edx, byte [rbx + 8]
lea rcx, [0x14003aed0]
mov r9d, dword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
call qword [sym.imp.libjpeg.dll_jpeg_write_marker]
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140002cd1
mov rcx, rdi
call fcn.140010440
mov rcx, r15
call fcn.140007160
mov rcx, r13
call fcn.140007160
test rsi, rsi
je 0x140002d87
mov rcx, rsi
call fcn.140007160
mov r13, qword [rsp + 0xa0]
mov eax, 1
mov r15, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.14002b460
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, str.Unsupported_output_color_space
call fcn.140001110
int3
mov edx, r8d
lea rcx, str.Unsupported_color_space__0x_x_
call fcn.140001110
int3
mov rdx, rbp
lea rcx, [0x140039980]
call fcn.140001110
int3
mov edx, dword [rsp + 0x48]
lea rcx, str.Cannot_write__ld_bytes_to__s
mov r8, rbp
call fcn.140001110
int3
mov rdx, rbp
lea rcx, str.Error_flushing_file__s
call fcn.140001110
int3
lea rcx, str.Proofing_profile_couldnt_be_read.
call fcn.140001110
int3
lea rcx, str.Input_profile_couldnt_be_read.
call fcn.140001110
int3
lea rcx, str.Output_profile_couldnt_be_read.
call fcn.140001110
int3
lea rcx, str.Input_profile_is_not_operating_in_proper_color_space
call fcn.140001110
int3
lea rcx, [0x14003a4b8]
call fcn.140001110
int3
lea rcx, str.Cannot_transform_by_using_the_profiles
call fcn.140001110
int3