Function at 0x1401f7628
Capabilities:
Load assembly via iassembly
Resolve function by parsing pe exports

Disassembly:
xor r9d, r9d
lea edx, [r9 + 1]
mov r8d, edx
jmp 0x1401f7628
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor esi, esi
mov edi, r8d
mov r12d, edx
mov rbx, rcx
cmp dword [rcx + 0xc], esi
jne 0x1401f7661
lea eax, [rsi + 1]
jmp 0x1401f8700
call fcn.140216ae0
test edi, edi
je 0x1401f771a
mov eax, dword [rbx + 0x10]
bt eax, 0xc
jae 0x1401f76ac
btr eax, 0xc
mov rcx, rbx
mov dword [rbx + 0x10], eax
call qword [rbx + 0x2d0]
test eax, eax
jne 0x1401f76ac
lea r8, str.Error_post_encoding_before_directory_write
mov rcx, qword [rbx + 0x398]
lea rdx, str.TIFFWriteDirectorySec
call fcn.1401edee0
xor eax, eax
jmp 0x1401f8700
mov rcx, rbx
call qword [rbx + 0x308]
cmp qword [rbx + 0x370], rsi
jle 0x1401f76d9
test byte [rbx + 0x10], 0x40
je 0x1401f76d9
mov rcx, rbx
call fcn.1401ee14c
test eax, eax
jne 0x1401f76d9
lea r8, str.Error_flushing_data_before_directory_write
jmp 0x1401f7692
test dword [rbx + 0x10], 0x200
je 0x1401f7716
mov rcx, qword [rbx + 0x348]
test rcx, rcx
je 0x1401f7716
call sub.MSVCR120.dll_free
mov qword [rbx + 0x348], rsi
mov qword [rbx + 0x370], rsi
mov qword [rbx + 0x350], rsi
mov qword [rbx + 0x358], rsi
mov qword [rbx + 0x360], rsi
and dword [rbx + 0x10], 0xffffffaf
mov rdi, rsi
mov r13, rsi
mov r14d, esi
mov dword [rbp - 0x28], esi
mov r15d, 1
mov dword [rbp - 0x2c], esi
test r12d, r12d
je 0x1401f7fc9
mov esi, 2
test byte [rbx + 0x38], sil
je 0x1401f7790
mov eax, dword [rbx + 0x48]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_261
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f9b5c
xor r14d, r14d
test eax, eax
je 0x1401f84b9
mov eax, dword [rbx + 0x4c]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_261
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f9b5c
test eax, eax
je 0x1401f84b9
jmp 0x1401f7793
xor r14d, r14d
test byte [rbx + 0x38], 4
je 0x1401f77e1
mov eax, dword [rbx + 0x54]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_323
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f9b5c
test eax, eax
je 0x1401f84b9
mov eax, dword [rbx + 0x58]
lea rdx, [rbp - 0x2c]
mov r9d, reloc.mfc120u.dll_Ordinal_323
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f9b5c
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x38], 8
je 0x1401f7843
movss xmm0, dword [rbx + 0x90]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_285
cvtps2pd xmm0, xmm0
mov r8, rdi
mov rcx, rbx
movsd qword [rsp + 0x20], xmm0
call fcn.1401f9820
test eax, eax
je 0x1401f84b9
movss xmm0, dword [rbx + 0x94]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_285
cvtps2pd xmm0, xmm0
mov r8, rdi
mov rcx, rbx
movsd qword [rsp + 0x20], xmm0
call fcn.1401f9820
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x38], 0x10
je 0x1401f78a5
movss xmm0, dword [rbx + 0x9c]
lea rdx, [rbp - 0x2c]
mov r9d, reloc.mfc120u.dll_Ordinal_286
cvtps2pd xmm0, xmm0
mov r8, rdi
mov rcx, rbx
movsd qword [rsp + 0x20], xmm0
call fcn.1401f9820
test eax, eax
je 0x1401f84b9
movss xmm0, dword [rbx + 0xa0]
lea rdx, [rbp - 0x2c]
mov r9d, reloc.mfc120u.dll_Ordinal_287
cvtps2pd xmm0, xmm0
mov r8, rdi
mov rcx, rbx
movsd qword [rsp + 0x20], xmm0
call fcn.1401f9820
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x38], 0x20
je 0x1401f78cf
mov eax, dword [rbx + 0x60]
lea rdx, [rbp - 0x2c]
mov r9d, 0xfe
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f96b8
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x38], 0x40
je 0x1401f78fb
movzx eax, word [rbx + 0x64]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_261
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b88
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x38], 0x80
je 0x1401f7927
movzx eax, word [rbx + 0x68]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_261
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x100
je 0x1401f7956
movzx eax, word [rbx + 0x6a]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_266
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x200
je 0x1401f7985
movzx eax, word [rbx + 0x6c]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_266
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x400
je 0x1401f79b4
movzx eax, word [rbx + 0x6e]
lea rdx, [rbp - 0x2c]
mov r9d, reloc.mfc120u.dll_Ordinal_266
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x8000
je 0x1401f79e3
movzx eax, word [rbx + 0x70]
lea rdx, [rbp - 0x2c]
mov r9d, 0x112
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x10000
je 0x1401f7a12
movzx eax, word [rbx + 0x72]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_280
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x20000
je 0x1401f7a3f
mov eax, dword [rbx + 0x74]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_280
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f9b5c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x40000
je 0x1401f7a6e
movzx eax, word [rbx + 0x78]
lea rdx, [rbp - 0x2c]
mov r9d, reloc.mfc120u.dll_Ordinal_280
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b88
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x80000
je 0x1401f7a9d
movzx eax, word [rbx + 0x7a]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_285
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b88
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x100000
je 0x1401f7acf
movzx eax, word [rbx + 0x9a]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_285
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x400000
je 0x1401f7b01
movzx eax, word [rbx + 0x98]
lea rdx, [rbp - 0x2c]
mov r9d, reloc.mfc120u.dll_Ordinal_296
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x800000
je 0x1401f7b37
lea rax, [rbx + 0xa4]
lea rdx, [rbp - 0x2c]
mov r9d, 0x129
mov qword [rsp + 0x28], rax
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.1401f9b48
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x1000000
je 0x1401f7b82
test dword [rbx + 0x10], 0x400
mov rax, qword [rbx + 0xe0]
mov r8, rdi
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0xd4]
lea rdx, [rbp - 0x2c]
mov rcx, rbx
mov r9d, Ordinal_280
mov dword [rsp + 0x20], eax
je 0x1401f7b75
mov r9d, 0x145
call fcn.1401f96f4
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x2000000
je 0x1401f7bcd
test dword [rbx + 0x10], 0x400
mov rax, qword [rbx + 0xd8]
mov r8, rdi
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0xd4]
lea rdx, [rbp - 0x2c]
mov rcx, rbx
mov r9d, 0x111
mov dword [rsp + 0x20], eax
je 0x1401f7bc0
mov r9d, reloc.mfc120u.dll_Ordinal_324
call fcn.1401f96f4
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x4000000
je 0x1401f7bed
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov rcx, rbx
call fcn.1401f9284
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x38], 0x80000000
je 0x1401f7c43
cmp word [rbx + 0xc4], r14w
je 0x1401f7c43
lea r9, [rbp - 0x10]
lea r8, [rbp + 0x40]
mov edx, 0x152
mov rcx, rbx
call fcn.1401f5ea0
movzx ecx, word [rbp + 0x40]
mov rax, qword [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
lea rdx, [rbp - 0x2c]
mov rcx, rbx
mov r9d, 0x152
mov r8, rdi
call fcn.1401f9b48
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x3c], r15b
je 0x1401f7c6f
movzx eax, word [rbx + 0x66]
lea rdx, [rbp - 0x2c]
mov r9d, 0x153
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b88
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x3c], sil
je 0x1401f7ca6
movzx ecx, word [rbx + 0x72]
mov rax, qword [rbx + 0x80]
lea rdx, [rbp - 0x2c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9d, 0x154
mov rcx, rbx
mov r8, rdi
call fcn.1401f9848
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x3c], 4
je 0x1401f7cdd
movzx ecx, word [rbx + 0x72]
mov rax, qword [rbx + 0x88]
lea rdx, [rbp - 0x2c]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9d, 0x155
mov rcx, rbx
mov r8, rdi
call fcn.1401f9848
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x3c], 8
je 0x1401f7d07
mov eax, dword [rbx + 0x50]
lea rdx, [rbp - 0x2c]
mov r9d, 0x80e5
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f96b8
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x3c], 0x10
je 0x1401f7d31
mov eax, dword [rbx + 0x5c]
lea rdx, [rbp - 0x2c]
mov r9d, 0x80e6
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f96b8
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x3c], 0x20
je 0x1401f7d64
lea rax, [rbx + 0xc0]
lea rdx, [rbp - 0x2c]
mov r9d, Ordinal_323
mov qword [rsp + 0x28], rax
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.1401f9b48
test eax, eax
je 0x1401f84b9
test byte [rbx + 0x3c], 0x80
je 0x1401f7d97
lea rax, [rbx + 0xf8]
lea rdx, [rbp - 0x2c]
mov r9d, 0x212
mov qword [rsp + 0x28], rax
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.1401f9b48
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x3c], 0x100
je 0x1401f7dc9
movzx eax, word [rbx + 0xfc]
lea rdx, [rbp - 0x2c]
mov r9d, 0x213
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x3c], 0x200
je 0x1401f7e03
mov rax, qword [rbx + reloc.mfc120u.dll_Ordinal_280]
lea rdx, [rbp - 0x2c]
mov r9d, 0x214
mov qword [rsp + 0x28], rax
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], 6
call fcn.1401f9834
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x3c], 0x1000
je 0x1401f7e23
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov rcx, rbx
call fcn.1401f9e10
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x3c], 0x4000
je 0x1401f7e5f
mov rax, qword [rbx + reloc.mfc120u.dll_Ordinal_296]
lea rdx, [rbp - 0x2c]
mov r9d, 0x14d
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + 0x120]
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f8718
test eax, eax
je 0x1401f84b9
test dword [rbx + 0x3c], 0x20000
je 0x1401f7e7f
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov rcx, rbx
call fcn.1401f9ca8
test eax, eax
je 0x1401f84b9
xor esi, esi
cmp qword [rbx + 0x3d8], rsi
jbe 0x1401f7fc5
mov ecx, esi
mov rax, qword [rbx + reloc.mfc120u.dll_Ordinal_976]
mov rsi, qword [rax + rcx*8]
movzx edx, word [rsi + 0x18]
cmp dx, 0x42
jb 0x1401f7fb0
movzx eax, dx
mov ecx, edx
shr rax, 5
and ecx, 0x1f
mov eax, dword [rbx + rax*4 + 0x38]
bt eax, ecx
jae 0x1401f7fb0
mov ecx, dword [rsi + 0x14]
dec ecx
je 0x1401f7f77
sub ecx, 3
je 0x1401f7f41
sub ecx, 2
je 0x1401f7f17
cmp ecx, 0x22
jne 0x1401f7fb0
mov edx, dword [rsi]
lea r9, [rbp - 8]
lea r8, [rbp - 0x24]
mov rcx, rbx
call fcn.1401ec0a0
mov rax, qword [rbp - 8]
movzx r9d, word [rsi]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x24]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f9f98
jmp 0x1401f7f6b
mov edx, dword [rsi]
lea r8, [rbp - 0x20]
mov rcx, rbx
call fcn.1401ec0a0
mov eax, dword [rbp - 0x20]
movzx r9d, word [rsi]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f96b8
jmp 0x1401f7f6b
mov edx, dword [rsi]
lea r8, [rbp - 0x30]
mov rcx, rbx
call fcn.1401ec0a0
movzx eax, word [rbp - 0x30]
movzx r9d, word [rsi]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov rcx, rbx
mov word [rsp + 0x20], ax
call fcn.1401f9b2c
xor esi, esi
test eax, eax
je 0x1401f84b9
jmp 0x1401f7fb2
mov edx, dword [rsi]
lea r8, [rbp - 0x18]
mov rcx, rbx
call fcn.1401ec0a0
mov rcx, qword [rbp - 0x18]
call sub.MSVCR120.dll_strlen
mov rcx, qword [rbp - 0x18]
movzx r9d, word [rsi]
mov qword [rsp + 0x28], rcx
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401f8718
jmp 0x1401f7f6b
xor esi, esi
add r14d, r15d
mov ecx, r14d
cmp rcx, qword [rbx + 0x3d8]
jb 0x1401f7e90
mov r14d, dword [rbp - 0x28]
cmp dword [rbx + 0x130], r13d
jbe 0x1401f831d
mov r8, qword [rbx + 0x138]
mov eax, esi
lea rdx, [rax + rax*2]
mov r9, qword [r8 + rdx*8]
mov ecx, dword [r9 + 8]
cmp ecx, 9
jg 0x1401f81b5
je 0x1401f818a
dec ecx
je 0x1401f815f
dec ecx
je 0x1401f8134
dec ecx
je 0x1401f8109
dec ecx
je 0x1401f80de
dec ecx
je 0x1401f80b3
dec ecx
je 0x1401f8088
dec ecx
je 0x1401f805d
dec ecx
jne 0x1401f830e
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9c94
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9f98
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9b18
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9834
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f96e0
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9b48
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f8718
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f872c
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9c6c
jmp 0x1401f8306
sub ecx, 0xa
je 0x1401f82e0
dec ecx
je 0x1401f82b8
dec ecx
je 0x1401f8290
dec ecx
je 0x1401f8268
sub ecx, 3
je 0x1401f823d
dec ecx
je 0x1401f8212
dec ecx
jne 0x1401f830e
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f958c
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9c58
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f96cc
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9578
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9550
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9564
jmp 0x1401f8306
mov rax, qword [r8 + rdx*8 + 0x10]
movzx r9d, word [r9]
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [r8 + rdx*8 + 8]
lea rdx, [rbp - 0x2c]
mov r8, rdi
mov dword [rsp + 0x20], eax
call fcn.1401f9c80
test eax, eax
je 0x1401f84b9
add esi, r15d
cmp esi, dword [rbx + 0x130]
jb 0x1401f7fd6
test rdi, rdi
jne 0x1401f8429
mov eax, dword [rbp - 0x2c]
lea rcx, [rax + rax*2]
shl rcx, 3
call sub.MSVCR120.dll_malloc
xor r14d, r14d
mov rdi, rax
test rax, rax
je 0x1401f841d
test r12d, r12d
je 0x1401f8362
cmp qword [rbx + 0x18], r14
jne 0x1401f8380
mov rcx, rbx
call fcn.1401f6ee4
test eax, eax
je 0x1401f84b9
jmp 0x1401f8380
mov rcx, qword [rbx + 0x398]
xor edx, edx
lea r8d, [rdx + 2]
call qword [rbx + 0x3b0]
add rax, r15
and rax, 0xfffffffffffffffe
mov qword [rbx + 0x18], rax
mov rsi, qword [rbp + 0x58]
test rsi, rsi
je 0x1401f8390
mov rax, qword [rbx + 0x18]
mov qword [rsi], rax
mov edx, dword [rbx + 0x10]
mov eax, dword [rbp - 0x2c]
and edx, 0x80000
jne 0x1401f83ab
lea ecx, [rax + rax*2]
lea r14d, [rcx*4 + 6]
jmp 0x1401f83b6
lea ecx, [rax + rax*4]
lea r14d, [rcx*4 + 0x10]
mov rcx, qword [rbx + 0x18]
xor esi, esi
mov dword [rbp - 0x28], r14d
lea rax, [r14 + rcx]
mov r8d, r14d
mov qword [rbx + 0x270], rax
test edx, edx
jne 0x1401f83db
mov eax, eax
mov qword [rbx + 0x270], rax
mov rax, qword [rbx + 0x270]
cmp rax, rcx
jb 0x1401f8411
cmp rax, r8
jb 0x1401f8411
test r15b, al
je 0x1401f83fb
inc rax
mov qword [rbx + 0x270], rax
test r12d, r12d
je 0x1401f772c
add word [rbx + 0x260], r15w
jmp 0x1401f772c
lea r8, str.Maximum_TIFF_file_size_exceeded
jmp 0x1401f84a6
lea r8, str.Out_of_memory
jmp 0x1401f7692
test r12d, r12d
je 0x1401f8489
test dword [rbx + 0x3c], 0x20000
je 0x1401f8489
cmp qword [rbx + 0x280], r13
jne 0x1401f8489
mov edx, 0x14a
xor eax, eax
mov rcx, rdi
cmp word [rdi], dx
je 0x1401f845b
lea rcx, [rcx + 0x18]
add eax, r15d
cmp word [rcx], dx
jne 0x1401f844f
test dword [rbx + 0x10], 0x80000
jne 0x1401f8471
lea ecx, [rax + rax*2]
mov rax, qword [rbx + 0x18]
add rax, 0xa
jmp 0x1401f847c
lea ecx, [rax + rax*4]
mov rax, qword [rbx + 0x18]
add rax, 0x14
shl ecx, 2
add rcx, rax
mov qword [rbx + 0x280], rcx
mov ecx, r14d
mov r12d, r14d
call sub.MSVCR120.dll_malloc
xor r14d, r14d
mov r13, rax
test rax, rax
jne 0x1401f84cf
lea r8, str.Out_of_memory
mov rcx, qword [rbx + 0x398]
lea rdx, str.TIFFWriteDirectorySec
call fcn.1401edee0
test rdi, rdi
je 0x1401f76a5
mov rcx, rdi
call sub.MSVCR120.dll_free
jmp 0x1401f86b7
test dword [rbx + 0x10], 0x80000
jne 0x1401f85ae
movzx eax, word [rbp - 0x2c]
mov word [r13], ax
test byte [rbx + 0x10], 0x80
je 0x1401f84f3
mov rcx, r13
call fcn.14021682c
mov eax, dword [rbp - 0x2c]
lea rsi, [r13 + 2]
test eax, eax
je 0x1401f8582
lea r14, [rdi + 8]
mov r15d, eax
movzx eax, word [r14 - 8]
mov word [rsi], ax
test byte [rbx + 0x10], 0x80
je 0x1401f851f
mov rcx, rsi
call fcn.14021682c
movzx eax, word [r14 - 6]
mov word [rsi + 2], ax
test byte [rbx + 0x10], 0x80
je 0x1401f8537
lea rcx, [rsi + 2]
call fcn.14021682c
mov eax, dword [r14]
lea rdx, [rbp + 0x40]
lea rcx, [rsi + 4]
mov r8d, 4
mov dword [rbp + 0x40], eax
call fcn.1401edc70
test byte [rbx + 0x10], 0x80
je 0x1401f855f
lea rcx, [rsi + 4]
call fcn.1402167dc
lea rdx, [r14 + 8]
lea rcx, [rsi + 8]
mov r8d, 4
call fcn.1401edc70
add rsi, 0xc
add r14, 0x18
dec r15
jne 0x1401f8509
xor r14d, r14d
test byte [rbx + 0x10], 0x80
mov eax, dword [rbx + 0x20]
mov dword [rbp + 0x40], eax
je 0x1401f8597
lea rcx, [rbp + 0x40]
call fcn.1402167dc
lea rdx, [rbp + 0x40]
mov r8d, 4
mov rcx, rsi
call fcn.1401edc70
jmp 0x1401f8663
mov r15d, dword [rbp - 0x2c]
mov qword [rax], r15
test byte [rbx + 0x10], 0x80
je 0x1401f85c3
mov rcx, rax
call fcn.1402167f4
lea rsi, [r13 + 8]
cmp dword [rbp - 0x2c], r14d
jbe 0x1401f8643
lea r14, [rdi + 8]
movzx eax, word [r14 - 8]
mov word [rsi], ax
test byte [rbx + 0x10], 0x80
je 0x1401f85e7
mov rcx, rsi
call fcn.14021682c
movzx eax, word [r14 - 6]
mov word [rsi + 2], ax
test byte [rbx + 0x10], 0x80
je 0x1401f85ff
lea rcx, [rsi + 2]
call fcn.14021682c
lea rcx, [rsi + 4]
mov r8d, 8
mov rdx, r14
call fcn.1401edc70
test byte [rbx + 0x10], 0x80
je 0x1401f8620
lea rcx, [rsi + 4]
call fcn.1402167f4
lea rdx, [r14 + 8]
lea rcx, [rsi + 0xc]
mov r8d, 8
call fcn.1401edc70
add rsi, 0x14
add r14, 0x18
dec r15
jne 0x1401f85d1
xor r14d, r14d
lea rdx, [rbx + 0x20]
mov r8d, 8
mov rcx, rsi
call fcn.1401edc70
test byte [rbx + 0x10], 0x80
je 0x1401f8663
mov rcx, rsi
call fcn.1402167f4
mov rcx, rdi
call sub.MSVCR120.dll_free
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x398]
xor r8d, r8d
call qword [rbx + 0x3b0]
mov rcx, qword [rbx + 0x398]
cmp rax, qword [rbx + 0x18]
jne 0x1401f86a4
mov r8, r12
mov rdx, r13
call qword [rbx + reloc.mfc120u.dll_Ordinal_936]
cmp rax, r12
je 0x1401f86cd
mov rcx, qword [rbx + 0x398]
lea r8, str.IO_error_writing_directory
lea rdx, str.TIFFWriteDirectorySec
call fcn.1401edee0
test r13, r13
je 0x1401f76a5
mov rcx, r13
call sub.MSVCR120.dll_free
jmp 0x1401f76a5
mov rcx, r13
call sub.MSVCR120.dll_free
cmp dword [rbp + 0x50], r14d
je 0x1401f86fb
mov rcx, rbx
call fcn.1401ebed0
and dword [rbx + 0x10], 0xffdffff7
mov rcx, rbx
call qword [rbx + 0x318]
mov rcx, rbx
call fcn.1401ebda8
mov eax, 1
mov rbx, qword [rsp + 0xa8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret