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

Disassembly:
sub esp, 0x44
push esi
mov si, word [esp + 0x50]
xorps xmm0, xmm0
push edi
mov edi, dword [esp + 0x50]
movzx eax, si
push 0
push eax
push edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
movlpd qword [esp + 0x3c], xmm0
movlpd qword [esp + 0x34], xmm0
mov dword [esp + 0x28], 0
call fcn.1019bbb0
add esp, 0xc
test dword [edi + 0xc], 0x800
je 0x10189d7d
push str.Memory_mapped_files_not_currently_supported_for_this_operation.
push str.TIFFResetField
push dword [edi + 0x274]
call fcn.1019c980
add esp, 0xc
xor eax, eax
pop edi
pop esi
add esp, 0x44
ret
mov edx, dword [edi + 0x10]
mov eax, edx
mov ecx, dword [edi + 0x14]
or eax, ecx
jne 0x10189d90
push str.Attempt_to_reset_field_on_directory_not_already_on_disk.
jmp 0x10189d62
push ecx
push edx
push edi
call fcn.1019ba70
add esp, 0xc
test eax, eax
jne 0x10189dc1
push dword [edi]
push str._s:_Seek_error_accessing_TIFF_directory
push str.TIFFResetField
push dword [edi + 0x274]
call fcn.1019c980
add esp, 0x10
xor eax, eax
pop edi
pop esi
add esp, 0x44
ret
test dword [edi + 0xc], 0x80000
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x278]
push ebx
push ebp
mov ebp, dword [edi + 0x10]
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 0x274]
jne 0x10189e15
push 2
lea edx, [esp + 0x1c]
push edx
push eax
call ecx
add esp, 0xc
cmp eax, 2
jne 0x10189e27
test byte [edi + 0xc], 0x80
je 0x10189e07
lea eax, [esp + 0x18]
push eax
call fcn.1019abc0
add esp, 4
mov eax, dword [esp + 0x18]
mov ebx, 0xc
lea ecx, [ebx - 0xa]
jmp 0x10189e59
push 8
lea edx, [esp + 0x2c]
push edx
push eax
call ecx
add esp, 0xc
cmp eax, 8
je 0x10189e33
push dword [edi]
push str._s:_Can_not_read_TIFF_directory_count
jmp 0x1018a3df
test byte [edi + 0xc], 0x80
je 0x10189e46
lea eax, [esp + 0x28]
push eax
call fcn.1019ab80
add esp, 4
movzx eax, word [esp + 0x28]
mov ebx, 0x14
mov dword [esp + 0x18], eax
mov ecx, 8
add ebp, ecx
mov dword [esp + 0x28], ebx
mov ecx, dword [esp + 0x5c]
adc ecx, 0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x5c], ecx
test ax, ax
je 0x10189ee7
mov dword [esp + 0x14], ebp
mov dword [esp + 0x5c], ecx
nop dword [eax + eax]
push ebx
lea eax, [esp + 0x44]
push eax
push dword [edi + 0x274]
mov eax, dword [edi + 0x278]
call eax
add esp, 0xc
cmp eax, ebx
jne 0x10189edb
test byte [edi + 0xc], 0x80
movzx eax, word [esp + 0x40]
mov dword [esp + 0x1c], eax
je 0x10189ebb
lea eax, [esp + 0x1c]
push eax
call fcn.1019abc0
mov eax, dword [esp + 0x20]
add esp, 4
cmp ax, si
je 0x10189f00
mov ecx, dword [esp + 0x5c]
add ebp, ebx
mov dword [esp + 0x14], ebp
adc ecx, 0
cmp word [esp + 0x18], 0
mov dword [esp + 0x5c], ecx
ja 0x10189e80
jmp 0x10189eeb
push dword [edi]
push str._s:_Can_not_read_TIFF_directory_entry.
jmp 0x1018a3df
mov eax, dword [esp + 0x1c]
cmp ax, si
je 0x10189f00
movzx eax, si
push eax
push dword [edi]
push str._s:_Could_not_find_tag__d.
jmp 0x1018a209
test byte [edi + 0xc], 0x80
movzx eax, word [esp + 0x42]
mov dword [esp + 0x20], eax
je 0x10189f1c
lea eax, [esp + 0x20]
push eax
call fcn.1019abc0
add esp, 4
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x44]
and edx, 0x80
test dword [edi + 0xc], 0x80000
jne 0x10189f84
mov dword [esp + 0x10], eax
test edx, edx
je 0x10189f4b
lea eax, [esp + 0x10]
push eax
call fcn.1019ab60
mov eax, dword [esp + 0x14]
add esp, 4
test byte [edi + 0xc], 0x80
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x10], eax
je 0x10189f76
lea eax, [esp + 0x10]
push eax
call fcn.1019ab60
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
jmp 0x10189fc4
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
test edx, edx
je 0x10189fa1
lea eax, [esp + 0x38]
push eax
call fcn.1019ab80
add esp, 4
test byte [edi + 0xc], 0x80
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
je 0x10189fc4
lea eax, [esp + 0x30]
push eax
call fcn.1019ab80
add esp, 4
mov ebx, dword [esp + 0x60]
push ebx
call fcn.1019bac0
add esp, 4
cmp eax, 8
jne 0x1018a002
test dword [edi + 0xc], 0x80000
jne 0x1018a002
cmp ebx, 0x10
jne 0x10189fe9
lea ebp, [ebx - 0xc]
jmp 0x1018a004
cmp ebx, 0x11
jne 0x10189ff3
lea ebp, [ebx - 8]
jmp 0x1018a004
cmp ebx, 0x12
mov ebp, ebx
mov eax, 0xd
cmove ebp, eax
jmp 0x1018a004
mov ebp, ebx
push str.for_field_buffer.
push ebp
call fcn.1019bac0
mov esi, dword [esp + 0x6c]
add esp, 4
push eax
push esi
push edi
call fcn.1019b8e0
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x1018a3f2
mov eax, dword [esp + 0x60]
cmp ebp, eax
jne 0x1018a084
push ebp
call fcn.1019bac0
imul eax, esi
push eax
push dword [esp + 0x70]
push ebx
call fcn.1026c360
add esp, 0x10
push ebp
call fcn.1019bac0
add esp, 4
cmp eax, 1
jle 0x1018a156
test byte [edi + 0xc], 0x80
je 0x1018a156
push ebp
call fcn.1019bac0
add esp, 4
cmp eax, 2
jne 0x1018a127
push esi
push ebx
call fcn.1019ab00
jmp 0x1018a153
cmp ebp, 9
jne 0x1018a0c5
cmp eax, 0x11
jne 0x1018a04a
xor ecx, ecx
test esi, esi
jle 0x1018a04a
mov eax, dword [esp + 0x68]
nop dword [eax + eax]
mov edi, dword [esp + 0x68]
mov eax, dword [eax + ecx*8]
mov dword [ebx + ecx*4], eax
cdq
cmp eax, dword [edi + ecx*8]
mov edi, dword [esp + 0x58]
jne 0x1018a117
mov eax, dword [esp + 0x68]
cmp edx, dword [eax + ecx*8 + 4]
jne 0x1018a117
inc ecx
cmp ecx, esi
jl 0x1018a0a0
jmp 0x1018a04a
cmp ebp, 4
jne 0x1018a0cf
cmp eax, 0x10
je 0x1018a0e1
cmp ebp, 0xd
jne 0x1018a04a
cmp eax, 0x12
jne 0x1018a04a
xor ecx, ecx
test esi, esi
jle 0x1018a04a
mov edx, dword [esp + 0x68]
nop
mov eax, dword [edx + ecx*8]
mov dword [ebx + ecx*4], eax
mov dword [esp + 0x58], 0
cmp eax, dword [edx + ecx*8]
jne 0x1018a117
mov eax, dword [esp + 0x58]
cmp eax, dword [edx + ecx*8 + 4]
jne 0x1018a117
inc ecx
cmp ecx, esi
jl 0x1018a0f0
jmp 0x1018a04a
push ebx
call fcn.10034980
push str.Value_exceeds_32bit_range_of_output_type.
jmp 0x1018a3df
push ebp
call fcn.1019bac0
add esp, 4
cmp eax, 4
jne 0x1018a13e
push esi
push ebx
call fcn.1019aa70
jmp 0x1018a153
push ebp
call fcn.1019bac0
add esp, 4
cmp eax, 8
jne 0x1018a156
push esi
push ebx
call fcn.1019aab0
add esp, 8
test dword [edi + 0xc], 0x80000
push ebp
jne 0x1018a194
call fcn.1019bac0
imul eax, esi
add esp, 4
cmp eax, 4
jg 0x1018a186
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
add edx, 8
mov dword [esp + 0x30], edx
adc ecx, 0
mov dword [esp + 0x34], ecx
xor ecx, ecx
cmp eax, 4
setle cl
mov dword [esp + 0x24], ecx
jmp 0x1018a1c2
call fcn.1019bac0
imul eax, esi
add esp, 4
cmp eax, 8
jg 0x1018a1c2
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
add ecx, 0xc
mov dword [esp + 0x30], ecx
adc eax, 0
mov dword [esp + 0x24], 1
mov dword [esp + 0x34], eax
mov eax, esi
movzx ecx, bp
cdq
cmp dword [esp + 0x38], eax
jne 0x1018a269
cmp dword [esp + 0x3c], edx
jne 0x1018a269
cmp word [esp + 0x20], cx
jne 0x1018a269
push dword [esp + 0x34]
push dword [esp + 0x34]
push edi
call fcn.1019ba70
add esp, 0xc
test eax, eax
jne 0x1018a226
push ebx
call fcn.10034980
push dword [edi]
push str._s:_Seek_error_accessing_TIFF_directory
push str.TIFFResetField
push dword [edi + 0x274]
call fcn.1019c980
add esp, 0x14
xor eax, eax
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x44
ret
push ebp
call fcn.1019bac0
imul eax, esi
push eax
mov eax, dword [edi + 0x27c]
push ebx
push dword [edi + 0x274]
call eax
push ebp
mov esi, eax
call fcn.1019bac0
imul eax, dword [esp + 0x78]
add esp, 0x14
push ebx
cmp esi, eax
jne 0x1018a2c3
call fcn.10034980
add esp, 4
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x44
ret
cmp dword [esp + 0x24], 0
mov eax, ecx
mov dword [esp + 0x58], eax
jne 0x1018a2d2
mov eax, dword [edi + 0x280]
push 2
push 0
push 0
push dword [edi + 0x274]
call eax
push ebp
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
call fcn.1019bac0
imul eax, esi
push eax
mov eax, dword [edi + 0x27c]
push ebx
push dword [edi + 0x274]
call eax
push ebp
mov esi, eax
call fcn.1019bac0
imul eax, dword [esp + 0x88]
add esp, 0x24
cmp esi, eax
je 0x1018a2ea
push ebx
call fcn.10034980
push str.Error_writing_directory_link
jmp 0x1018a3df
push ebp
call fcn.1019bac0
imul eax, esi
push eax
lea eax, [esp + 0x38]
push ebx
push eax
call fcn.1026c360
add esp, 0x10
push ebx
call fcn.10034980
mov eax, dword [esp + 0x5c]
add esp, 4
test byte [edi + 0xc], 0x80
movzx eax, ax
mov dword [esp + 0x20], eax
mov word [esp + 0x42], ax
je 0x1018a316
lea eax, [esp + 0x42]
push eax
call fcn.1019abc0
add esp, 4
mov edx, dword [edi + 0xc]
mov eax, dword [esp + 0x38]
and edx, 0x80
test dword [edi + 0xc], 0x80000
mov dword [esp + 0x44], eax
jne 0x1018a35b
test edx, edx
je 0x1018a341
lea eax, [esp + 0x44]
push eax
call fcn.1019ab60
add esp, 4
test byte [edi + 0xc], 0x80
mov eax, dword [esp + 0x30]
mov dword [esp + 0x48], eax
je 0x1018a397
lea eax, [esp + 0x48]
push eax
call fcn.1019ab60
jmp 0x1018a394
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x48], ecx
test edx, edx
je 0x1018a374
lea eax, [esp + 0x44]
push eax
call fcn.1019ab80
add esp, 4
test byte [edi + 0xc], 0x80
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
je 0x1018a397
lea eax, [esp + 0x4c]
push eax
call fcn.1019ab80
add esp, 4
push dword [esp + 0x5c]
push dword [esp + 0x18]
push edi
call fcn.1019ba70
add esp, 0xc
test eax, eax
jne 0x1018a3b5
push dword [edi]
push str._s:_Seek_error_accessing_TIFF_directory
jmp 0x1018a3df
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x40]
push esi
push eax
push dword [edi + 0x274]
mov eax, dword [edi + 0x27c]
call eax
add esp, 0xc
cmp eax, esi
je 0x1018a25c
push dword [edi]
push str._s:_Can_not_write_TIFF_directory_entry.
push str.TIFFResetField
push dword [edi + 0x274]
call fcn.1019c980
add esp, 0x10
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x44
ret