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

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 0x3f]
sub rsp, 0xb8
cmp dword [rcx + 0xc], 0
mov r14d, r8d
mov ebx, edx
mov rdi, rcx
jne 0x14009b1ff
mov eax, 1
add rsp, 0xb8
pop r14
pop rdi
pop rbx
pop rbp
ret
mov qword [rsp + 0xb0], rsi
call fcn.140093770
xor esi, esi
test r14d, r14d
je 0x14009b2c3
mov eax, dword [rdi + 0x10]
bt eax, 0xc
jae 0x14009b23d
btr eax, 0xc
mov rcx, rdi
mov dword [rdi + 0x10], eax
call qword [rdi + 0x370]
test eax, eax
jne 0x14009b23d
lea r8, str.Error_post_encoding_before_directory_write
jmp 0x14009b268
mov rcx, rdi
call qword [rdi + 0x3a8]
cmp qword [rdi + 0x410], rsi
jle 0x14009b282
test byte [rdi + 0x10], 0x40
je 0x14009b282
mov rcx, rdi
call fcn.140099690
test eax, eax
jne 0x14009b282
lea r8, str.Error_flushing_data_before_directory_write
mov rcx, qword [rdi + 0x438]
lea rdx, str.TIFFWriteDirectorySec
call fcn.140087d50
xor eax, eax
jmp 0x14009ca1c
test dword [rdi + 0x10], 0x200
je 0x14009b2bf
mov rcx, qword [rdi + 0x3e8]
test rcx, rcx
je 0x14009b2bf
call sub.msvcrt.dll_free
mov qword [rdi + 0x3e8], rsi
mov qword [rdi + 0x410], rsi
mov qword [rdi + 0x3f0], rsi
mov qword [rdi + 0x3f8], rsi
mov qword [rdi + 0x400], rsi
and dword [rdi + 0x10], 0xffffffaf
mov qword [rsp + 0xa8], r12
mov r12d, 1
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x98], r15
mov r13, rsi
mov dword [rbp - 0x19], esi
lea r15d, [r12 + 1]
lea r14d, [r12 + 3]
lea r11d, [r12 + 5]
lea r10d, [r12 + 6]
lea r9, [0x140000000]
mov dword [rbp - 0x39], esi
test ebx, ebx
je 0x14009c1b7
test byte [rdi + 0x38], 2
je 0x14009b455
mov eax, dword [rdi + 0x48]
test r13, r13
jne 0x14009b32c
mov dword [rbp - 0x39], r12d
lea ebx, [r13 + 3]
jmp 0x14009b3c7
cmp eax, 0xffff
ja 0x14009b37a
test byte [rdi + 0x10], 0x80
mov word [rbp + 0x67], ax
je 0x14009b346
lea rcx, [rbp + 0x67]
call fcn.1400893a0
lea rax, [rbp + 0x67]
lea rdx, [rbp - 0x39]
mov ebx, 3
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r9d, 0x100
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
jmp 0x14009b3bf
test byte [rdi + 0x10], 0x80
mov dword [rbp - 0x35], eax
je 0x14009b38c
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x100
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
call fcn.14009de60
mov ebx, 3
test eax, eax
je 0x14009c7bd
mov eax, dword [rdi + 0x4c]
test r13, r13
jne 0x14009b3d7
inc dword [rbp - 0x39]
jmp 0x14009b45a
cmp eax, 0xffff
ja 0x14009b40b
test byte [rdi + 0x10], 0x80
mov word [rbp - 0x25], ax
je 0x14009b3f1
lea rcx, [rbp - 0x25]
call fcn.1400893a0
lea rax, [rbp - 0x25]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
jmp 0x14009b436
test byte [rdi + 0x10], 0x80
mov dword [rbp - 0x35], eax
je 0x14009b41d
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
lea rdx, [rbp - 0x39]
mov r9d, 0x101
mov r8, r13
mov rcx, rdi
call fcn.14009de60
test eax, eax
je 0x14009c7bd
jmp 0x14009b45a
mov ebx, 3
test byte [rdi + 0x38], 4
je 0x14009b576
mov eax, dword [rdi + 0x54]
test r13, r13
jne 0x14009b471
inc dword [rbp - 0x39]
jmp 0x14009b4ed
cmp eax, 0xffff
ja 0x14009b4a5
test byte [rdi + 0x10], 0x80
mov word [rbp - 0x29], ax
je 0x14009b48b
lea rcx, [rbp - 0x29]
call fcn.1400893a0
lea rax, [rbp - 0x29]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
jmp 0x14009b4d0
test byte [rdi + 0x10], 0x80
mov dword [rbp - 0x35], eax
je 0x14009b4b7
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
lea rdx, [rbp - 0x39]
mov r9d, 0x142
mov r8, r13
mov rcx, rdi
call fcn.14009de60
test eax, eax
je 0x14009c7bd
mov eax, dword [rdi + 0x58]
test r13, r13
jne 0x14009b4fa
inc dword [rbp - 0x39]
jmp 0x14009b576
cmp eax, 0xffff
ja 0x14009b52e
test byte [rdi + 0x10], 0x80
mov word [rbp - 0x31], ax
je 0x14009b514
lea rcx, [rbp - 0x31]
call fcn.1400893a0
lea rax, [rbp - 0x31]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
jmp 0x14009b559
test byte [rdi + 0x10], 0x80
mov dword [rbp - 0x35], eax
je 0x14009b540
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
lea rdx, [rbp - 0x39]
mov r9d, 0x143
mov r8, r13
mov rcx, rdi
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x38], 8
je 0x14009b5ec
movss xmm0, dword [rdi + 0x90]
cvtps2pd xmm0, xmm0
test r13, r13
jne 0x14009b591
inc dword [rbp - 0x39]
jmp 0x14009b5b4
lea rdx, [rbp - 0x39]
mov r9d, 0x11a
mov r8, r13
mov rcx, rdi
movsd qword [rsp + 0x20], xmm0
call fcn.14009cf80
test eax, eax
je 0x14009c7bd
movss xmm0, dword [rdi + 0x94]
cvtps2pd xmm0, xmm0
test r13, r13
jne 0x14009b5c9
inc dword [rbp - 0x39]
jmp 0x14009b5ec
lea rdx, [rbp - 0x39]
mov r9d, 0x11b
mov r8, r13
mov rcx, rdi
movsd qword [rsp + 0x20], xmm0
call fcn.14009cf80
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x38], 0x10
je 0x14009b662
movss xmm0, dword [rdi + 0x9c]
cvtps2pd xmm0, xmm0
test r13, r13
jne 0x14009b607
inc dword [rbp - 0x39]
jmp 0x14009b62a
lea rdx, [rbp - 0x39]
mov r9d, 0x11e
mov r8, r13
mov rcx, rdi
movsd qword [rsp + 0x20], xmm0
call fcn.14009cf80
test eax, eax
je 0x14009c7bd
movss xmm0, dword [rdi + 0xa0]
cvtps2pd xmm0, xmm0
test r13, r13
jne 0x14009b63f
inc dword [rbp - 0x39]
jmp 0x14009b662
lea rdx, [rbp - 0x39]
mov r9d, 0x11f
mov r8, r13
mov rcx, rdi
movsd qword [rsp + 0x20], xmm0
call fcn.14009cf80
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x38], 0x20
je 0x14009b6bd
test r13, r13
jne 0x14009b672
inc dword [rbp - 0x39]
jmp 0x14009b6bd
test byte [rdi + 0x10], 0x80
mov eax, dword [rdi + 0x60]
mov dword [rbp - 0x35], eax
je 0x14009b687
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0xfe
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x38], 0x40
je 0x14009b6e9
movzx eax, word [rdi + 0x64]
lea rdx, [rbp - 0x39]
mov r9d, 0x102
mov r8, r13
mov rcx, rdi
mov word [rsp + 0x20], ax
call fcn.14009f020
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x38], 0x80
je 0x14009b6f7
test r13, r13
jne 0x14009b716
inc dword [rbp - 0x39]
mov ebx, 3
test dword [rdi + 0x38], 0x100
je 0x14009b7b5
test r13, r13
jne 0x14009b769
inc dword [rbp - 0x39]
jmp 0x14009b7b5
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x68]
mov word [rbp - 0x35], ax
je 0x14009b72d
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov ebx, 3
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r9d, 0x103
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
jmp 0x14009b6fc
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x6a]
mov word [rbp - 0x35], ax
je 0x14009b780
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x106
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x200
je 0x14009b814
test r13, r13
jne 0x14009b7c8
inc dword [rbp - 0x39]
jmp 0x14009b814
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x6c]
mov word [rbp - 0x35], ax
je 0x14009b7df
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x107
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x400
je 0x14009b873
test r13, r13
jne 0x14009b827
inc dword [rbp - 0x39]
jmp 0x14009b873
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x6e]
mov word [rbp - 0x35], ax
je 0x14009b83e
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x10a
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x8000
je 0x14009b8d2
test r13, r13
jne 0x14009b886
inc dword [rbp - 0x39]
jmp 0x14009b8d2
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x70]
mov word [rbp - 0x35], ax
je 0x14009b89d
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x112
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x10000
je 0x14009b931
test r13, r13
jne 0x14009b8e5
inc dword [rbp - 0x39]
jmp 0x14009b931
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x72]
mov word [rbp - 0x35], ax
je 0x14009b8fc
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x115
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x20000
je 0x14009b9c7
mov eax, dword [rdi + 0x74]
test r13, r13
jne 0x14009b94b
inc dword [rbp - 0x39]
jmp 0x14009b9c7
cmp eax, 0xffff
ja 0x14009b97f
test byte [rdi + 0x10], 0x80
mov word [rbp - 0x2d], ax
je 0x14009b965
lea rcx, [rbp - 0x2d]
call fcn.1400893a0
lea rax, [rbp - 0x2d]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
jmp 0x14009b9aa
test byte [rdi + 0x10], 0x80
mov dword [rbp - 0x35], eax
je 0x14009b991
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
lea rdx, [rbp - 0x39]
mov r9d, 0x116
mov r8, r13
mov rcx, rdi
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x40000
je 0x14009b9f6
movzx eax, word [rdi + 0x78]
lea rdx, [rbp - 0x39]
mov r9d, 0x118
mov r8, r13
mov rcx, rdi
mov word [rsp + 0x20], ax
call fcn.14009f020
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x80000
je 0x14009ba25
movzx eax, word [rdi + 0x7a]
lea rdx, [rbp - 0x39]
mov r9d, 0x119
mov r8, r13
mov rcx, rdi
mov word [rsp + 0x20], ax
call fcn.14009f020
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x100000
je 0x14009ba87
test r13, r13
jne 0x14009ba38
inc dword [rbp - 0x39]
jmp 0x14009ba87
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x9a]
mov word [rbp - 0x35], ax
je 0x14009ba52
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x11c
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x400000
je 0x14009bae9
test r13, r13
jne 0x14009ba9a
inc dword [rbp - 0x39]
jmp 0x14009bae9
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x98]
mov word [rbp - 0x35], ax
je 0x14009bab4
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x128
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x800000
je 0x14009bb4a
lea rbx, [rdi + 0xa4]
test r13, r13
jne 0x14009bb03
inc dword [rbp - 0x39]
jmp 0x14009bb4a
test byte [rdi + 0x10], 0x80
je 0x14009bb14
mov rdx, r15
mov rcx, rbx
call fcn.1400892e0
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], r14d
lea rdx, [rbp - 0x39]
mov ebx, 3
mov r9d, 0x129
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x1000000
je 0x14009bb95
test dword [rdi + 0x10], 0x400
mov rax, qword [rdi + 0xe0]
mov r8, r13
mov qword [rsp + 0x28], rax
mov eax, dword [rdi + 0xd4]
lea rdx, [rbp - 0x39]
mov rcx, rdi
mov r9d, 0x117
mov dword [rsp + 0x20], eax
je 0x14009bb88
mov r9d, 0x145
call fcn.14009e250
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x2000000
je 0x14009bbe7
test dword [rdi + 0x10], 0x400
mov rax, qword [rdi + 0xd8]
jne 0x14009bbbb
test rax, rax
je 0x14009bbe7
mov r9d, 0x111
jmp 0x14009bbc1
mov r9d, 0x144
mov qword [rsp + 0x28], rax
mov eax, dword [rdi + 0xd4]
lea rdx, [rbp - 0x39]
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.14009e250
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x4000000
je 0x14009bc07
lea rdx, [rbp - 0x39]
mov r8, r13
mov rcx, rdi
call fcn.14009dd50
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x38], 0x80000000
je 0x14009bc8b
cmp word [rdi + 0xc4], 0
je 0x14009bc8b
lea r9, [rbp - 1]
lea r8, [rbp - 0x1d]
mov edx, 0x152
mov rcx, rdi
call fcn.1400896b0
mov rsi, qword [rbp - 1]
movzx ebx, word [rbp - 0x1d]
test r13, r13
jne 0x14009bc41
inc dword [rbp - 0x39]
jmp 0x14009bc89
test byte [rdi + 0x10], 0x80
je 0x14009bc52
mov rdx, rbx
mov rcx, rsi
call fcn.1400892e0
lea eax, [rbx + rbx]
mov qword [rsp + 0x38], rsi
lea rdx, [rbp - 0x39]
mov dword [rsp + 0x30], eax
mov eax, 3
mov r9d, 0x152
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], ebx
mov word [rsp + 0x20], ax
call fcn.14009de60
test eax, eax
je 0x14009c7bd
xor esi, esi
test byte [rdi + 0x3c], r12b
je 0x14009bcb7
movzx eax, word [rdi + 0x66]
lea rdx, [rbp - 0x39]
mov r9d, 0x153
mov r8, r13
mov rcx, rdi
mov word [rsp + 0x20], ax
call fcn.14009f020
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x3c], 2
je 0x14009bcee
movzx ecx, word [rdi + 0x72]
mov rax, qword [rdi + 0x80]
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9d, 0x154
mov rcx, rdi
mov r8, r13
call fcn.14009e520
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x3c], 4
je 0x14009bd25
movzx ecx, word [rdi + 0x72]
mov rax, qword [rdi + 0x88]
lea rdx, [rbp - 0x39]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9d, 0x155
mov rcx, rdi
mov r8, r13
call fcn.14009e520
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x3c], 8
je 0x14009bd80
test r13, r13
jne 0x14009bd35
inc dword [rbp - 0x39]
jmp 0x14009bd80
test byte [rdi + 0x10], 0x80
mov eax, dword [rdi + 0x50]
mov dword [rbp - 0x35], eax
je 0x14009bd4a
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x80e5
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x3c], 0x10
je 0x14009bddb
test r13, r13
jne 0x14009bd90
inc dword [rbp - 0x39]
jmp 0x14009bddb
test byte [rdi + 0x10], 0x80
mov eax, dword [rdi + 0x5c]
mov dword [rbp - 0x35], eax
je 0x14009bda5
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x80e6
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r14d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], r14w
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x3c], 0x20
je 0x14009be39
lea rbx, [rdi + 0xc0]
test r13, r13
jne 0x14009bdf2
inc dword [rbp - 0x39]
jmp 0x14009be39
test byte [rdi + 0x10], 0x80
je 0x14009be03
mov rdx, r15
mov rcx, rbx
call fcn.1400892e0
mov qword [rsp + 0x38], rbx
mov eax, 3
mov dword [rsp + 0x30], r14d
lea rdx, [rbp - 0x39]
mov r9d, 0x141
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov word [rsp + 0x20], ax
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test byte [rdi + 0x3c], 0x80
je 0x14009be4e
lea rbx, [rdi + 0x140]
test r13, r13
jne 0x14009be6d
inc dword [rbp - 0x39]
mov ebx, 3
test dword [rdi + 0x3c], 0x100
je 0x14009bf05
test r13, r13
jne 0x14009beb6
inc dword [rbp - 0x39]
jmp 0x14009bf05
test byte [rdi + 0x10], 0x80
je 0x14009be7e
mov rdx, r15
mov rcx, rbx
call fcn.1400892e0
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], r14d
lea rdx, [rbp - 0x39]
mov ebx, 3
mov r9d, 0x212
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r15d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
jmp 0x14009be53
test byte [rdi + 0x10], 0x80
movzx eax, word [rdi + 0x144]
mov word [rbp - 0x35], ax
je 0x14009bed0
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
lea rdx, [rbp - 0x39]
mov r9d, 0x213
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], bx
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x3c], 0x200
je 0x14009bf49
mov rax, qword [rdi + 0x160]
test r13, r13
jne 0x14009bf1f
inc dword [rbp - 0x39]
jmp 0x14009bf49
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x39]
mov r9d, 0x214
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x20], 6
call fcn.14009d0e0
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x3c], 0x1000
je 0x14009bf69
lea rdx, [rbp - 0x39]
mov r8, r13
mov rcx, rdi
call fcn.14009f340
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x3c], 0x4000
je 0x14009bfb9
mov rcx, qword [rdi + 0x170]
mov eax, dword [rdi + 0x168]
test r13, r13
jne 0x14009bf89
inc dword [rbp - 0x39]
jmp 0x14009bfb9
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
lea rdx, [rbp - 0x39]
mov r9d, 0x14d
mov r8, r13
mov rcx, rdi
mov word [rsp + 0x20], r15w
call fcn.14009de60
test eax, eax
je 0x14009c7bd
test dword [rdi + 0x3c], 0x20000
je 0x14009bfd9
lea rdx, [rbp - 0x39]
mov r8, r13
mov rcx, rdi
call fcn.14009f1b0
test eax, eax
je 0x14009c7bd
cmp qword [rdi + 0x478], 0
mov r14d, esi
jbe 0x14009c1a6
mov rcx, rsi
nop dword [rax]
mov rax, qword [rdi + 0x470]
mov rsi, qword [rax + rcx*8]
movzx edx, word [rsi + 0x18]
cmp dx, 0x42
jb 0x14009c191
movzx eax, dx
mov ecx, edx
shr rax, 5
and ecx, 0x1f
mov eax, dword [rdi + rax*4 + 0x38]
bt eax, ecx
jae 0x14009c191
mov ecx, dword [rsi + 0x14]
dec ecx
je 0x14009c136
sub ecx, 3
je 0x14009c0de
sub ecx, 2
je 0x14009c086
cmp ecx, 0x22
jne 0x14009c6a2
mov edx, dword [rsi]
lea r9, [rbp + 7]
lea r8, [rbp - 9]
mov rcx, rdi
call fcn.14007ce80
test r13, r13
jne 0x14009c063
inc dword [rbp - 0x39]
jmp 0x14009c191
mov rax, qword [rbp + 7]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 9]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov eax, 7
mov word [rsp + 0x20], ax
jmp 0x14009c176
mov edx, dword [rsi]
lea r8, [rbp - 0x11]
mov rcx, rdi
call fcn.14007ce80
movzx ebx, word [rsi]
test r13, r13
jne 0x14009c0a4
inc dword [rbp - 0x39]
jmp 0x14009c191
test byte [rdi + 0x10], 0x80
mov eax, dword [rbp - 0x11]
mov dword [rbp - 0x35], eax
je 0x14009c0b9
lea rcx, [rbp - 0x35]
call fcn.140089340
lea rax, [rbp - 0x35]
movzx r9d, bx
mov qword [rsp + 0x38], rax
mov eax, 4
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], ax
jmp 0x14009c17a
mov edx, dword [rsi]
lea r8, [rbp - 0x21]
mov rcx, rdi
call fcn.14007ce80
movzx ebx, word [rsi]
test r13, r13
jne 0x14009c0fc
inc dword [rbp - 0x39]
jmp 0x14009c191
test byte [rdi + 0x10], 0x80
movzx eax, word [rbp - 0x21]
mov word [rbp - 0x35], ax
je 0x14009c113
lea rcx, [rbp - 0x35]
call fcn.1400893a0
lea rax, [rbp - 0x35]
movzx r9d, bx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], r15d
mov eax, 3
mov dword [rsp + 0x28], r12d
mov word [rsp + 0x20], ax
jmp 0x14009c17a
mov edx, dword [rsi]
lea r8, [rbp + 0xf]
mov rcx, rdi
call fcn.14007ce80
mov rcx, qword [rbp + 0xf]
or rax, 0xffffffffffffffff
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x14009c150
test r13, r13
jne 0x14009c163
inc dword [rbp - 0x39]
jmp 0x14009c191
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], eax
mov word [rsp + 0x20], r15w
movzx r9d, word [rsi]
lea rdx, [rbp - 0x39]
mov r8, r13
mov rcx, rdi
call fcn.14009de60
test eax, eax
je 0x14009c7bd
inc r14d
mov ecx, r14d
cmp rcx, qword [rdi + 0x478]
jb 0x14009bff0
xor esi, esi
mov r11d, 6
lea r9, [0x140000000]
lea r10d, [r11 + 1]
cmp dword [rdi + 0x178], 0
mov r15d, esi
jbe 0x14009c58e
nop word [rax + rax]
mov r8, qword [rdi + 0x180]
mov eax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [r8 + rdx*8]
mov esi, dword [r8 + rdx*8 + 8]
movzx r14d, word [rax]
mov eax, dword [rax + 8]
dec eax
cmp eax, 0x11
ja case.0x14009c206.14
cdqe
mov ecx, dword [r9 + rax*4 + 0x9ca34]
add rcx, r9
jmp rcx
mov rax, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c21a
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], esi
mov eax, 2
mov dword [rsp + 0x28], esi
mov word [rsp + 0x20], ax
lea rdx, [rbp - 0x39]
movzx r9d, r14w
mov r8, r13
mov rcx, rdi
call fcn.14009de60
jmp 0x14009c563
mov rax, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c25b
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov word [rsp + 0x20], r10w
jmp 0x14009c231
mov rax, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c282
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov word [rsp + 0x20], r12w
jmp 0x14009c231
mov rax, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c2a9
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov word [rsp + 0x20], r11w
jmp 0x14009c231
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c2d3
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
test byte [rdi + 0x10], 0x80
je 0x14009c2e4
mov rdx, rsi
mov rcx, rbx
call fcn.1400892e0
lea eax, [rsi + rsi]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 3
jmp 0x14009c228
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c30c
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
test byte [rdi + 0x10], 0x80
je 0x14009c31d
mov rdx, rsi
mov rcx, rbx
call fcn.1400892e0
lea eax, [rsi + rsi]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 8
jmp 0x14009c228
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c345
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
test byte [rdi + 0x10], 0x80
je 0x14009c356
mov rdx, rsi
mov rcx, rbx
call fcn.140089240
lea eax, [rsi*4]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 4
jmp 0x14009c228
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c382
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
test byte [rdi + 0x10], 0x80
je 0x14009c393
mov rdx, rsi
mov rcx, rbx
call fcn.140089240
lea eax, [rsi*4]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 9
jmp 0x14009c228
mov rax, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c3bf
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x39]
movzx r9d, r14w
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.14009ce30
jmp 0x14009c563
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c3f2
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov eax, dword [rdi + 0x10]
bt eax, 0x13
jae 0x14009c6e3
test al, al
jns 0x14009c40e
mov rdx, rsi
mov rcx, rbx
call fcn.140089280
lea eax, [rsi*8]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 0x11
jmp 0x14009c228
mov rax, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c43a
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x39]
movzx r9d, r14w
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.14009d0e0
jmp 0x14009c563
mov rax, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c46d
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
mov qword [rsp + 0x28], rax
lea rdx, [rbp - 0x39]
movzx r9d, r14w
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.14009d750
jmp 0x14009c563
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c4a0
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
test byte [rdi + 0x10], 0x80
je 0x14009c4b1
mov rdx, rsi
mov rcx, rbx
call fcn.140089200
lea eax, [rsi*4]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 0xb
jmp 0x14009c228
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c4dd
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
test byte [rdi + 0x10], 0x80
je 0x14009c4ee
mov rdx, rsi
mov rcx, rbx
call fcn.1400891a0
lea eax, [rsi*8]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 0xc
jmp 0x14009c228
mov rbx, qword [r8 + rdx*8 + 0x10]
test r13, r13
jne 0x14009c517
inc dword [rbp - 0x39]
jmp case.0x14009c206.14
test byte [rdi + 0x10], 0x80
je 0x14009c528
mov rdx, rsi
mov rcx, rbx
call fcn.140089240
lea eax, [rsi*4]
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x30], eax
mov eax, 0xd
jmp 0x14009c228
mov rax, qword [r8 + rdx*8 + 0x10]
lea rdx, [rbp - 0x39]
movzx r9d, r14w
mov qword [rsp + 0x28], rax
mov r8, r13
mov rcx, rdi
mov dword [rsp + 0x20], esi
call fcn.14009e0c0
test eax, eax
je 0x14009c7bd
inc r15d
mov r10d, 7
lea r9, [0x140000000]
lea r11d, [r10 - 1]
cmp r15d, dword [rdi + 0x178]
jb 0x14009c1d0
xor esi, esi
test r13, r13
jne 0x14009c723
mov ecx, dword [rbp - 0x39]
shl rcx, 5
call fcn.14007c390
mov r13, rax
test rax, rax
je 0x14009c702
mov ebx, dword [rbp + 0x6f]
test ebx, ebx
je 0x14009c5fe
cmp qword [rdi + 0x18], 0
jne 0x14009c5cd
mov rcx, rdi
call fcn.14009a9a0
test eax, eax
je 0x14009c7bd
mov r15d, 2
mov r14, qword [rbp + 0x7f]
test r14, r14
je 0x14009c5e3
mov rax, qword [rdi + 0x18]
mov qword [r14], rax
mov edx, dword [rdi + 0x10]
mov eax, dword [rbp - 0x39]
and edx, 0x80000
jne 0x14009c623
lea ecx, [rax + rax*2]
lea r9d, [rcx*4 + 6]
jmp 0x14009c62e
mov rcx, qword [rdi + 0x438]
mov r15d, 2
xor edx, edx
mov r8d, r15d
call qword [rdi + 0x450]
inc rax
and rax, 0xfffffffffffffffe
mov qword [rdi + 0x18], rax
jmp 0x14009c5d3
lea ecx, [rax + rax*4]
lea r9d, [rcx*4 + 0x10]
mov rcx, qword [rdi + 0x18]
mov dword [rbp - 0x19], r9d
mov r8d, r9d
lea rax, [r9 + rcx]
mov qword [rdi + 0x310], rax
test edx, edx
jne 0x14009c651
mov eax, eax
mov qword [rdi + 0x310], rax
mov rax, qword [rdi + 0x310]
cmp rax, rcx
jb 0x14009c6f6
cmp rax, r8
jb 0x14009c6f6
test r12b, al
je 0x14009c679
inc rax
mov qword [rdi + 0x310], rax
mov r14d, 4
lea r9, [0x140000000]
lea r10d, [r14 + 3]
lea r11d, [r14 + 2]
test ebx, ebx
je 0x14009b302
inc word [rdi + 0x300]
jmp 0x14009b2fb
mov rax, qword [rsi + 0x20]
lea rbx, [0x14017bf70]
mov rcx, rsi
test rax, rax
cmovne rbx, rax
call fcn.140087e50
mov rcx, qword [rdi + 0x438]
lea r8, str.Cannot_write_tag__d___s_
lea rdx, str.TIFFWriteDirectorySec
mov r9d, eax
mov qword [rsp + 0x20], rbx
call fcn.140087d50
jmp 0x14009c7bd
lea r8, str.SLONG8_not_allowed_for_ClassicTIFF
lea rdx, str.TIFFWriteDirectoryTagCheckedSlong8Array
jmp 0x14009c7b1
lea r8, str.Maximum_TIFF_file_size_exceeded
jmp 0x14009c7aa
mov rcx, qword [rdi + 0x438]
lea r8, str.Out_of_memory
lea rdx, str.TIFFWriteDirectorySec
call fcn.140087d50
xor eax, eax
jmp 0x14009ca04
cmp dword [rbp + 0x6f], 0
je 0x14009c78a
test dword [rdi + 0x3c], 0x20000
je 0x14009c78a
cmp qword [rdi + 0x320], 0
jne 0x14009c78a
cmp dword [rbp - 0x39], 0
mov rax, r13
je 0x14009c760
mov ecx, 0x14a
nop word [rax + rax]
cmp word [rax], cx
je 0x14009c769
inc esi
add rax, 0x20
cmp esi, dword [rbp - 0x39]
jne 0x14009c750
lea r8, str.Cannot_find_SubIFD_tag
jmp 0x14009c7aa
test dword [rdi + 0x10], 0x80000
mov rax, qword [rdi + 0x18]
jne 0x14009c7d5
lea ecx, [rsi + rsi*2]
shl ecx, 2
add rax, 0xa
add rcx, rax
mov qword [rdi + 0x320], rcx
mov eax, dword [rbp - 0x19]
mov ecx, eax
mov r12d, eax
mov qword [rbp - 0x11], rax
call fcn.14007c390
mov r14, rax
test rax, rax
jne 0x14009c7e1
lea r8, str.Out_of_memory
lea rdx, str.TIFFWriteDirectorySec
mov rcx, qword [rdi + 0x438]
call fcn.140087d50
test r13, r13
je 0x14009c9cd
mov rcx, r13
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x14009ca04
lea ecx, [rsi + rsi*4]
shl ecx, 2
add rax, 0x14
jmp 0x14009c780
test dword [rdi + 0x10], 0x80000
jne 0x14009c8bd
movzx eax, word [rbp - 0x39]
mov word [r14], ax
test byte [rdi + 0x10], 0x80
je 0x14009c804
mov rcx, r14
call fcn.1400893a0
mov eax, dword [rbp - 0x39]
lea rbx, [r14 + 2]
test eax, eax
je 0x14009c891
lea rsi, [r13 + 8]
mov r15d, eax
mov r12d, 4
movzx eax, word [rsi - 8]
mov word [rbx], ax
test byte [rdi + 0x10], 0x80
je 0x14009c835
mov rcx, rbx
call fcn.1400893a0
movzx eax, word [rsi - 6]
mov word [rbx + 2], ax
test byte [rdi + 0x10], 0x80
je 0x14009c84c
lea rcx, [rbx + 2]
call fcn.1400893a0
mov eax, dword [rsi]
lea rdx, [rbp + 0x67]
lea rcx, [rbx + 4]
mov r8, r12
mov dword [rbp + 0x67], eax
call fcn.14007c3b0
test byte [rdi + 0x10], 0x80
je 0x14009c870
lea rcx, [rbx + 4]
call fcn.140089340
lea rdx, [rsi + 8]
lea rcx, [rbx + 8]
mov r8, r12
call fcn.14007c3b0
add rbx, 0xc
add rsi, 0x20
dec r15
jne 0x14009c820
mov r12, qword [rbp - 0x11]
test byte [rdi + 0x10], 0x80
mov eax, dword [rdi + 0x20]
mov dword [rbp + 0x67], eax
je 0x14009c8a6
lea rcx, [rbp + 0x67]
call fcn.140089340
lea rdx, [rbp + 0x67]
mov r8d, 4
mov rcx, rbx
call fcn.14007c3b0
jmp 0x14009c97b
mov r15d, dword [rbp - 0x39]
mov qword [rax], r15
test byte [rdi + 0x10], 0x80
je 0x14009c8d2
mov rcx, rax
call fcn.140089360
cmp dword [rbp - 0x39], 0
lea rbx, [r14 + 8]
jbe 0x14009c95b
lea rsi, [r13 + 8]
mov r12d, 8
nop word [rax + rax]
movzx eax, word [rsi - 8]
mov word [rbx], ax
test byte [rdi + 0x10], 0x80
je 0x14009c905
mov rcx, rbx
call fcn.1400893a0
movzx eax, word [rsi - 6]
mov word [rbx + 2], ax
test byte [rdi + 0x10], 0x80
je 0x14009c91c
lea rcx, [rbx + 2]
call fcn.1400893a0
lea rcx, [rbx + 4]
mov r8, r12
mov rdx, rsi
call fcn.14007c3b0
test byte [rdi + 0x10], 0x80
je 0x14009c93a
lea rcx, [rbx + 4]
call fcn.140089360
lea rdx, [rsi + 8]
lea rcx, [rbx + 0xc]
mov r8, r12
call fcn.14007c3b0
add rbx, 0x14
add rsi, 0x20
dec r15
jne 0x14009c8f0
mov r12, qword [rbp - 0x11]
lea rdx, [rdi + 0x20]
mov r8d, 8
mov rcx, rbx
call fcn.14007c3b0
test byte [rdi + 0x10], 0x80
je 0x14009c97b
mov rcx, rbx
call fcn.140089360
mov rcx, r13
call sub.msvcrt.dll_free
mov rdx, qword [rdi + 0x18]
mov rcx, rdi
call fcn.140089da0
mov rcx, qword [rdi + 0x438]
test eax, eax
je 0x14009c9b2
mov r8, r12
mov rdx, r14
call qword [rdi + 0x448]
cmp rax, r12
je 0x14009c9d1
mov rcx, qword [rdi + 0x438]
lea r8, str.IO_error_writing_directory
lea rdx, str.TIFFWriteDirectorySec
call fcn.140087d50
mov rcx, r14
call sub.msvcrt.dll_free
xor eax, eax
jmp 0x14009ca04
mov rcx, r14
call sub.msvcrt.dll_free
cmp dword [rbp + 0x77], 0
je 0x14009c9ff
mov rcx, rdi
call fcn.14007cc80
and dword [rdi + 0x10], 0xffdffff7
mov rcx, rdi
call qword [rdi + 0x3b8]
mov rcx, rdi
call fcn.14007ca80
mov eax, 1
mov r13, qword [rsp + 0xa0]
mov r12, qword [rsp + 0xa8]
mov r15, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xb0]
add rsp, 0xb8
pop r14
pop rdi
pop rbx
pop rbp
ret