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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
mov eax, 1
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 0
je 0x1009d2aa
push edi
call fcn.10094080
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x1009a499
mov eax, dword [edi + 0xc]
lea ebx, [edi + 0xc]
test eax, 0x1000
je 0x1009a418
and eax, 0xffffefff
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x2b8]
push edi
call eax
add esp, 4
test eax, eax
jne 0x1009a415
push str.Error_post_encoding_before_directory_write
push str.TIFFWriteDirectorySec
push edi
call fcn.10094900
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ebx, [edi + 0xc]
mov eax, dword [edi + 0x2d4]
push edi
call eax
add esp, 4
cmp dword [edi + 0x308], 0
jle 0x1009a447
test byte [edi + 0xc], 0x40
je 0x1009a447
push edi
call fcn.100818b0
add esp, 4
test eax, eax
jne 0x1009a447
push str.Error_flushing_data_before_directory_write
jmp 0x1009a3fe
test dword [edi + 0xc], 0x200
je 0x1009a496
mov eax, dword [edi + 0x2f4]
test eax, eax
je 0x1009a496
push eax
push edi
call fcn.1008c430
add esp, 8
mov dword [edi + 0x2f4], 0
mov dword [edi + 0x308], 0
mov dword [edi + 0x2f8], 0
mov dword [edi + 0x2fc], 0
mov dword [edi + 0x300], 0
and dword [ebx], 0xffffffaf
test byte [edi + 0x38], 0x80
je 0x1009a4bd
mov eax, 0x80b2
cmp word [edi + 0x68], ax
jne 0x1009a4bd
push str.Creating_TIFF_with_legacy_Deflate_codec_identifier__COMPRESSION_ADOBE_DEFLATE_is_more_widely_supported
push str.TIFFWriteDirectorySec
push edi
call fcn.10094830
add esp, 0xc
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x58], ebx
mov eax, dword [ebp + 0xc]
nop word [eax + eax]
xor esi, esi
mov dword [esp + 0x48], esi
test eax, eax
je 0x1009c100
test byte [edi + 0x38], 2
je 0x1009a5e7
mov eax, dword [edi + 0x48]
test ebx, ebx
jne 0x1009a4fe
mov esi, 1
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009a5e7
mov ecx, dword [edi + 0xc]
and ecx, 0x80
cmp eax, 0xffff
ja 0x1009a533
movzx eax, ax
mov dword [esp + 0x64], eax
test ecx, ecx
je 0x1009a526
lea eax, [esp + 0x64]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x64]
push eax
push 2
push 1
push 3
jmp 0x1009a553
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x1009a548
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0x100
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x4c]
and ecx, 0x80
cmp eax, 0xffff
ja 0x1009a5a7
movzx eax, ax
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x1009a59a
lea eax, [esp + 0x68]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x68]
push eax
push 2
push 1
push 3
jmp 0x1009a5c7
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x1009a5bc
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0x101
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x38], 4
je 0x1009a6ed
mov eax, dword [edi + 0x54]
test ebx, ebx
jne 0x1009a604
add esi, 2
mov dword [esp + 0x48], esi
jmp 0x1009a6ed
mov ecx, dword [edi + 0xc]
and ecx, 0x80
cmp eax, 0xffff
ja 0x1009a639
movzx eax, ax
mov dword [esp + 0x6c], eax
test ecx, ecx
je 0x1009a62c
lea eax, [esp + 0x6c]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x6c]
push eax
push 2
push 1
push 3
jmp 0x1009a659
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x1009a64e
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0x142
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 0x58]
and ecx, 0x80
cmp eax, 0xffff
ja 0x1009a6ad
movzx eax, ax
mov dword [esp + 0x70], eax
test ecx, ecx
je 0x1009a6a0
lea eax, [esp + 0x70]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x70]
push eax
push 2
push 1
push 3
jmp 0x1009a6cd
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x1009a6c2
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0x143
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x38], 8
je 0x1009a831
movss xmm0, dword [edi + 0x84]
cvtps2pd xmm0, xmm0
test ebx, ebx
jne 0x1009a712
add esi, 2
mov dword [esp + 0x48], esi
jmp 0x1009a831
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x1009cbcd
ucomisd xmm0, xmm0
lahf
test ah, 0x44
jp 0x1009cbbe
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xa4]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.100995e0
add esp, 0x10
test byte [edi + 0xc], 0x80
je 0x1009a770
lea eax, [esp + 0xa0]
push eax
call fcn.10094bd0
lea eax, [esp + 0xa8]
push eax
call fcn.10094bd0
add esp, 8
lea eax, [esp + 0xa0]
push eax
push 8
push 1
push 5
push 0x11a
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
movss xmm0, dword [edi + 0x88]
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
ja 0x1009cbcd
ucomisd xmm0, xmm0
lahf
test ah, 0x44
jp 0x1009cbbe
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0xac]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.100995e0
add esp, 0x10
test byte [edi + 0xc], 0x80
je 0x1009a803
lea eax, [esp + 0xa8]
push eax
call fcn.10094bd0
lea eax, [esp + 0xb0]
push eax
call fcn.10094bd0
add esp, 8
lea eax, [esp + 0xa8]
push eax
push 8
push 1
push 5
push 0x11b
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x38], 0x10
je 0x1009a975
movss xmm0, dword [edi + 0x90]
cvtps2pd xmm0, xmm0
test ebx, ebx
jne 0x1009a856
add esi, 2
mov dword [esp + 0x48], esi
jmp 0x1009a975
xorps xmm1, xmm1
comisd xmm1, xmm0
ja 0x1009cbcd
ucomisd xmm0, xmm0
lahf
test ah, 0x44
jp 0x1009cbbe
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0xb4]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.100995e0
add esp, 0x10
test byte [edi + 0xc], 0x80
je 0x1009a8b4
lea eax, [esp + 0xb0]
push eax
call fcn.10094bd0
lea eax, [esp + 0xb8]
push eax
call fcn.10094bd0
add esp, 8
lea eax, [esp + 0xb0]
push eax
push 8
push 1
push 5
push 0x11e
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
movss xmm0, dword [edi + 0x94]
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
ja 0x1009cbcd
ucomisd xmm0, xmm0
lahf
test ah, 0x44
jp 0x1009cbbe
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0xbc]
push eax
sub esp, 8
movsd qword [esp], xmm0
call fcn.100995e0
add esp, 0x10
test byte [edi + 0xc], 0x80
je 0x1009a947
lea eax, [esp + 0xb8]
push eax
call fcn.10094bd0
lea eax, [esp + 0xc0]
push eax
call fcn.10094bd0
add esp, 8
lea eax, [esp + 0xb8]
push eax
push 8
push 1
push 5
push 0x11f
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x38], 0x20
je 0x1009a9cb
test ebx, ebx
jne 0x1009a986
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009a9cb
test byte [edi + 0xc], 0x80
mov eax, dword [edi + 0x60]
mov dword [esp + 0x60], eax
je 0x1009a9a0
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0xfe
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x38], 0x40
je 0x1009aa92
movzx eax, word [edi + 0x64]
mov dword [esp + 0x78], eax
test ebx, ebx
jne 0x1009a9eb
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009aa92
movzx eax, word [edi + 0x72]
add eax, eax
push eax
push edi
call fcn.1008c4a0
mov esi, eax
add esp, 8
mov dword [esp + 0x5c], esi
test esi, esi
je 0x1009cbdc
movzx eax, word [edi + 0x72]
xor edx, edx
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x60], ebx
xor ebx, ebx
cmp bx, ax
mov ebx, dword [esp + 0x4c]
jae 0x1009aa3c
mov ebx, dword [esp + 0x78]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x72]
inc edx
cmp dx, ax
jb 0x1009aa26
mov ebx, dword [esp + 0x4c]
jmp 0x1009aa40
mov eax, dword [esp + 0x60]
test byte [edi + 0xc], 0x80
movzx ecx, ax
mov dword [esp + 0x78], ecx
je 0x1009aa5e
push ecx
push esi
call fcn.10094b70
mov ecx, dword [esp + 0x80]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x102
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x38], 0x80
je 0x1009aae9
test ebx, ebx
jne 0x1009aaa3
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009aae9
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x68]
mov dword [esp + 0x60], eax
je 0x1009aabe
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x103
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x100
je 0x1009ab43
test ebx, ebx
jne 0x1009aafd
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009ab43
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x6a]
mov dword [esp + 0x60], eax
je 0x1009ab18
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x106
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x200
je 0x1009ab9d
test ebx, ebx
jne 0x1009ab57
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009ab9d
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x6c]
mov dword [esp + 0x60], eax
je 0x1009ab72
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x107
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x400
je 0x1009abf7
test ebx, ebx
jne 0x1009abb1
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009abf7
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x6e]
mov dword [esp + 0x60], eax
je 0x1009abcc
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x10a
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x8000
je 0x1009ac51
test ebx, ebx
jne 0x1009ac0b
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009ac51
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x70]
mov dword [esp + 0x60], eax
je 0x1009ac26
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x112
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x10000
je 0x1009acab
test ebx, ebx
jne 0x1009ac65
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009acab
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x72]
mov dword [esp + 0x60], eax
je 0x1009ac80
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x115
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x20000
je 0x1009ad3b
mov eax, dword [edi + 0x74]
test ebx, ebx
jne 0x1009acc6
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009ad3b
mov ecx, dword [edi + 0xc]
and ecx, 0x80
cmp eax, 0xffff
ja 0x1009acfb
movzx eax, ax
mov dword [esp + 0x74], eax
test ecx, ecx
je 0x1009acee
lea eax, [esp + 0x74]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x74]
push eax
push 2
push 1
push 3
jmp 0x1009ad1b
mov dword [esp + 0x60], eax
test ecx, ecx
je 0x1009ad10
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0x116
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x40000
je 0x1009ae0c
movzx eax, word [edi + 0x78]
mov dword [esp + 0x78], eax
test ebx, ebx
jne 0x1009ad5e
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009ae0c
movzx eax, word [edi + 0x72]
add eax, eax
push eax
push edi
call fcn.1008c4a0
mov esi, eax
add esp, 8
mov dword [esp + 0x5c], esi
test esi, esi
je 0x1009cbdc
movzx eax, word [edi + 0x72]
xor edx, edx
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x60], ebx
xor ebx, ebx
cmp bx, ax
mov ebx, dword [esp + 0x4c]
jae 0x1009adb6
mov ebx, dword [esp + 0x78]
nop dword [eax]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x72]
inc edx
cmp dx, ax
jb 0x1009ada0
mov ebx, dword [esp + 0x4c]
jmp 0x1009adba
mov eax, dword [esp + 0x60]
test byte [edi + 0xc], 0x80
movzx ecx, ax
mov dword [esp + 0x78], ecx
je 0x1009add8
push ecx
push esi
call fcn.10094b70
mov ecx, dword [esp + 0x80]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x118
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x80000
je 0x1009aedc
movzx eax, word [edi + 0x7a]
mov dword [esp + 0x78], eax
test ebx, ebx
jne 0x1009ae2f
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009aedc
movzx eax, word [edi + 0x72]
add eax, eax
push eax
push edi
call fcn.1008c4a0
mov esi, eax
add esp, 8
mov dword [esp + 0x5c], esi
test esi, esi
je 0x1009cbdc
movzx eax, word [edi + 0x72]
xor edx, edx
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x60], ebx
xor ebx, ebx
cmp bx, ax
mov ebx, dword [esp + 0x4c]
jae 0x1009ae86
mov ebx, dword [esp + 0x78]
nop word [eax + eax]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x72]
inc edx
cmp dx, ax
jb 0x1009ae70
mov ebx, dword [esp + 0x4c]
jmp 0x1009ae8a
mov eax, dword [esp + 0x60]
test byte [edi + 0xc], 0x80
movzx ecx, ax
mov dword [esp + 0x78], ecx
je 0x1009aea8
push ecx
push esi
call fcn.10094b70
mov ecx, dword [esp + 0x80]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x119
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x100000
je 0x1009af39
test ebx, ebx
jne 0x1009aef0
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009af39
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x8e]
mov dword [esp + 0x60], eax
je 0x1009af0e
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x11c
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x400000
je 0x1009af96
test ebx, ebx
jne 0x1009af4d
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009af96
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x8c]
mov dword [esp + 0x60], eax
je 0x1009af6b
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x128
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x800000
je 0x1009afee
lea eax, [edi + 0x98]
test ebx, ebx
jne 0x1009afb0
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009afee
test byte [edi + 0xc], 0x80
je 0x1009afc7
push 2
push eax
call fcn.10094b70
add esp, 8
lea eax, [edi + 0x98]
push eax
push 4
push 2
push 3
push 0x129
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x1000000
je 0x1009b3ae
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0xc0]
mov ecx, dword [edi + 0xb8]
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
test edx, 0x400
jne 0x1009b1d6
test ebx, ebx
jne 0x1009b02c
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b3ae
cmp byte [edi + 0x13c], 0
je 0x1009b047
push 0
push 0
push 0
push 0
push 0x117
jmp 0x1009b1fa
mov esi, dword [esp + 0x50]
test edx, 0x80000
je 0x1009b092
cmp esi, 1
jbe 0x1009b075
push edi
call fcn.100811a0
push 0
push 0xffffffffffffffff
push edx
push eax
push edi
call fcn.1009e860
add esp, 0x18
test eax, eax
je 0x1009b092
mov eax, dword [esp + 0x54]
push eax
push esi
push 0x117
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d390
add esp, 0x18
mov esi, eax
jmp 0x1009b3a2
cmp esi, 1
jbe 0x1009b146
push edi
call fcn.100811a0
push 0
push 0xffff
push edx
push eax
push edi
call fcn.1009e860
add esp, 0x18
test eax, eax
jne 0x1009b146
lea eax, [esi + esi]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
je 0x1009cc4b
mov ecx, eax
xor edx, edx
mov eax, dword [esp + 0x54]
nop dword [eax]
cmp dword [eax + 4], 0
mov ebx, dword [eax]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x4c]
ja 0x1009cbeb
jb 0x1009b104
cmp dword [esp + 0x60], 0xffff
ja 0x1009cbeb
mov ebx, dword [esp + 0x60]
inc edx
mov word [ecx], bx
add eax, 8
mov ebx, dword [esp + 0x4c]
add ecx, 2
cmp edx, esi
jb 0x1009b0e0
test byte [edi + 0xc], 0x80
je 0x1009b12d
push esi
push dword [esp + 0x54]
call fcn.10094b70
add esp, 8
push dword [esp + 0x50]
lea edx, [esi + esi]
mov ecx, 3
push edx
push esi
push ecx
push 0x117
jmp 0x1009b385
lea eax, [esi*4]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
je 0x1009cc4b
xor edx, edx
mov ecx, eax
test esi, esi
je 0x1009b1a9
mov eax, dword [esp + 0x54]
nop
cmp dword [eax + 4], 0
mov ebx, dword [eax]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x4c]
ja 0x1009cc1b
jb 0x1009b191
cmp dword [esp + 0x60], 0xffffffff
ja 0x1009cc1b
mov edi, dword [esp + 0x60]
inc edx
mov dword [ecx], edi
add eax, 8
mov edi, dword [ebp + 8]
add ecx, 4
cmp edx, esi
jb 0x1009b170
mov eax, dword [esp + 0x50]
test byte [edi + 0xc], 0x80
je 0x1009b1b9
push esi
push eax
call fcn.10094b30
add esp, 8
push dword [esp + 0x50]
lea edx, [esi*4]
mov ecx, 4
push edx
push esi
push ecx
push 0x117
jmp 0x1009b385
test ebx, ebx
jne 0x1009b1e4
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b3ae
cmp byte [edi + 0x13c], 0
je 0x1009b210
push 0
push 0
push 0
push 0
push 0x145
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
mov esi, eax
jmp 0x1009b3a2
mov esi, dword [esp + 0x50]
test edx, 0x80000
je 0x1009b25b
cmp esi, 1
jbe 0x1009b23e
push edi
call fcn.10095dd0
push 0
push 0xffffffffffffffff
push edx
push eax
push edi
call fcn.1009e860
add esp, 0x18
test eax, eax
je 0x1009b25b
mov eax, dword [esp + 0x54]
push eax
push esi
push 0x145
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d390
add esp, 0x18
mov esi, eax
jmp 0x1009b3a2
cmp esi, 1
jbe 0x1009b2fb
push edi
call fcn.10095dd0
push 0
push 0xffff
push edx
push eax
push edi
call fcn.1009e860
add esp, 0x18
test eax, eax
jne 0x1009b2fb
lea eax, [esi + esi]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
je 0x1009cc4b
mov ecx, eax
xor edx, edx
mov eax, dword [esp + 0x54]
cmp dword [eax + 4], 0
mov ebx, dword [eax]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x4c]
ja 0x1009cbeb
jb 0x1009b2c5
cmp dword [esp + 0x60], 0xffff
ja 0x1009cbeb
mov ebx, dword [esp + 0x60]
inc edx
mov word [ecx], bx
add eax, 8
mov ebx, dword [esp + 0x4c]
add ecx, 2
cmp edx, esi
jb 0x1009b2a1
test byte [edi + 0xc], 0x80
je 0x1009b2ee
push esi
push dword [esp + 0x54]
call fcn.10094b70
add esp, 8
mov ecx, 3
lea edx, [esi + esi]
jmp 0x1009b379
lea eax, [esi*4]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x50], eax
test eax, eax
je 0x1009cc4b
xor edx, edx
mov ecx, eax
test esi, esi
je 0x1009b35d
mov eax, dword [esp + 0x54]
cmp dword [eax + 4], 0
mov ebx, dword [eax]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x4c]
ja 0x1009cc1b
jb 0x1009b345
cmp dword [esp + 0x60], 0xffffffff
ja 0x1009cc1b
mov edi, dword [esp + 0x60]
inc edx
mov dword [ecx], edi
add eax, 8
mov edi, dword [ebp + 8]
add ecx, 4
cmp edx, esi
jb 0x1009b324
mov eax, dword [esp + 0x50]
test byte [edi + 0xc], 0x80
je 0x1009b36d
push esi
push eax
call fcn.10094b30
add esp, 8
mov ecx, 4
lea edx, [esi*4]
push dword [esp + 0x50]
push edx
push esi
push ecx
push 0x145
push ebx
lea ecx, [esp + 0x60]
mov eax, edi
push ecx
push eax
call fcn.1009d400
push dword [esp + 0x70]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x2000000
je 0x1009b5c7
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0xbc]
mov dword [esp + 0x78], eax
test edx, 0x400
jne 0x1009b4b6
test eax, eax
je 0x1009b5c7
mov ecx, dword [edi + 0xb8]
mov dword [esp + 0x60], ecx
test ebx, ebx
jne 0x1009b3f4
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b5c7
cmp byte [edi + 0x13c], 0
je 0x1009b40f
push 0
push 0
push 0
push 0
push 0x111
jmp 0x1009b4e4
test edx, 0x80000
je 0x1009b434
push eax
push ecx
push 0x111
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d390
add esp, 0x18
mov esi, eax
jmp 0x1009b5bb
mov esi, dword [esp + 0x60]
lea eax, [esi*4]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009cc4b
xor edx, edx
mov ecx, eax
test esi, esi
je 0x1009b48d
mov eax, dword [esp + 0x78]
cmp dword [eax + 4], 0
mov esi, dword [eax]
ja 0x1009cc5a
jb 0x1009b478
cmp esi, 0xffffffff
ja 0x1009cc5a
mov dword [ecx], esi
inc edx
mov esi, dword [esp + 0x60]
add eax, 8
add ecx, 4
cmp edx, esi
jb 0x1009b461
mov eax, dword [esp + 0x5c]
test byte [edi + 0xc], 0x80
je 0x1009b49d
push esi
push eax
call fcn.10094b30
add esp, 8
push dword [esp + 0x5c]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x111
jmp 0x1009b5a0
mov ecx, dword [edi + 0xb8]
mov dword [esp + 0x60], ecx
test ebx, ebx
jne 0x1009b4ce
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b5c7
cmp byte [edi + 0x13c], 0
je 0x1009b4fa
push 0
push 0
push 0
push 0
push 0x144
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
mov esi, eax
jmp 0x1009b5bb
test edx, 0x80000
je 0x1009b51f
push eax
push ecx
push 0x144
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d390
add esp, 0x18
mov esi, eax
jmp 0x1009b5bb
mov esi, dword [esp + 0x60]
lea eax, [esi*4]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009cc4b
xor edx, edx
mov ecx, eax
test esi, esi
je 0x1009b57c
mov eax, dword [esp + 0x78]
nop dword [eax]
cmp dword [eax + 4], 0
mov esi, dword [eax]
ja 0x1009cc5a
jb 0x1009b567
cmp esi, 0xffffffff
ja 0x1009cc5a
mov dword [ecx], esi
inc edx
mov esi, dword [esp + 0x60]
add eax, 8
add ecx, 4
cmp edx, esi
jb 0x1009b550
mov eax, dword [esp + 0x5c]
test byte [edi + 0xc], 0x80
je 0x1009b58c
push esi
push eax
call fcn.10094b30
add esp, 8
push dword [esp + 0x5c]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x144
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x38], 0x4000000
je 0x1009b698
test ebx, ebx
jne 0x1009b5e2
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b698
mov cl, byte [edi + 0x64]
mov esi, 1
shl esi, cl
mov dword [esp + 0x78], esi
lea eax, [esi + esi*2]
add eax, eax
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x54], eax
test eax, eax
je 0x1009cc8a
add esi, esi
push esi
push dword [edi + 0x9c]
push eax
call fcn.10089260
mov eax, dword [esp + 0x60]
push esi
push dword [edi + 0xa0]
add eax, esi
push eax
call fcn.10089260
mov eax, dword [esp + 0x6c]
push esi
mov esi, dword [esp + 0x94]
push dword [edi + 0xa4]
lea eax, [eax + esi*4]
push eax
call fcn.10089260
add esp, 0x24
lea esi, [esi + esi*2]
test byte [edi + 0xc], 0x80
je 0x1009b661
push esi
push dword [esp + 0x58]
call fcn.10094b70
add esp, 8
push dword [esp + 0x54]
lea eax, [esi + esi]
push eax
push esi
push 3
push pe_nt_image_headers32
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x74]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
cmp dword [edi + 0x38], 0
jge 0x1009b723
cmp word [edi + 0xac], 0
je 0x1009b723
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x44]
push eax
push 0x152
push edi
call fcn.10095060
movzx ecx, word [esp + 0x50]
add esp, 0x10
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x78], ecx
test ebx, ebx
jne 0x1009b6e0
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b723
test byte [edi + 0xc], 0x80
je 0x1009b6fb
push ecx
push eax
call fcn.10094b70
mov ecx, dword [esp + 0x80]
add esp, 8
mov eax, dword [esp + 0x60]
push eax
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x152
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x3c], 1
lea eax, [edi + 0x3c]
mov dword [esp + 0x50], eax
je 0x1009b807
movzx ecx, word [edi + 0x66]
mov dword [esp + 0x78], ecx
test ebx, ebx
jne 0x1009b74e
inc esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], esi
jmp 0x1009b807
movzx eax, word [edi + 0x72]
add eax, eax
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009cbdc
mov ecx, eax
xor edx, edx
movzx eax, word [edi + 0x72]
mov esi, eax
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x50], esi
xor esi, esi
cmp si, ax
jae 0x1009b7a9
mov esi, dword [esp + 0x78]
nop dword [eax + eax]
mov word [ecx], si
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x72]
inc edx
cmp dx, ax
jb 0x1009b790
lea esi, [edi + 0x3c]
mov dword [esp + 0x50], esi
jmp 0x1009b7ad
mov eax, dword [esp + 0x60]
test byte [edi + 0xc], 0x80
mov esi, dword [esp + 0x5c]
movzx ecx, ax
mov dword [esp + 0x78], ecx
je 0x1009b7cf
push ecx
push esi
call fcn.10094b70
mov ecx, dword [esp + 0x80]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x153
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
test byte [eax], 2
je 0x1009b841
push dword [edi + 0x7c]
movzx eax, word [edi + 0x72]
push eax
push 0x154
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d690
add esp, 0x18
test eax, eax
je 0x1009ccfd
mov esi, dword [esp + 0x48]
lea ecx, [edi + 0x3c]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
jmp 0x1009b847
mov ecx, eax
mov dword [esp + 0x54], eax
test byte [eax], 4
mov dword [esp + 0x5c], ecx
je 0x1009b88a
push dword [edi + 0x80]
movzx eax, word [edi + 0x72]
push eax
push 0x155
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d690
add esp, 0x18
test eax, eax
je 0x1009ccfd
mov esi, dword [esp + 0x48]
lea eax, [edi + 0x3c]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x50]
test byte [eax], 8
je 0x1009b8eb
test ebx, ebx
jne 0x1009b89e
inc esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], esi
jmp 0x1009b8eb
test byte [edi + 0xc], 0x80
mov eax, dword [edi + 0x50]
mov dword [esp + 0x60], eax
je 0x1009b8b8
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0x80e5
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
mov ecx, dword [esp + 0x7c]
add esp, 0x20
mov dword [esp + 0x54], ecx
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [ecx], 0x10
je 0x1009b944
test ebx, ebx
jne 0x1009b8fb
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b944
test byte [edi + 0xc], 0x80
mov eax, dword [edi + 0x5c]
mov dword [esp + 0x60], eax
je 0x1009b915
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push 0x80e6
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x54]
test byte [ecx], 0x20
je 0x1009b998
lea eax, [edi + 0xa8]
test ebx, ebx
jne 0x1009b95a
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b998
test byte [edi + 0xc], 0x80
je 0x1009b971
push 2
push eax
call fcn.10094b70
add esp, 8
lea eax, [edi + 0xa8]
push eax
push 4
push 2
push 3
push 0x141
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test byte [edi + 0x3c], 0x80
je 0x1009b9ed
lea eax, [edi + 0x110]
test ebx, ebx
jne 0x1009b9af
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009b9ed
test byte [edi + 0xc], 0x80
je 0x1009b9c6
push 2
push eax
call fcn.10094b70
add esp, 8
lea eax, [edi + 0x110]
push eax
push 4
push 2
push 3
push 0x212
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x3c], 0x100
je 0x1009ba4a
test ebx, ebx
jne 0x1009ba01
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009ba4a
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x114]
mov dword [esp + 0x60], eax
je 0x1009ba1f
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x213
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x3c], 0x200
je 0x1009bb07
mov eax, dword [edi + 0x124]
mov dword [esp + 0x78], eax
test ebx, ebx
jne 0x1009ba6f
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009bb07
push 0x30
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009cc99
mov ebx, dword [esp + 0x78]
mov esi, eax
mov edi, 6
movss xmm0, dword [ebx]
lea eax, [esi + 4]
push eax
cvtps2pd xmm0, xmm0
push esi
sub esp, 8
movsd qword [esp], xmm0
call fcn.100995e0
add esp, 0x10
lea ebx, [ebx + 4]
add esi, 8
sub edi, 1
jne 0x1009ba91
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x5c]
test byte [edi + 0xc], 0x80
je 0x1009bad4
push 0xc
push esi
call fcn.10094b30
add esp, 8
push esi
push 0x30
push 6
push 5
push 0x214
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x3c], 0x1000
je 0x1009bcca
test ebx, ebx
jne 0x1009bb22
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009bcca
movzx eax, word [edi + 0x64]
movzx ecx, word [edi + 0x72]
mov dword [esp + 0x50], eax
movzx eax, word [edi + 0xac]
sub ecx, eax
xor eax, eax
cmp ecx, 1
mov dword [esp + 0x60], ecx
setg al
xor ecx, ecx
lea eax, [eax*2 + 1]
movzx edx, ax
movzx eax, dx
mov dword [esp + 0x54], edx
mov dword [esp + 0x78], eax
test eax, eax
je 0x1009bb73
lea eax, [edi + 0x118]
cmp dword [eax], 0
je 0x1009bbc7
inc ecx
add eax, 4
cmp ecx, dword [esp + 0x78]
jl 0x1009bb64
cmp dword [esp + 0x60], 1
jle 0x1009bbe3
mov ecx, dword [esp + 0x50]
mov esi, 2
shl esi, cl
push esi
push dword [edi + 0x120]
push dword [edi + 0x118]
call fcn.10089200
add esp, 0xc
test eax, eax
jne 0x1009bbdf
push esi
push dword [edi + 0x11c]
push dword [edi + 0x118]
call fcn.10089200
mov edx, dword [esp + 0x60]
add esp, 0xc
test eax, eax
mov eax, 1
cmove edx, eax
mov dword [esp + 0x54], edx
jmp 0x1009bbe3
push str.Too_few_TransferFunctions_provided._Tag_not_written_to_file
push str.TIFFWriteDirectoryTagTransferfunction
push edi
call fcn.10094830
add esp, 0xc
jmp 0x1009bcca
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
movzx eax, dx
shl eax, cl
mov dword [esp + 0x5c], eax
add eax, eax
push eax
push edi
mov dword [esp + 0x80], eax
call fcn.1008c4a0
mov esi, eax
add esp, 8
mov dword [esp + 0x80], esi
test esi, esi
je 0x1009cca8
mov ecx, dword [esp + 0x50]
mov eax, 2
shl eax, cl
push eax
push dword [edi + 0x118]
mov dword [esp + 0x68], eax
push esi
call fcn.10089260
mov eax, dword [esp + 0x60]
add esp, 0xc
cmp ax, 1
jbe 0x1009bc57
mov eax, dword [esp + 0x60]
push eax
push dword [edi + 0x11c]
add eax, esi
push eax
call fcn.10089260
mov eax, dword [esp + 0x60]
add esp, 0xc
cmp ax, 2
jbe 0x1009bc7d
push dword [esp + 0x60]
mov ecx, dword [esp + 0x54]
mov eax, 4
push dword [edi + 0x120]
shl eax, cl
add eax, esi
push eax
call fcn.10089260
add esp, 0xc
test byte [edi + 0xc], 0x80
je 0x1009bc90
push dword [esp + 0x5c]
push esi
call fcn.10094b70
add esp, 8
push esi
push dword [esp + 0x7c]
lea eax, [esp + 0x50]
push dword [esp + 0x64]
push 3
push 0x12d
push ebx
push eax
push edi
call fcn.1009d400
push dword [esp + 0xa0]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x3c], 0x4000
je 0x1009bd0e
mov eax, dword [edi + 0x128]
test ebx, ebx
jne 0x1009bce4
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009bd0e
push dword [edi + 0x12c]
push eax
push eax
push 2
push 0x14d
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x3c], 0x40000
je 0x1009bd6b
test ebx, ebx
jne 0x1009bd22
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009bd6b
test byte [edi + 0xc], 0x80
movzx eax, word [edi + 0x130]
mov dword [esp + 0x60], eax
je 0x1009bd40
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push 0x14e
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
test dword [edi + 0x3c], 0x20000
je 0x1009bf0c
movzx eax, word [edi + 0x108]
mov ecx, eax
test ax, ax
je 0x1009bf0c
test ebx, ebx
jne 0x1009bd98
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009bf0c
test dword [edi + 0xc], 0x80000
lea esi, [edi + 0xc]
mov eax, dword [edi + 0x278]
mov dword [esp + 0x54], eax
mov eax, dword [edi + 0x27c]
mov dword [esp + 0x60], eax
mov eax, ecx
mov dword [esp + 0x80], esi
jne 0x1009be9c
shl eax, 2
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009ccc3
mov ecx, dword [edi + 0x10c]
mov edx, eax
movzx eax, word [edi + 0x108]
xor esi, esi
mov ebx, eax
mov dword [esp + 0x78], ebx
xor ebx, ebx
cmp bx, ax
mov ebx, dword [esp + 0x4c]
jae 0x1009be31
cmp dword [ecx + 4], 0
mov eax, dword [ecx]
ja 0x1009ccb7
jb 0x1009be17
cmp eax, 0xffffffff
ja 0x1009ccb7
mov dword [edx], eax
inc esi
movzx eax, word [edi + 0x108]
add edx, 4
add ecx, 8
cmp si, ax
jb 0x1009be00
lea esi, [edi + 0xc]
jmp 0x1009be3c
mov esi, dword [esp + 0x80]
mov eax, dword [esp + 0x78]
test byte [esi], 0x80
movzx ecx, ax
mov dword [esp + 0x80], ecx
je 0x1009be5f
push ecx
push dword [esp + 0x60]
call fcn.10094b30
mov ecx, dword [esp + 0x88]
add esp, 8
push dword [esp + 0x5c]
lea eax, [ecx*4]
push eax
push ecx
push 0xd
push 0x14a
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov dword [esp + 0xa4], eax
push edi
call fcn.1008c430
mov eax, dword [esp + 0xa8]
add esp, 0x28
jmp 0x1009beb7
push dword [edi + 0x10c]
push eax
push 0x14a
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d340
add esp, 0x18
test eax, eax
je 0x1009cfdb
movzx eax, word [edi + 0x108]
or dword [esi], 0x2000
mov word [edi + 0x280], ax
cmp eax, 1
jne 0x1009bef4
xorps xmm0, xmm0
movlpd qword [esp + 0x98], xmm0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
jmp 0x1009befc
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x54]
mov dword [edi + 0x288], ecx
mov dword [edi + 0x28c], eax
mov esi, dword [esp + 0x48]
xor ecx, ecx
mov dword [esp + 0x5c], ecx
cmp dword [edi + 0x33c], ecx
jbe 0x1009c100
nop
mov eax, dword [edi + 0x338]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x54], eax
movzx eax, word [eax + 0x18]
cmp eax, 0x42
jb 0x1009c0e9
mov edx, eax
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [edi + edx*4 + 0x38], eax
je 0x1009c0e9
mov edx, dword [esp + 0x54]
mov eax, dword [edx + 0x14]
dec eax
cmp eax, 0x27
ja case.0x1009bf6d.2
movzx eax, byte [eax + 0x1009d2c8]
jmp dword [eax*4 + 0x1009d2b4]
lea eax, [esp + 0x84]
push eax
push dword [edx]
push edi
call fcn.1007ee60
mov edx, dword [esp + 0x90]
add esp, 0xc
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x80], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1009bfa0
mov eax, dword [esp + 0x54]
sub ecx, dword [esp + 0x80]
movzx eax, word [eax]
test ebx, ebx
jne 0x1009bfc3
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009c0e9
push edx
push ecx
push ecx
push 2
push eax
jmp 0x1009c0ce
lea eax, [esp + 0x44]
push eax
push dword [edx]
push edi
call fcn.1007ee60
mov eax, dword [esp + 0x60]
add esp, 0xc
movzx eax, word [eax]
mov dword [esp + 0x80], eax
test ebx, ebx
jne 0x1009bffa
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009c0e9
test byte [edi + 0xc], 0x80
movzx eax, word [esp + 0x44]
mov dword [esp + 0x60], eax
je 0x1009c016
lea eax, [esp + 0x60]
push eax
call fcn.10094c30
add esp, 4
lea eax, [esp + 0x60]
push eax
push 2
push 1
push 3
push dword [esp + 0x90]
jmp 0x1009c0ce
lea eax, [esp + 0x88]
push eax
push dword [edx]
push edi
call fcn.1007ee60
mov eax, dword [esp + 0x60]
add esp, 0xc
movzx eax, word [eax]
mov dword [esp + 0x80], eax
test ebx, ebx
jne 0x1009c05c
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009c0e9
test byte [edi + 0xc], 0x80
mov eax, dword [esp + 0x88]
mov dword [esp + 0x60], eax
je 0x1009c07a
lea eax, [esp + 0x60]
push eax
call fcn.10094bd0
add esp, 4
lea eax, [esp + 0x60]
push eax
push 4
push 1
push 4
push dword [esp + 0x90]
jmp 0x1009c0ce
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x94]
push eax
push dword [edx]
push edi
call fcn.1007ee60
mov eax, dword [esp + 0x64]
add esp, 0x10
movzx ecx, word [eax]
test ebx, ebx
jne 0x1009c0bb
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009c0e9
push dword [esp + 0x8c]
mov eax, dword [esp + 0x94]
push eax
push eax
push 7
push ecx
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x5c]
inc eax
mov ecx, eax
mov dword [esp + 0x5c], eax
cmp eax, dword [edi + 0x33c]
jb 0x1009bf20
xor eax, eax
mov dword [esp + 0x78], eax
cmp dword [edi + 0x134], eax
jbe 0x1009ca44
mov edx, dword [edi + 0x138]
lea ecx, [eax + eax*2]
shl ecx, 2
mov dword [esp + 0x54], ecx
mov eax, dword [edx + ecx]
mov dword [esp + 0x60], eax
movzx ebx, word [eax]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x50], ebx
mov ebx, dword [edx + ecx + 4]
mov dword [esp + 0x5c], ebx
cmp eax, 0x11
ja case.0x1009c145.14
jmp dword [eax*4 + 0x1009d2f0]
cmp dword [esp + 0x4c], 0
je 0x1009ca26
push dword [edx + ecx + 8]
push ebx
push ebx
push 2
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
add esp, 0x20
test eax, eax
je 0x1009cfdb
mov esi, dword [esp + 0x48]
jmp 0x1009ca2f
cmp dword [esp + 0x4c], 0
je 0x1009ca26
push dword [edx + ecx + 8]
push ebx
push ebx
push 7
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
je 0x1009ca26
push dword [edx + ecx + 8]
push ebx
push ebx
push 1
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
je 0x1009ca26
push dword [edx + ecx + 8]
push ebx
push ebx
push 6
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x80], eax
je 0x1009ca26
test byte [edi + 0xc], 0x80
je 0x1009c1f4
push ebx
push eax
call fcn.10094b70
mov eax, dword [esp + 0x88]
add esp, 8
push eax
lea eax, [ebx + ebx]
push eax
push ebx
push 3
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x80], eax
je 0x1009ca26
test byte [edi + 0xc], 0x80
je 0x1009c22e
push ebx
push eax
call fcn.10094b70
mov eax, dword [esp + 0x88]
add esp, 8
push eax
lea eax, [ebx + ebx]
push eax
push ebx
push 8
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x80], eax
je 0x1009ca26
test byte [edi + 0xc], 0x80
je 0x1009c268
push ebx
push eax
call fcn.10094b30
mov eax, dword [esp + 0x88]
add esp, 8
push eax
lea eax, [ebx*4]
push eax
push ebx
push 4
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x80], eax
je 0x1009ca26
test byte [edi + 0xc], 0x80
je 0x1009c2a6
push ebx
push eax
call fcn.10094b30
mov eax, dword [esp + 0x88]
add esp, 8
push eax
lea eax, [ebx*4]
push eax
push ebx
push 9
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x80], eax
je 0x1009ca26
test dword [edi + 0xc], 0x80000
je 0x1009c2f9
push eax
mov eax, dword [esp + 0x54]
push ebx
mov ebx, dword [esp + 0x54]
push eax
push ebx
lea eax, [esp + 0x58]
push eax
push edi
call fcn.1009d390
mov esi, eax
add esp, 0x18
test esi, esi
jmp 0x1009c179
lea eax, [ebx*4]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009cd5c
xor esi, esi
mov edx, eax
test ebx, ebx
je 0x1009c358
mov eax, dword [esp + 0x80]
mov edi, dword [eax + 4]
test edi, edi
mov ecx, dword [eax]
mov dword [esp + 0x98], edi
mov edi, dword [ebp + 8]
ja 0x1009cd18
jb 0x1009c347
cmp ecx, 0xffffffff
ja 0x1009cd18
mov dword [edx], ecx
inc esi
add eax, 8
add edx, 4
cmp esi, ebx
jb 0x1009c325
mov eax, dword [esp + 0x5c]
test byte [edi + 0xc], 0x80
je 0x1009c368
push ebx
push eax
call fcn.10094b30
add esp, 8
push dword [esp + 0x5c]
lea eax, [ebx*4]
push eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push 4
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
jmp 0x1009c179
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x60], eax
je 0x1009ca26
mov ecx, dword [edi + 0xc]
test ecx, 0x80000
je 0x1009c3ff
test cl, cl
jns 0x1009c3d2
push ebx
push eax
call fcn.10094ae0
mov eax, dword [esp + 0x68]
add esp, 8
push eax
lea eax, [ebx*8]
push eax
push ebx
push 0x11
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x5c]
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
mov esi, eax
add esp, 0x20
test esi, esi
jmp 0x1009c179
lea eax, [ebx*4]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x54], eax
test eax, eax
je 0x1009ce08
xor esi, esi
mov edx, eax
test ebx, ebx
je 0x1009c473
mov eax, dword [esp + 0x60]
mov edi, dword [eax + 4]
test edi, edi
mov ecx, dword [eax]
mov dword [esp + 0x60], edi
mov edi, dword [ebp + 8]
jg 0x1009cdc7
jl 0x1009c44a
cmp ecx, 0x7fffffff
ja 0x1009cdc7
cmp dword [eax + 4], 0xffffffff
jl 0x1009cd86
jg 0x1009c462
cmp ecx, 0x80000000
jb 0x1009cd86
mov dword [edx], ecx
inc esi
add eax, 8
add edx, 4
cmp esi, ebx
jb 0x1009c428
mov eax, dword [esp + 0x54]
test byte [edi + 0xc], 0x80
je 0x1009c483
push ebx
push eax
call fcn.10094b30
add esp, 8
push dword [esp + 0x54]
lea eax, [ebx*4]
push eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push 9
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x74]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
jmp 0x1009c179
push dword [esp + 0x60]
call fcn.1008b0f0
mov ecx, dword [esp + 0x58]
mov edx, eax
mov eax, dword [edi + 0x138]
add esp, 4
mov dword [esp + 0x94], edx
mov eax, dword [ecx + eax + 8]
cmp edx, 8
jne 0x1009c5a4
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x54], eax
je 0x1009ca26
lea eax, [ebx*8]
push eax
push edi
call fcn.1008c4a0
mov ecx, eax
add esp, 8
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x1009ce32
mov esi, ecx
test ebx, ebx
je 0x1009c554
sub dword [esp + 0x54], ecx
mov edi, ebx
mov ebx, dword [esp + 0x54]
movsd xmm0, qword [esi + ebx]
lea eax, [esi + 4]
push eax
push esi
sub esp, 8
movsd qword [esp], xmm0
call fcn.100995e0
add esp, 0x10
add esi, 8
sub edi, 1
jne 0x1009c527
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
test byte [edi + 0xc], 0x80
je 0x1009c567
lea eax, [ebx + ebx]
push eax
push ecx
call fcn.10094b30
add esp, 8
push dword [esp + 0x60]
lea eax, [ebx*8]
push eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push 5
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x80]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
jmp 0x1009c179
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x80], eax
jne 0x1009c5c0
mov ebx, dword [esp + 0x4c]
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009c67e
lea eax, [ebx*8]
push eax
push edi
call fcn.1008c4a0
mov ecx, eax
add esp, 8
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x1009ce5c
mov esi, ecx
test ebx, ebx
je 0x1009c622
mov edi, dword [esp + 0x80]
mov dword [esp + 0x54], ebx
movss xmm0, dword [edi]
lea eax, [esi + 4]
push eax
cvtps2pd xmm0, xmm0
push esi
sub esp, 8
movsd qword [esp], xmm0
call fcn.100995e0
add esp, 0x10
lea edi, [edi + 4]
add esi, 8
sub ebx, 1
jne 0x1009c5f0
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
test byte [edi + 0xc], 0x80
je 0x1009c635
lea eax, [ebx + ebx]
push eax
push ecx
call fcn.10094b30
add esp, 8
push dword [esp + 0x60]
lea eax, [ebx*8]
push eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push 5
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x80]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x94]
cmp edx, 4
je 0x1009ca2f
push edx
push str.Rational2Double:_.set_field_type_is_not_4_but__d
push str.TIFFLib:__TIFFWriteDirectorySec__
push edi
call fcn.10094900
add esp, 0x10
jmp 0x1009ca2f
push dword [esp + 0x60]
call fcn.1008b0f0
mov ecx, dword [esp + 0x58]
mov edx, eax
mov eax, dword [edi + 0x138]
add esp, 4
mov dword [esp + 0x98], edx
mov eax, dword [ecx + eax + 8]
cmp edx, 8
jne 0x1009c78a
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x60], eax
je 0x1009ca26
lea eax, [ebx*8]
push eax
push edi
call fcn.1008c4a0
mov ecx, eax
add esp, 8
mov dword [esp + 0x54], ecx
test ecx, ecx
je 0x1009ce86
mov esi, ecx
test ebx, ebx
je 0x1009c73d
sub dword [esp + 0x60], ecx
mov edi, ebx
mov ebx, dword [esp + 0x60]
nop word [eax + eax]
movsd xmm0, qword [esi + ebx]
lea eax, [esi + 4]
push eax
push esi
sub esp, 8
movsd qword [esp], xmm0
call fcn.10099820
add esp, 0x10
add esi, 8
sub edi, 1
jne 0x1009c710
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x54]
test byte [edi + 0xc], 0x80
je 0x1009c750
lea eax, [ebx + ebx]
push eax
push ecx
call fcn.10094b30
add esp, 8
push dword [esp + 0x54]
lea eax, [ebx*8]
push eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push 0xa
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x74]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
jmp 0x1009c179
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x94], eax
jne 0x1009c7a6
mov ebx, dword [esp + 0x4c]
inc esi
mov dword [esp + 0x48], esi
jmp 0x1009c86e
lea eax, [ebx*8]
push eax
push edi
call fcn.1008c4a0
mov ecx, eax
add esp, 8
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x1009ceb0
mov esi, ecx
test ebx, ebx
je 0x1009c812
mov edi, dword [esp + 0x94]
mov dword [esp + 0x80], ebx
nop dword [eax]
movss xmm0, dword [edi]
lea eax, [esi + 4]
push eax
cvtps2pd xmm0, xmm0
push esi
sub esp, 8
movsd qword [esp], xmm0
call fcn.10099820
add esp, 0x10
lea edi, [edi + 4]
add esi, 8
sub ebx, 1
jne 0x1009c7e0
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
test byte [edi + 0xc], 0x80
je 0x1009c825
lea eax, [ebx + ebx]
push eax
push ecx
call fcn.10094b30
add esp, 8
push dword [esp + 0x60]
lea eax, [ebx*8]
push eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push 0xa
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x80]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
je 0x1009cfdb
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x98]
cmp edx, 4
je 0x1009ca2f
push edx
push str.Rational2Double:_.set_field_type_is_not_4_but__d
push str.TIFFLib:__TIFFWriteDirectorySec__
push edi
call fcn.10094900
add esp, 0x10
jmp 0x1009ca2f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x98], eax
je 0x1009ca26
test byte [edi + 0xc], 0x80
je 0x1009c8bd
push ebx
push eax
call fcn.10094b30
mov eax, dword [esp + 0xa0]
add esp, 8
push eax
lea eax, [ebx*4]
push eax
push ebx
push 0xb
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x98], eax
je 0x1009ca26
test byte [edi + 0xc], 0x80
je 0x1009c8fb
push ebx
push eax
call fcn.10094ae0
mov eax, dword [esp + 0xa0]
add esp, 8
push eax
lea eax, [ebx*8]
push eax
push ebx
push 0xc
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x98], eax
je 0x1009ca26
test byte [edi + 0xc], 0x80
je 0x1009c939
push ebx
push eax
call fcn.10094b30
mov eax, dword [esp + 0xa0]
add esp, 8
push eax
lea eax, [ebx*4]
push eax
push ebx
push 0xd
jmp 0x1009c15f
cmp dword [esp + 0x4c], 0
mov eax, dword [edx + ecx + 8]
mov dword [esp + 0x60], eax
je 0x1009ca26
mov ecx, dword [edi + 0xc]
test ecx, 0x80000
je 0x1009c98b
test cl, cl
jns 0x1009c97a
push ebx
push eax
call fcn.10094ae0
mov eax, dword [esp + 0x68]
add esp, 8
push eax
lea eax, [ebx*8]
push eax
push ebx
push 0x12
jmp 0x1009c3de
lea eax, [ebx*4]
push eax
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x5c], eax
test eax, eax
je 0x1009cf0e
xor esi, esi
mov edx, eax
test ebx, ebx
je 0x1009c9dc
mov eax, dword [esp + 0x60]
cmp dword [eax + 4], 0
mov ecx, dword [eax]
ja 0x1009ceda
jb 0x1009c9cb
cmp ecx, 0xffffffff
ja 0x1009ceda
mov dword [edx], ecx
inc esi
add eax, 8
add edx, 4
cmp esi, ebx
jb 0x1009c9b4
mov eax, dword [esp + 0x5c]
test byte [edi + 0xc], 0x80
je 0x1009c9ec
push ebx
push eax
call fcn.10094b30
add esp, 8
push dword [esp + 0x5c]
lea eax, [ebx*4]
push eax
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x58]
push 0xd
push eax
push ebx
lea eax, [esp + 0x60]
push eax
push edi
call fcn.1009d400
push dword [esp + 0x7c]
mov esi, eax
push edi
call fcn.1008c430
add esp, 0x28
test esi, esi
jmp 0x1009c179
inc esi
mov dword [esp + 0x48], esi
mov ebx, dword [esp + 0x4c]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [edi + 0x134]
jb 0x1009c112
test ebx, ebx
jne 0x1009cf4c
mov eax, esi
shl eax, 5
push eax
push edi
call fcn.1008c4a0
mov ebx, eax
add esp, 8
mov dword [esp + 0x4c], ebx
test ebx, ebx
je 0x1009cf42
cmp dword [ebp + 0xc], 0
je 0x1009ca90
mov ecx, dword [edi + 0x10]
or ecx, dword [edi + 0x14]
jne 0x1009ca88
push edi
call fcn.10099a60
add esp, 4
test eax, eax
je 0x1009cfdb
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
jmp 0x1009caba
mov eax, dword [edi + 0x328]
push 2
push 0
push 0
push dword [edi + 0x31c]
call eax
mov ecx, eax
add esp, 0x10
add ecx, 1
mov eax, edx
adc eax, 0
and ecx, 0xfffffffe
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x5c], eax
test edx, edx
je 0x1009cad4
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x5c], eax
test dword [edi + 0xc], 0x80000
lea ebx, [edi + 0x278]
mov dword [esp + 0x78], ebx
jne 0x1009cb14
lea eax, [esi + esi*2]
mov esi, dword [esp + 0x5c]
lea eax, [eax*4 + 6]
mov edx, eax
mov dword [esp + 0x58], eax
add edx, ecx
mov eax, 0
mov dword [edi + 0x278], edx
adc eax, esi
mov dword [edi + 0x27c], eax
xor eax, eax
jmp 0x1009cb2f
lea eax, [esi + esi*4]
mov edx, ecx
mov esi, dword [esp + 0x5c]
lea eax, [eax*4 + 0x10]
mov dword [esp + 0x58], eax
add edx, eax
mov eax, esi
adc eax, 0
mov ebx, dword [esp + 0x78]
mov edi, edx
mov dword [esp + 0x60], eax
mov dword [ebx], edi
mov edi, eax
mov dword [ebx + 4], edi
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x4c]
cmp eax, esi
jb 0x1009cf38
ja 0x1009cb59
cmp edx, ecx
jb 0x1009cf38
test eax, eax
jb 0x1009cf38
ja 0x1009cb6d
cmp edx, dword [esp + 0x58]
jb 0x1009cf38
mov eax, edx
and eax, 1
or eax, 0
je 0x1009cb8d
mov eax, dword [esp + 0x60]
add edx, 1
mov dword [edi + 0x278], edx
adc eax, 0
mov dword [edi + 0x27c], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1009a4d0
mov eax, dword [edi + 0x260]
cmp eax, 0xffffffff
jne 0x1009cbb2
mov dword [edi + 0x260], 0
jmp 0x1009a4c7
inc eax
mov dword [edi + 0x260], eax
jmp 0x1009a4c7
push str.Not_a_number_value_is_illegal
push str.TIFFWriteDirectoryTagCheckedRational
jmp 0x1009cfd2
push str.Negative_value_is_illegal
push str.TIFFWriteDirectoryTagCheckedRational
jmp 0x1009cfd2
push str.Out_of_memory
push str.TIFFWriteDirectoryTagShortPerSample
jmp 0x1009cfd2
push str.Attempt_to_write_value_larger_than_0xFFFF_in_SHORT_array.
push str.TIFFWriteDirectoryTagLongLong8Array
push edi
call fcn.10094900
push dword [esp + 0x5c]
push edi
call fcn.1008c430
add esp, 0x14
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_LONG_array.
push str.TIFFWriteDirectoryTagLongLong8Array
push edi
call fcn.10094900
push dword [esp + 0x5c]
push edi
call fcn.1008c430
add esp, 0x14
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagLongLong8Array
jmp 0x1009cfd2
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_LONG_array.
push str.TIFFWriteDirectoryTagLongLong8Array
push edi
call fcn.10094900
push dword [esp + 0x68]
push edi
call fcn.1008c430
add esp, 0x14
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagColormap
jmp 0x1009cfd2
push str.Out_of_memory
push str.TIFFWriteDirectoryTagCheckedRationalArray
jmp 0x1009cfd2
push str.Out_of_memory
push str.TIFFWriteDirectoryTagTransferfunction
jmp 0x1009cfd2
push str.Illegal_value_for_SubIFD_tag
push str.TIFFWriteDirectoryTagSubifd
jmp 0x1009cc64
push str.Out_of_memory
push str.TIFFWriteDirectoryTagSubifd
jmp 0x1009cfd2
mov eax, dword [edx + 0x1c]
mov ecx, str.unknown
test eax, eax
cmovne ecx, eax
push ecx
push edx
call fcn.1008b170
add esp, 4
push eax
push str.Cannot_write_tag__u___s_
push str.TIFFWriteDirectorySec
push edi
call fcn.10094900
add esp, 0x14
test ebx, ebx
je 0x1009a40c
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x50]
movzx eax, ax
push eax
push dword [esp + 0x9c]
push ecx
push str.Attempt_to_write_unsigned_long_value__llu_larger_than_0xFFFFFFFF_for_tag__d_in_Classic_TIFF_file._TIFF_file_writing_aborted
push str.TIFFWriteDirectoryTagLong8Array
push edi
call fcn.10094900
push dword [esp + 0x74]
push edi
call fcn.1008c430
mov ebx, dword [esp + 0x6c]
add esp, 0x20
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagLong8Array
push edi
call fcn.10094900
mov ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x50]
movzx eax, ax
push eax
push dword [esp + 0x64]
push ecx
push str.Attempt_to_write_signed_long_value__lli_smaller_than_0x80000000___2147483648__for_tag__d_in_Classic_TIFF_file._TIFF_writing_to_file_aborted
push str.TIFFWriteDirectoryTagSlong8Array
push edi
call fcn.10094900
push dword [esp + 0x6c]
push edi
call fcn.1008c430
mov ebx, dword [esp + 0x6c]
add esp, 0x20
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x50]
movzx eax, ax
push eax
push dword [esp + 0x64]
push ecx
push str.Attempt_to_write_signed_long_value__lli_larger_than_0x7FFFFFFF__2147483647__for_tag__d_in_Classic_TIFF_file._TIFF_writing_to_file_aborted
push str.TIFFWriteDirectoryTagSlong8Array
push edi
call fcn.10094900
push dword [esp + 0x6c]
push edi
call fcn.1008c430
mov ebx, dword [esp + 0x6c]
add esp, 0x20
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagSlong8Array
push edi
call fcn.10094900
mov ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagCheckedRationalDoubleArray
push edi
call fcn.10094900
mov ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagCheckedRationalArray
push edi
call fcn.10094900
mov ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagCheckedSrationalDoubleArray
push edi
call fcn.10094900
mov ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagCheckedSrationalArray
push edi
call fcn.10094900
mov ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_Classic_TIFF_file.
push str.TIFFWriteDirectoryTagIfdIfd8Array
push edi
call fcn.10094900
push dword [esp + 0x68]
push edi
call fcn.1008c430
mov ebx, dword [esp + 0x60]
add esp, 0x14
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagIfdIfd8Array
push edi
call fcn.10094900
mov ebx, dword [esp + 0x58]
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Maximum_TIFF_file_size_exceeded
jmp 0x1009cfcd
push str.Out_of_memory
jmp 0x1009a3fe
cmp dword [ebp + 0xc], 0
je 0x1009cfb3
test dword [edi + 0x3c], 0x20000
je 0x1009cfb3
mov eax, dword [edi + 0x288]
or eax, dword [edi + 0x28c]
jne 0x1009cfb3
mov ecx, ebx
test esi, esi
je 0x1009cf81
mov edx, 0x14a
cmp word [ecx], dx
je 0x1009cf88
inc eax
add ecx, 0x20
cmp eax, esi
jne 0x1009cf74
push str.Cannot_find_SubIFD_tag
jmp 0x1009cfcd
test dword [edi + 0xc], 0x80000
mov edx, dword [edi + 0x10]
jne 0x1009cfee
lea ecx, [eax + eax*2]
xor eax, eax
shl ecx, 2
add ecx, edx
adc eax, dword [edi + 0x14]
add ecx, 0xa
adc eax, 0
mov dword [edi + 0x288], ecx
mov dword [edi + 0x28c], eax
push dword [esp + 0x58]
push edi
call fcn.1008c4a0
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
jne 0x1009d000
push str.Out_of_memory
push str.TIFFWriteDirectorySec
push edi
call fcn.10094900
add esp, 0xc
push ebx
push edi
call fcn.1008c430
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [eax + eax*4]
xor eax, eax
shl ecx, 2
add ecx, edx
adc eax, dword [edi + 0x14]
add ecx, 0x14
jmp 0x1009cfa4
test dword [edi + 0xc], 0x80000
lea ecx, [edi + 0xc]
mov dword [esp + 0x54], ecx
jne 0x1009d11b
mov word [eax], si
test byte [ecx], 0x80
je 0x1009d02c
push eax
call fcn.10094c30
mov eax, dword [esp + 0x4c]
lea ecx, [edi + 0xc]
add esp, 4
add eax, 2
mov dword [esp + 0x60], eax
test esi, esi
je 0x1009d0e7
mov edi, dword [esp + 0x54]
lea eax, [ebx + 8]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x50], eax
nop word [eax + eax]
mov ax, word [eax - 8]
mov word [ebx], ax
test byte [edi], 0x80
je 0x1009d065
push ebx
call fcn.10094c30
add esp, 4
mov eax, dword [esp + 0x50]
add ebx, 2
mov ax, word [eax - 6]
mov word [ebx], ax
test byte [edi], 0x80
je 0x1009d081
push ebx
call fcn.10094c30
add esp, 4
mov eax, dword [esp + 0x50]
add ebx, 2
push 4
mov eax, dword [eax]
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
push eax
push ebx
call fcn.10089260
add esp, 0xc
test byte [edi], 0x80
je 0x1009d0ac
push ebx
call fcn.10094bd0
add esp, 4
mov eax, dword [esp + 0x50]
add ebx, 4
push 4
add eax, 8
push eax
push ebx
call fcn.10089260
mov eax, dword [esp + 0x5c]
add esp, 0xc
add eax, 0x20
add ebx, 4
mov dword [esp + 0x50], eax
sub esi, 1
jne 0x1009d050
mov edi, dword [ebp + 8]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x4c]
lea ecx, [edi + 0xc]
test byte [ecx], 0x80
mov eax, dword [edi + 0x18]
mov dword [esp + 0x5c], eax
je 0x1009d100
lea eax, [esp + 0x5c]
push eax
call fcn.10094bd0
add esp, 4
push 4
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x68]
call fcn.10089260
add esp, 0xc
lea esi, [edi + 0xc]
jmp 0x1009d215
mov dword [eax], esi
mov dword [eax + 4], 0
test byte [ecx], 0x80
je 0x1009d139
push eax
call fcn.10094bf0
mov eax, dword [esp + 0x4c]
lea ecx, [edi + 0xc]
add esp, 4
add eax, 8
mov dword [esp + 0x60], eax
test esi, esi
je 0x1009d1e8
mov edi, dword [esp + 0x60]
lea eax, [ebx + 8]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x50], eax
nop word [eax + eax]
mov ax, word [eax - 8]
mov word [edi], ax
test byte [ebx], 0x80
je 0x1009d175
push edi
call fcn.10094c30
add esp, 4
mov eax, dword [esp + 0x50]
add edi, 2
mov ax, word [eax - 6]
mov word [edi], ax
test byte [ebx], 0x80
je 0x1009d191
push edi
call fcn.10094c30
add esp, 4
push 8
push dword [esp + 0x54]
add edi, 2
push edi
call fcn.10089260
add esp, 0xc
test byte [ebx], 0x80
je 0x1009d1b1
push edi
call fcn.10094bf0
add esp, 4
mov eax, dword [esp + 0x50]
add edi, 8
push 8
add eax, 8
push eax
push edi
call fcn.10089260
mov eax, dword [esp + 0x5c]
add esp, 0xc
add eax, 0x20
add edi, 8
mov dword [esp + 0x50], eax
sub esi, 1
jne 0x1009d160
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x60], edi
mov edi, dword [ebp + 8]
lea ecx, [edi + 0xc]
mov esi, dword [esp + 0x60]
lea eax, [edi + 0x18]
push 8
push eax
push esi
mov dword [esp + 0x60], ecx
call fcn.10089260
mov eax, dword [esp + 0x60]
add esp, 0xc
test byte [eax], 0x80
je 0x1009d211
push esi
call fcn.10094bf0
add esp, 4
mov esi, dword [esp + 0x54]
push ebx
push edi
call fcn.1008c430
push dword [edi + 0x14]
push dword [edi + 0x10]
push edi
call fcn.100959c0
mov ebx, dword [esp + 0x5c]
add esp, 0x14
test eax, eax
je 0x1009d24f
push dword [esp + 0x58]
mov eax, dword [edi + 0x324]
push ebx
push dword [edi + 0x31c]
call eax
add esp, 0xc
cmp eax, dword [esp + 0x58]
je 0x1009d274
push str.IO_error_writing_directory
mov eax, edi
push str.TIFFWriteDirectorySec
push eax
call fcn.10094900
push ebx
push edi
call fcn.1008c430
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ebx
push edi
call fcn.1008c430
add esp, 8
cmp dword [ebp + 0x10], 0
je 0x1009d2a5
push edi
call fcn.1007ec20
and dword [esi], 0xfffffff7
mov ecx, dword [edi + 0x2dc]
and dword [esi], 0xffdfffff
push edi
call ecx
push edi
call fcn.1007ea70
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret