Function at 0x14007fbc0
Capabilities:
Read file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x878]
sub rsp, 0x978
mov rax, qword [0x1402a83b0]
xor rax, rsp
mov qword [rbp + 0x860], rax
mov rbx, rcx
mov qword [rbp - 0x78], rcx
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rdx
call fcn.1401c2310
mov r9, qword [rbx]
mov esi, 1
lea rcx, [rbp + 0x150]
mov edi, eax
lea edx, [rsi + 7]
mov r8d, esi
call fcn.1401c1e14
test rax, rax
jne 0x14007fc35
mov eax, 4
jmp 0x140080c86
cmp byte [rbp + 0x150], 0x89
jne 0x140080c81
cmp byte [rbp + 0x151], 0x50
jne 0x140080c81
cmp byte [rbp + 0x152], 0x4e
jne 0x140080c81
cmp byte [rbp + 0x153], 0x47
jne 0x140080c81
cmp byte [rbp + 0x154], 0xd
jne 0x140080c81
cmp byte [rbp + 0x155], 0xa
jne 0x140080c81
cmp byte [rbp + 0x156], 0x1a
jne 0x140080c81
cmp byte [rbp + 0x157], 0xa
jne 0x140080c81
mov rcx, qword [rbx]
xor r8d, r8d
mov edx, edi
call fcn.1401c1f88
lea rcx, str.1.6.34
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.140153ef0
mov qword [rsp + 0x38], rax
mov qword [rax + 0x140], rbx
mov rcx, qword [rsp + 0x38]
call fcn.140156a60
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
call fcn.140156a60
mov rcx, qword [rsp + 0x38]
lea r8, [0x1400cc5e0]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x50], rax
call fcn.14015d5c0
mov rcx, qword [rsp + 0x38]
xor r13d, r13d
mov rdx, rsp
mov qword [rsp + 0x58], r13
call fcn.1401bd630
test eax, eax
je 0x14007fd69
mov rax, qword [rsp + 0x38]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
cmp dword [rax + 0x238], 0x43674249
lea rcx, [rsp + 0x38]
sete r13b
call fcn.140153f80
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14007fd4d
call fcn.1401be23c
test r13d, r13d
je 0x140080c81
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rbp - 0x78]
call fcn.14007fa30
jmp 0x140080c86
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rsp + 0x38]
lea r8, [0x1400b1310]
call fcn.14015d770
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call fcn.140154700
mov rcx, qword [rsp + 0x38]
mov rdx, rsp
call fcn.1401bd630
test eax, eax
je 0x14007fdd7
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.140153f80
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14007fdc1
call fcn.1401be23c
cmp word [rsp + 0x30], 0xf
jne 0x14007fc2b
mov eax, 0xf
jmp 0x140080c86
mov r8, qword [rsp + 0x40]
movzx eax, byte [r8 + 0x24]
cmp al, 8
jb 0x14007fdec
mov eax, 8
jmp 0x14007fdef
movzx eax, al
movzx ecx, byte [r8 + 0x25]
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x68], eax
movzx eax, cl
mov r15d, 4
and al, 3
cmp al, 3
je 0x14007fe57
test cl, 0xfb
je 0x14007fe57
mov dword [rsp + 0x70], 3
cmp byte [r14 + 0x187], r13b
je 0x14007fe44
mov eax, 0xff
mov dword [rbp + 0x144], 0xff00ff
lea rdx, [rbp + 0x140]
mov word [rbp + 0x142], ax
jmp 0x14007fef5
test r15b, cl
je 0x14007ff18
mov dword [rsp + 0x70], r15d
jmp 0x14007ff18
mov dword [rsp + 0x70], esi
test r15b, cl
je 0x14007fe86
mov eax, 0xff
mov dword [rbp + 0x134], 0xff00ff
lea rdx, [rbp + 0x130]
mov word [rbp + 0x132], ax
mov word [rbp + 0x138], ax
jmp 0x14007fef5
test byte [r8 + 8], 0x10
je 0x14007ff18
movzx eax, word [r8 + 0x22]
test ax, ax
je 0x14007ff18
movzx r9d, ax
mov edx, r13d
test r9d, r9d
jle 0x14007ff18
mov r10, qword [r8 + 0xb8]
nop
movsxd rax, edx
movzx ecx, byte [rax + r10]
inc cl
test cl, 0xfe
jne 0x14007fec8
inc edx
cmp edx, r9d
jl 0x14007feb0
jmp 0x14007ff18
cmp byte [r14 + 0x186], r13b
je 0x14007ff18
mov eax, 0xff
mov dword [rbp + 0x124], 0xff00ff
lea rdx, [rbp + 0x120]
mov word [rbp + 0x122], ax
mov word [rbp + 0x128], ax
movsd xmm0, qword [0x140269a98]
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
mov r8d, esi
movsd qword [rsp + 0x20], xmm0
call fcn.14015cb60
mov r8, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
mov rdx, r8
call fcn.14015d910
mov rcx, qword [rsp + 0x40]
cmp byte [rcx + 0x24], 0x10
mov r12, rax
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x70], eax
jne 0x14007ff4a
mov rcx, qword [rsp + 0x38]
call fcn.14015cd60
mov rcx, qword [rsp + 0x40]
mov eax, dword [rcx + 0x94]
lea r8, str.Comment
test eax, eax
je 0x140080110
mov edx, dword [r14 + 0xc0]
bt edx, 0x12
jb 0x14007ff76
bt edx, 0x10
jae 0x140080110
mov r12d, r13d
test eax, eax
jle 0x14008010b
mov rsi, qword [rcx + 0xa0]
movsxd rax, r12d
mov rcx, r13
imul rdi, rax, 0x38
mov rbx, qword [rsi + rdi + 8]
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x14007ffdc
cmp rcx, 8
jne 0x14007ffa0
mov rdx, qword [rsi + rdi + 0x10]
or rax, 0xffffffffffffffff
nop dword [rax]
cmp byte [rdx + rax + 1], 0
lea rax, [rax + 1]
jne 0x14007ffc0
lea r8d, [rax + 1]
mov rcx, r14
call fcn.14005a720
jmp 0x1400800e6
lea rdx, str.XML:com.adobe.xmp
mov rcx, rbx
call fcn.1401c3380
test eax, eax
jne 0x140080022
mov r8, qword [rsi + rdi + 0x10]
or rax, 0xffffffffffffffff
nop dword [rax + rax]
cmp byte [r8 + rax + 1], 0
lea rax, [rax + 1]
jne 0x140080000
lea r9d, [rax + 1]
mov edx, 3
mov rcx, r14
call fcn.14005a950
jmp 0x1400800e6
lea rdx, str.Raw_profile_type_iptc
mov r8d, 0x15
mov rcx, rbx
call fcn.1401c25f0
test eax, eax
jne 0x1400800e6
mov rax, qword [rsp + 0x40]
lea rdx, [rbp - 0x6c]
mov rcx, qword [rax + 0xa0]
add rcx, rdi
call fcn.1400817f0
mov rdi, rax
test rax, rax
je 0x1400800e6
movzx ecx, byte [0x1402131b6]
movzx eax, word [0x1402131b4]
movsxd rsi, dword [rbp - 0x6c]
mov r13d, dword [0x1402131b0]
mov byte [rbp - 0x52], cl
lea r15d, [rsi + 0xe]
movsxd rcx, r15d
mov word [rsp + 0x30], ax
call fcn.1401bee78
mov rbx, rax
test rax, rax
je 0x1400800db
movsd xmm0, qword [str.Photoshop_3.0]
lea rcx, [rbx + 0xe]
mov r8, rsi
movsd qword [rax], xmm0
mov dword [rax + 8], r13d
movzx eax, word [rsp + 0x30]
mov rdx, rdi
mov word [rbx + 0xc], ax
call fcn.1401bd6e0
mov r9d, r15d
mov r8, rbx
mov edx, 2
mov rcx, r14
call fcn.14005a950
mov rcx, rbx
call fcn.1401be23c
mov rcx, rdi
call fcn.1401be23c
xor r13d, r13d
mov rcx, qword [rsp + 0x40]
inc r12d
lea r8, str.Comment
cmp r12d, dword [rcx + 0x94]
jl 0x14007ff81
mov esi, 1
lea r15d, [rsi + 3]
mov r12, qword [rsp + 0x78]
lea rcx, [rbp - 0x50]
call fcn.140060c40
mov eax, dword [rbp - 0x50]
cmp dword [rbp + 0x8d8], 0
mov r9, qword [rsp + 0x40]
mov r11d, dword [rsp + 0x70]
mov word [rbp - 0x30], si
mov ecx, 0x20
cmovne eax, ecx
mov dword [rbp - 0x50], eax
mov eax, dword [rsp + 0x68]
imul ax, r11w
mov word [rbp - 0x2e], ax
mov r8d, dword [r9]
mov dword [rbp - 0x38], r8d
mov r10d, dword [r9 + 4]
mov dword [rbp - 0x34], r10d
cmp ax, 8
jl 0x140080173
cwde
imul eax, r8d
cdq
and edx, 7
add eax, edx
sar eax, 3
mov ecx, eax
mov dword [rbp - 0x28], eax
jmp 0x140080179
mov ecx, r12d
mov dword [rbp - 0x28], ecx
mov word [rbp - 8], r15w
cmp byte [r9 + 0x24], 0x10
jne 0x14008019f
mov dword [rbp - 0x1c], r8d
mov dword [rbp - 0x18], r10d
mov dword [rbp - 0xc], r11d
movzx eax, byte [r9 + 0x24]
mov dword [rbp - 0x10], eax
lea eax, [rcx + rcx]
mov dword [rbp - 0x14], eax
cmp dword [r14 + 0xd4], 0
jg 0x1400801e2
mov rcx, qword [rsp + 0x38]
mov r8d, 0x20000
mov rdx, r9
call fcn.14015d970
test eax, eax
je 0x1400801dd
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x38]
call fcn.14015d8f0
mov dword [r14 + 0x6c], eax
mov rcx, qword [rsp + 0x38]
call fcn.140158880
mov r9, qword [rsp + 0x40]
test byte [r9 + 8], 0x80
je 0x14008023f
cmp byte [r9 + 0xe8], 1
jne 0x14008023f
mov eax, dword [r9 + 0xe0]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x140213230]
addsd xmm0, qword [0x1401f6ca0]
cvttsd2si eax, xmm0
xorps xmm0, xmm0
mov dword [rbp - 0x24], eax
mov eax, dword [r9 + 0xe4]
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x140213230]
addsd xmm0, qword [0x1401f6ca0]
cvttsd2si eax, xmm0
mov dword [rbp - 0x20], eax
test byte [r9 + 8], 0x10
je 0x140080277
movzx eax, word [r9 + 0x22]
test ax, ax
je 0x140080277
movzx edx, ax
mov ecx, r13d
test edx, edx
jle 0x140080277
mov r8, qword [r9 + 0xb8]
movsxd rax, ecx
cmp byte [rax + r8], 0
je 0x140080273
inc ecx
cmp ecx, edx
jl 0x140080261
jmp 0x140080277
mov word [rbp - 4], cx
mov rcx, qword [rsp + 0x38]
mov r8d, 0x1000
mov rdx, r9
call fcn.14015d970
test eax, eax
je 0x1400802bf
test dword [r14 + 0xc0], 0x40000
je 0x1400802bf
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x24], 8
ja 0x1400802c4
mov r9d, dword [rax + 0x90]
mov r8, qword [rax + 0x88]
mov edx, r15d
mov rcx, r14
call fcn.14005a950
mov rax, qword [rsp + 0x40]
mov rbx, qword [rbp + 0x8d0]
test rbx, rbx
jne 0x140080321
mov edx, dword [r14 + 0x6c]
cmp edx, 1
jle 0x140080321
mov r8, qword [rsp + 0x38]
lea rcx, [rbp - 0x50]
mov r9, rax
mov qword [rsp + 0x28], rcx
mov ecx, dword [r14 + 0xc4]
mov qword [rsp + 0x20], r14
call fcn.140081090
test eax, eax
jne 0x14008031c
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.140153f80
movzx eax, r13w
jmp 0x140080c86
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x28], 0
je 0x14008050c
mov rcx, qword [rsp + 0x38]
call fcn.140158880
test rbx, rbx
lea rcx, str.Portable_Network_Graphics
lea rdx, [rbp + 0x9e]
cmovne rcx, rbx
mov edi, eax
sub rdx, rcx
nop
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140080350
test rbx, rbx
jne 0x14008039a
lea rcx, [rbp + 0x9e]
dec rcx
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140080370
mov eax, dword [0x1402131c0]
movsd xmm0, qword [str.__Interlaced_]
movsd qword [rcx], xmm0
mov dword [rcx + 8], eax
movzx eax, word [0x1402131c4]
mov word [rcx + 0xc], ax
mov rax, qword [rsp + 0x40]
mov esi, dword [rax + 4]
mov ecx, esi
imul ecx, r12d
call fcn.1401bee78
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x1400803d5
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.140153f80
mov eax, 1
jmp 0x140080c86
lea eax, [rdi - 1]
test eax, eax
jle 0x140080443
mov r14, qword [rsp + 0x58]
mov r15d, eax
mov edi, r13d
test esi, esi
je 0x140080433
mov ebx, r13d
mov r13d, 1
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x38]
mov eax, ebx
lea rdx, [rsp + 0x60]
add rax, r14
mov r9d, r13d
xor r8d, r8d
mov qword [rsp + 0x60], rax
call fcn.140154e50
mov rax, qword [rsp + 0x40]
mov esi, dword [rax + 4]
inc edi
add ebx, r12d
cmp edi, esi
jb 0x140080400
xor r13d, r13d
dec r15
jne 0x1400803e4
mov r14, qword [rsp + 0x48]
mov r15d, 4
mov esi, 1
mov eax, dword [r14 + 0xc0]
bt eax, 0x18
jae 0x14008046b
bt eax, 0x12
jae 0x14008046b
mov rcx, qword [rbp - 0x78]
lea r8, [rbp - 0x50]
mov rdx, r14
call fcn.140080cb0
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.14005ee10
movzx ebx, ax
mov word [rsp + 0x30], ax
test ax, ax
jne 0x140080c56
mov rcx, r15
call fcn.1401bee78
mov rdx, rsp
mov dword [rax], r13d
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x68], rax
call fcn.1401bd630
test eax, eax
je 0x1400805da
mov rbx, qword [rsp + 0x68]
cmp dword [rbx], 0
jne 0x140080581
mov rdi, qword [rsp + 0x40]
xor edx, edx
cmp byte [rdi + 0x25], 3
jne 0x140080571
lea rcx, [rbp + 0x560]
mov r8d, 0x300
call fcn.1401c0040
movzx eax, word [rdi + 0x20]
mov rdx, qword [rdi + 0x18]
lea ecx, [rax + rax*2]
movsxd r8, ecx
lea rcx, [rbp + 0x560]
call fcn.1401bd6e0
mov edx, 0x100
mov r8d, 8
lea r9, [rbp + 0x560]
jmp 0x140080577
test rbx, rbx
lea rcx, str.Portable_Network_Graphics
lea rdx, [rbp + 0x9e]
cmovne rcx, rbx
sub rdx, rcx
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rcx]
lea rcx, [rcx + 1]
mov byte [rcx + rdx - 1], al
test al, al
jne 0x140080530
mov ecx, r12d
call fcn.1401bee78
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x140080448
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.140153f80
movzx eax, si
jmp 0x140080c86
xor r8d, r8d
xor r9d, r9d
mov rcx, qword [rsp + 0x48]
call fcn.14005cb20
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.140153f80
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x1400805a4
call fcn.1401be23c
cmp word [rsp + 0x30], 0xf
mov rcx, rbx
jne 0x1400805be
call fcn.1401be23c
mov eax, 0xf
jmp 0x140080c86
cmp dword [rbx], 0
cmovne r15w, r13w
mov word [rsp + 0x30], r15w
call fcn.1401be23c
movzx eax, r15w
jmp 0x140080c86
cmp dword [rbp + 0x8d8], 0
je 0x1400805f3
mov rcx, qword [rsp + 0x38]
mov r8d, r15d
mov edx, r15d
call fcn.14015cc80
mov rcx, qword [rsp + 0x40]
mov ebx, r13d
cmp byte [rcx + 0x28], 0
je 0x140080698
cmp dword [rcx + 4], 0
jbe 0x1400806ef
mov esi, dword [rbp - 0x70]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x48]
mov edi, r13d
mov r12d, 1
nop word [rax + rax]
mov rcx, qword [rsp + 0x38]
mov eax, edi
lea rdx, [rsp + 0x60]
add rax, r14
mov r9d, r12d
xor r8d, r8d
mov qword [rsp + 0x60], rax
call fcn.140154e50
movsxd r8, dword [rbp - 0x28]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x40]
call fcn.1401bd6e0
or r8d, 0xffffffff
mov r9d, r12d
or edx, r8d
mov rcx, r15
call fcn.1400615b0
mov word [rsp + 0x30], ax
test ax, ax
jne 0x14008068b
mov rax, qword [rsp + 0x40]
inc ebx
add edi, esi
cmp ebx, dword [rax + 4]
jb 0x140080630
mov r14, qword [rsp + 0x48]
mov r15d, 4
jmp 0x1400806fa
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x60], rax
cmp dword [rcx + 4], 0
jbe 0x1400806ef
mov r14, qword [rsp + 0x48]
nop dword [rax]
mov rcx, qword [rsp + 0x38]
lea rdx, [rsp + 0x60]
mov r9d, esi
xor r8d, r8d
call fcn.140154e50
or r8d, 0xffffffff
mov r9d, esi
or edx, r8d
mov rcx, r14
call fcn.1400615b0
mov word [rsp + 0x30], ax
test ax, ax
jne 0x1400806f4
mov rax, qword [rsp + 0x40]
inc ebx
cmp ebx, dword [rax + 4]
jb 0x1400806b0
jmp 0x1400806f4
mov r14, qword [rsp + 0x48]
mov r12d, 1
mov rax, qword [rsp + 0x68]
xor edx, edx
mov dword [rax], r12d
mov rbx, qword [rsp + 0x40]
cmp byte [rbx + 0x25], 3
jne 0x140080845
lea rcx, [rbp + 0x160]
mov r8d, 0x400
mov edi, r13d
call fcn.1401c0040
mov edx, dword [rbx + 8]
and edx, 0x10
je 0x140080756
movzx eax, word [rbx + 0x22]
test ax, ax
je 0x140080756
movzx ecx, ax
test ecx, ecx
jle 0x140080756
mov rax, qword [rbx + 0xb8]
cmp byte [rax], 0xff
je 0x14008074e
inc edi
inc rax
dec rcx
jne 0x140080747
cmp edi, 1
jle 0x140080817
test edx, edx
je 0x140080817
cmp word [rbx + 0x22], 0
jbe 0x140080817
mov r9d, r13d
cmp r13w, word [rbx + 0x20]
jae 0x1400807ce
nop dword [rax]
mov rax, qword [rbx + 0x18]
movsxd r8, r9d
inc r9d
lea rdx, [r8 + r8*2]
movzx ecx, byte [rdx + rax]
mov byte [rbp + r8*4 + 0x160], cl
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rdx + rax + 1]
mov byte [rbp + r8*4 + 0x161], cl
mov rax, qword [rbx + 0x18]
movzx ecx, byte [rdx + rax + 2]
mov byte [rbp + r8*4 + 0x162], cl
mov byte [rbp + r8*4 + 0x163], 0xff
movzx eax, word [rbx + 0x20]
cmp r9d, eax
jl 0x140080780
mov r9d, r13d
cmp r13w, word [rbx + 0x22]
jae 0x140080803
nop dword [rax + rax]
mov rax, qword [rbx + 0xb8]
movsxd r8, r9d
inc r9d
movzx ecx, byte [r8 + rax]
mov byte [rbp + r8*4 + 0x163], cl
movzx eax, word [rbx + 0x22]
cmp r9d, eax
jl 0x1400807e0
mov edx, 0x400
mov r8d, 8
lea r9, [rbp + 0x160]
jmp 0x14008084b
movzx eax, word [rbx + 0x20]
mov rdx, qword [rbx + 0x18]
lea ecx, [rax + rax*2]
movsxd r8, ecx
lea rcx, [rbp + 0x160]
call fcn.1401bd6e0
mov edx, 0x100
mov r8d, 8
lea r9, [rbp + 0x160]
jmp 0x14008084b
xor r8d, r8d
xor r9d, r9d
mov rcx, r14
call fcn.14005cb20
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
call fcn.140154200
test dword [r14 + 0xc0], 0x40000
je 0x140080c47
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x38]
lea r8, [rbp - 0x80]
xor r9d, r9d
call fcn.14015d930
test eax, eax
jle 0x140080c47
mov ecx, eax
mov rsi, r13
mov qword [rsp + 0x78], r13
lea rdx, str.Artist
lea r8, str.Author
lea r12, str.Label
mov qword [rsp + 0x70], rcx
nop word [rax + rax]
mov rdi, qword [rbp - 0x80]
mov rcx, r13
mov rbx, qword [rdi + rsi + 8]
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080913
cmp rcx, 7
jne 0x1400808d0
lea rdx, str.comment
mov rcx, rbx
call fcn.1401c286c
mov rdx, qword [rbp - 0x80]
mov rcx, r14
test eax, eax
jne 0x140080c0d
mov rdx, qword [rdx + rsi + 0x10]
xor r8d, r8d
call fcn.14005a720
jmp 0x140080c1f
mov rcx, r13
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r8 + rcx - 1]
jne 0x140080936
cmp rcx, 7
jne 0x140080920
jmp 0x1400808e3
mov rcx, r13
lea rdx, str.Comment
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080955
cmp rcx, 8
jne 0x140080940
jmp 0x1400808e3
lea rdx, str.Copyright
mov rcx, rbx
call fcn.1401c3380
test eax, eax
je 0x1400808e3
lea rdx, str.Creation_Time
mov rcx, rbx
call fcn.1401c3380
test eax, eax
je 0x1400808e3
lea rdx, str.Description
mov rcx, rbx
call fcn.1401c3380
test eax, eax
je 0x1400808e3
lea rdx, str.Disclaimer
mov rcx, rbx
call fcn.1401c3380
test eax, eax
je 0x1400808e3
lea rdx, str.Document
mov rcx, rbx
call fcn.1401c3380
test eax, eax
je 0x1400808e3
mov rcx, r13
nop dword [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [r12 + rcx - 1]
jne 0x1400809e9
cmp rcx, 6
jne 0x1400809d0
jmp 0x1400808e3
mov rcx, r13
lea rdx, str.Make
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080a0b
cmp rcx, 5
jne 0x1400809f3
jmp 0x1400808e3
mov rcx, r13
lea rdx, str.Model
nop word [rax + rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080a38
cmp rcx, 6
jne 0x140080a20
jmp 0x1400808e3
lea rdx, str.Software
mov rcx, rbx
call fcn.1401c3380
test eax, eax
je 0x1400808e3
mov rcx, r13
lea rdx, str.Source
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080a78
cmp rcx, 7
jne 0x140080a60
jmp 0x1400808e3
lea rdx, str.TimeStamp
mov rcx, rbx
call fcn.1401c3380
test eax, eax
je 0x1400808e3
mov rcx, r13
lea rdx, str.Title
nop dword [rax]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080ab8
cmp rcx, 6
jne 0x140080aa0
jmp 0x1400808e3
mov rcx, r13
lea rdx, [0x14021321c]
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080ad9
cmp rcx, r15
jne 0x140080ac2
jmp 0x1400808e3
mov rcx, r13
lea rdx, str.Warning
movzx eax, byte [rbx + rcx]
inc rcx
cmp al, byte [rdx + rcx - 1]
jne 0x140080afb
cmp rcx, 8
jne 0x140080ae3
jmp 0x1400808e3
lea rdx, str.XML:com.adobe.xmp
mov rcx, rbx
call fcn.1401c3380
test eax, eax
jne 0x140080b42
mov r8, qword [rdi + rsi + 0x10]
or rax, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [r8 + rax + 1], 0
lea rax, [rax + 1]
jne 0x140080b20
lea r9d, [rax + 1]
mov edx, 3
mov rcx, r14
call fcn.14005a950
jmp 0x140080c1f
lea rdx, str.Raw_profile_type_iptc
mov r8d, 0x15
mov rcx, rbx
call fcn.1401c25f0
test eax, eax
jne 0x140080c1f
mov rcx, qword [rbp - 0x80]
lea rdx, [rbp - 0x68]
add rcx, rsi
call fcn.1400817f0
mov rbx, rax
test rax, rax
je 0x140080c1f
movzx ecx, byte [0x1402131b6]
movsxd rsi, dword [rbp - 0x68]
mov r15d, dword [0x1402131b0]
movzx r12d, word [0x1402131b4]
mov byte [rbp - 0x52], cl
lea r14d, [rsi + 0xe]
movsxd rcx, r14d
call fcn.1401bee78
mov rdi, rax
test rax, rax
je 0x140080bf2
movsd xmm0, qword [str.Photoshop_3.0]
lea rcx, [rax + 0xe]
mov r8, rsi
movsd qword [rax], xmm0
mov dword [rax + 8], r15d
mov rdx, rbx
mov word [rax + 0xc], r12w
call fcn.1401bd6e0
mov r9d, r14d
mov r14, qword [rsp + 0x48]
mov r8, rdi
mov edx, 2
mov rcx, r14
call fcn.14005a950
mov rcx, rdi
call fcn.1401be23c
jmp 0x140080bf7
mov r14, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1401be23c
mov rsi, qword [rsp + 0x78]
lea r12, str.Label
jmp 0x140080c1f
mov r8, qword [rdx + rsi + 0x10]
mov rdx, qword [rdx + rsi + 8]
xor r9d, r9d
call fcn.14005ac50
add rsi, 0x38
dec qword [rsp + 0x70]
mov r15d, 4
lea rdx, str.Artist
lea r8, str.Author
mov qword [rsp + 0x78], rsi
jne 0x1400808c0
mov rcx, qword [rsp + 0x68]
call fcn.1401be23c
movzx ebx, word [rsp + 0x30]
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x38]
call fcn.140153f80
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140080c7c
mov rcx, rax
call fcn.1401be23c
movzx eax, bx
jmp 0x140080c86
mov eax, 2
mov rcx, qword [rbp + 0x860]
xor rcx, rsp
call fcn.1401bd600
add rsp, 0x978
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret