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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
mov eax, 1
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
cmp dword [edi + 8], 0
je 0x1018933f
push edi
call fcn.10199240
add esp, 4
lea edx, [edi + 0xc]
cmp dword [ebp + 0x10], 0
je 0x10186a6f
mov eax, dword [edx]
test eax, 0x1000
je 0x101869e8
and eax, 0xffffefff
mov dword [edx], eax
mov eax, dword [edi + 0x210]
push edi
call eax
add esp, 4
test eax, eax
jne 0x101869e8
push str.Error_post_encoding_before_directory_write
push str.TIFFWriteDirectorySec
push dword [edi + 0x274]
call fcn.1019c980
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x22c]
push edi
call eax
add esp, 4
lea edx, [edi + 0xc]
cmp dword [edi + 0x260], 0
jle 0x10186a1c
test byte [edx], 0x40
je 0x10186a1c
push edi
call fcn.1018a630
add esp, 4
test eax, eax
jne 0x10186a19
push str.Error_flushing_data_before_directory_write
jmp 0x101869cc
lea edx, [edi + 0xc]
test dword [edx], 0x200
je 0x10186a6c
mov eax, dword [edi + 0x24c]
test eax, eax
je 0x10186a6c
push eax
call fcn.10034980
add esp, 4
mov dword [edi + 0x24c], 0
mov dword [edi + 0x260], 0
lea edx, [edi + 0xc]
mov dword [edi + 0x250], 0
mov dword [edi + 0x254], 0
mov dword [edi + 0x258], 0
and dword [edx], 0xffffffaf
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
movsd qword [esp + 0x88], xmm0
xor ebx, ebx
movsd xmm0, qword [0x102cab58]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [0x103efa68]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], ebx
movsd qword [esp + 0x90], xmm0
nop word [eax + eax]
xor esi, esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], esi
test eax, eax
je 0x101886af
test byte [edi + 0x28], 2
je 0x10186bd5
mov eax, dword [edi + 0x38]
test ebx, ebx
jne 0x10186ae6
mov esi, 1
inc esi
mov dword [esp + 0x10], esi
jmp 0x10186bd5
mov ecx, dword [edx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x10186b1a
movzx eax, ax
mov dword [esp + 0x74], eax
test ecx, ecx
je 0x10186b0d
lea eax, [esp + 0x74]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x74]
push eax
push 2
push 1
push 3
jmp 0x10186b3a
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x10186b2f
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x100
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x3c]
mov ecx, dword [ecx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x10186b91
movzx eax, ax
mov dword [esp + 0x78], eax
test ecx, ecx
je 0x10186b84
lea eax, [esp + 0x78]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x78]
push eax
push 2
push 1
push 3
jmp 0x10186bb1
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x10186ba6
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x101
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
test byte [edi + 0x28], 4
je 0x10186ce6
mov eax, dword [edi + 0x44]
test ebx, ebx
jne 0x10186bf2
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x10186ce6
mov ecx, dword [edx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x10186c26
movzx eax, ax
mov dword [esp + 0x7c], eax
test ecx, ecx
je 0x10186c19
lea eax, [esp + 0x7c]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x7c]
push eax
push 2
push 1
push 3
jmp 0x10186c46
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x10186c3b
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x142
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov ecx, dword [esp + 0x1c]
mov eax, dword [edi + 0x48]
mov ecx, dword [ecx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x10186ca6
movzx eax, ax
mov dword [esp + 0x80], eax
test ecx, ecx
je 0x10186c96
lea eax, [esp + 0x80]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x80]
push eax
push 2
push 1
push 3
jmp 0x10186cc6
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x10186cbb
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x143
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 8
je 0x10186f3c
movss xmm1, dword [edi + 0x74]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x38], xmm1
test ebx, ebx
jne 0x10186d0e
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x10186f3c
movsd xmm0, qword [esp + 0x88]
comisd xmm0, xmm1
ja 0x10188e6b
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x10188e5c
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10186d4e
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 1
jmp 0x10186dd7
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x10186d9c
movaps xmm0, xmm1
call fcn.1026ad30
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f0390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10186d96
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], 1
jmp 0x10186dd7
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x10186dc2
mulsd xmm0, xmm1
call fcn.1026ad30
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 0xffffffff
jmp 0x10186dd7
divsd xmm0, xmm1
mov dword [esp + 0x4c], 0xffffffff
call fcn.1026ad30
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x1c]
test byte [esi], 0x80
je 0x10186df7
lea eax, [esp + 0x4c]
push eax
call fcn.1019ab60
lea eax, [esp + 0x54]
push eax
call fcn.1019ab60
add esp, 8
lea eax, [esp + 0x4c]
push eax
push 8
push 1
push 5
push 0x11a
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
movss xmm1, dword [edi + 0x78]
movsd xmm0, qword [esp + 0x88]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
movsd qword [esp + 0x38], xmm1
ja 0x10188e6b
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x10188e5c
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10186e6c
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 1
jmp 0x10186ef5
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x10186eba
movaps xmm0, xmm1
call fcn.1026ad30
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f0390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10186eb4
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], 1
jmp 0x10186ef5
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x10186ee0
mulsd xmm0, xmm1
call fcn.1026ad30
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], 0xffffffff
jmp 0x10186ef5
divsd xmm0, xmm1
mov dword [esp + 0x54], 0xffffffff
call fcn.1026ad30
mov dword [esp + 0x58], eax
test byte [esi], 0x80
je 0x10186f11
lea eax, [esp + 0x54]
push eax
call fcn.1019ab60
lea eax, [esp + 0x5c]
push eax
call fcn.1019ab60
add esp, 8
lea eax, [esp + 0x54]
push eax
push 8
push 1
push 5
push 0x11b
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x10
je 0x10187198
movss xmm1, dword [edi + 0x80]
cvtps2pd xmm1, xmm1
movsd qword [esp + 0x38], xmm1
test ebx, ebx
jne 0x10186f67
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x10187198
movsd xmm0, qword [esp + 0x88]
comisd xmm0, xmm1
ja 0x10188e6b
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x10188e5c
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10186fa7
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 1
jmp 0x10187030
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x10186ff5
movaps xmm0, xmm1
call fcn.1026ad30
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f0390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10186fef
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], 1
jmp 0x10187030
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x1018701b
mulsd xmm0, xmm1
call fcn.1026ad30
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 0xffffffff
jmp 0x10187030
divsd xmm0, xmm1
mov dword [esp + 0x5c], 0xffffffff
call fcn.1026ad30
mov dword [esp + 0x60], eax
mov esi, dword [esp + 0x1c]
test byte [esi], 0x80
je 0x10187050
lea eax, [esp + 0x5c]
push eax
call fcn.1019ab60
lea eax, [esp + 0x64]
push eax
call fcn.1019ab60
add esp, 8
lea eax, [esp + 0x5c]
push eax
push 8
push 1
push 5
push 0x11e
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
movss xmm1, dword [edi + 0x84]
movsd xmm0, qword [esp + 0x88]
cvtps2pd xmm1, xmm1
comisd xmm0, xmm1
movsd qword [esp + 0x38], xmm1
ja 0x10188e6b
ucomisd xmm1, xmm1
lahf
test ah, 0x44
jp 0x10188e5c
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x101870c8
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 1
jmp 0x10187151
movsd xmm0, qword [esp + 0x40]
comisd xmm0, xmm1
jb 0x10187116
movaps xmm0, xmm1
call fcn.1026ad30
movsd xmm1, qword [esp + 0x38]
mov ecx, eax
shr eax, 0x1f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f0390]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x10187110
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], 1
jmp 0x10187151
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x90]
comisd xmm2, xmm1
jbe 0x1018713c
mulsd xmm0, xmm1
call fcn.1026ad30
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0xffffffff
jmp 0x10187151
divsd xmm0, xmm1
mov dword [esp + 0x64], 0xffffffff
call fcn.1026ad30
mov dword [esp + 0x68], eax
test byte [esi], 0x80
je 0x1018716d
lea eax, [esp + 0x64]
push eax
call fcn.1019ab60
lea eax, [esp + 0x6c]
push eax
call fcn.1019ab60
add esp, 8
lea eax, [esp + 0x64]
push eax
push 8
push 1
push 5
push 0x11f
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x20
je 0x101871f1
test ebx, ebx
jne 0x101871a9
inc esi
mov dword [esp + 0x10], esi
jmp 0x101871f1
mov eax, dword [edi + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x101871c6
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0xfe
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x40
je 0x101872bb
movzx eax, word [edi + 0x54]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x10187211
inc esi
mov dword [esp + 0x10], esi
jmp 0x101872bb
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.10034950
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x10188e7a
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x10187266
mov ebx, dword [esp + 0x20]
nop dword [eax]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x10187250
mov ebx, dword [esp + 0x28]
jmp 0x1018726a
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x10187288
push ecx
push esi
call fcn.1019ab00
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x102
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x34]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x28], 0x80
je 0x10187315
test ebx, ebx
jne 0x101872cc
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187315
movzx eax, word [edi + 0x58]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x101872ea
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x103
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x100
je 0x10187372
test ebx, ebx
jne 0x10187329
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187372
movzx eax, word [edi + 0x5a]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x10187347
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x106
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x200
je 0x101873cf
test ebx, ebx
jne 0x10187386
inc esi
mov dword [esp + 0x10], esi
jmp 0x101873cf
movzx eax, word [edi + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x101873a4
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x107
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x400
je 0x1018742c
test ebx, ebx
jne 0x101873e3
inc esi
mov dword [esp + 0x10], esi
jmp 0x1018742c
movzx eax, word [edi + 0x5e]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x10187401
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x10a
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x8000
je 0x10187489
test ebx, ebx
jne 0x10187440
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187489
movzx eax, word [edi + 0x60]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x1018745e
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x112
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x10000
je 0x101874e6
test ebx, ebx
jne 0x1018749d
inc esi
mov dword [esp + 0x10], esi
jmp 0x101874e6
movzx eax, word [edi + 0x62]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x101874bb
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x115
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x20000
je 0x10187585
mov eax, dword [edi + 0x64]
test ebx, ebx
jne 0x10187504
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187585
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx]
and ecx, 0x80
cmp eax, 0xffff
ja 0x10187545
movzx eax, ax
mov dword [esp + 0x84], eax
test ecx, ecx
je 0x10187535
lea eax, [esp + 0x84]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x84]
push eax
push 2
push 1
push 3
jmp 0x10187565
mov dword [esp + 0x14], eax
test ecx, ecx
je 0x1018755a
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x116
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x40000
je 0x1018764b
movzx eax, word [edi + 0x68]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x101875a8
inc esi
mov dword [esp + 0x10], esi
jmp 0x1018764b
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.10034950
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x10188e7a
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x101875f6
mov ebx, dword [esp + 0x20]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x101875e0
mov ebx, dword [esp + 0x28]
jmp 0x101875fa
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x10187618
push ecx
push esi
call fcn.1019ab00
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x118
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x34]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x80000
je 0x10187711
movzx eax, word [edi + 0x6a]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x1018766e
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187711
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.10034950
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x10188e7a
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x101876bc
mov ebx, dword [esp + 0x20]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x101876a6
mov ebx, dword [esp + 0x28]
jmp 0x101876c0
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x101876de
push ecx
push esi
call fcn.1019ab00
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x119
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x34]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x100000
je 0x1018776e
test ebx, ebx
jne 0x10187725
inc esi
mov dword [esp + 0x10], esi
jmp 0x1018776e
movzx eax, word [edi + 0x7e]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x10187743
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x11c
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x400000
je 0x101877cb
test ebx, ebx
jne 0x10187782
inc esi
mov dword [esp + 0x10], esi
jmp 0x101877cb
movzx eax, word [edi + 0x7c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x101877a0
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x128
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x800000
je 0x10187826
lea eax, [edi + 0x88]
test ebx, ebx
jne 0x101877e5
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187826
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x101877ff
push 2
push eax
call fcn.1019ab00
add esp, 8
lea eax, [edi + 0x88]
push eax
push 4
push 2
push 3
push 0x129
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x1000000
je 0x101879fc
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0xa8]
mov dword [esp + 0x14], ecx
mov edx, dword [eax]
mov eax, dword [edi + 0xb0]
mov dword [esp + 0x24], eax
test edx, 0x400
jne 0x10187916
test ebx, ebx
jne 0x10187867
inc esi
mov dword [esp + 0x10], esi
jmp 0x101879fc
test edx, 0x80000
je 0x1018787b
push eax
push ecx
push 0x117
jmp 0x10187933
mov esi, dword [esp + 0x14]
lea eax, [esi*4]
push eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10188ebc
xor edx, edx
mov ecx, eax
test esi, esi
je 0x101878ea
mov eax, dword [esp + 0x24]
nop word [eax + eax]
cmp dword [eax + 4], 0
mov ebx, dword [eax]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x28]
ja 0x10188e89
jb 0x101878d1
cmp dword [esp + 0x14], 0xffffffff
ja 0x10188e89
mov ebx, dword [esp + 0x14]
inc edx
mov dword [ecx], ebx
add eax, 8
mov ebx, dword [esp + 0x28]
add ecx, 4
cmp edx, esi
jb 0x101878b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x101878fd
push esi
push eax
call fcn.1019aa70
add esp, 8
push dword [esp + 0x18]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x117
jmp 0x101879d6
test ebx, ebx
jne 0x10187924
inc esi
mov dword [esp + 0x10], esi
jmp 0x101879fc
test edx, 0x80000
je 0x10187949
push eax
push ecx
push 0x145
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.10189420
add esp, 0x18
mov esi, eax
jmp 0x101879f0
mov esi, dword [esp + 0x14]
lea eax, [esi*4]
push eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10188ebc
xor edx, edx
mov ecx, eax
test esi, esi
je 0x101879af
mov eax, dword [esp + 0x24]
cmp dword [eax + 4], 0
mov ebx, dword [eax]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x28]
ja 0x10188e89
jb 0x10187996
cmp dword [esp + 0x14], 0xffffffff
ja 0x10188e89
mov ebx, dword [esp + 0x14]
inc edx
mov dword [ecx], ebx
add eax, 8
mov ebx, dword [esp + 0x28]
add ecx, 4
cmp edx, esi
jb 0x10187975
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x101879c2
push esi
push eax
call fcn.1019aa70
add esp, 8
push dword [esp + 0x18]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x145
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x38]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x2000000
je 0x10187bca
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, dword [edi + 0xac]
mov dword [esp + 0x20], eax
test edx, 0x400
jne 0x10187ae8
test eax, eax
je 0x10187bca
mov ecx, dword [edi + 0xa8]
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x10187a45
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187bca
test edx, 0x80000
je 0x10187a59
push eax
push ecx
push 0x111
jmp 0x10187b0f
lea eax, [ecx*4]
push eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10188ebc
mov esi, dword [esp + 0x14]
xor edx, edx
mov ecx, eax
test esi, esi
je 0x10187abc
mov eax, dword [esp + 0x20]
nop word [eax + eax]
cmp dword [eax + 4], 0
mov esi, dword [eax]
ja 0x10188e89
jb 0x10187aa7
cmp esi, 0xffffffff
ja 0x10188e89
mov dword [ecx], esi
inc edx
mov esi, dword [esp + 0x14]
add eax, 8
add ecx, 4
cmp edx, esi
jb 0x10187a90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10187acf
push esi
push eax
call fcn.1019aa70
add esp, 8
push dword [esp + 0x18]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x111
jmp 0x10187ba4
mov ecx, dword [edi + 0xa8]
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x10187b00
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187bca
test edx, 0x80000
je 0x10187b25
push eax
push ecx
push 0x144
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.10189420
add esp, 0x18
mov esi, eax
jmp 0x10187bbe
lea eax, [ecx*4]
push eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10188ebc
mov esi, dword [esp + 0x14]
xor edx, edx
mov ecx, eax
test esi, esi
je 0x10187b7d
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], 0
mov esi, dword [eax]
ja 0x10188e89
jb 0x10187b68
cmp esi, 0xffffffff
ja 0x10188e89
mov dword [ecx], esi
inc edx
mov esi, dword [esp + 0x14]
add eax, 8
add ecx, 4
cmp edx, esi
jb 0x10187b51
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10187b90
push esi
push eax
call fcn.1019aa70
add esp, 8
push dword [esp + 0x18]
lea eax, [esi*4]
push eax
push esi
push 4
push 0x144
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x38]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x28], 0x4000000
je 0x10187c99
test ebx, ebx
jne 0x10187be5
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187c99
mov cl, byte [edi + 0x54]
mov esi, 1
shl esi, cl
mov dword [esp + 0x20], esi
lea eax, [esi + esi*2]
add eax, eax
push eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
je 0x10188ecb
add esi, esi
push esi
push dword [edi + 0x8c]
push eax
call fcn.100349b0
mov eax, dword [esp + 0x30]
push esi
push dword [edi + 0x90]
add eax, esi
push eax
call fcn.100349b0
mov eax, dword [esp + 0x3c]
push esi
mov esi, dword [esp + 0x3c]
push dword [edi + 0x94]
lea eax, [eax + esi*4]
push eax
call fcn.100349b0
mov eax, dword [esp + 0x40]
lea esi, [esi + esi*2]
add esp, 0x24
test byte [eax], 0x80
je 0x10187c63
push esi
push dword [esp + 0x28]
call fcn.1019ab00
add esp, 8
push dword [esp + 0x24]
lea eax, [esi + esi]
push eax
push esi
push 3
push 0x140
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x44]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
cmp dword [edi + 0x28], 0
jge 0x10187d2a
cmp word [edi + 0x9c], 0
je 0x10187d2a
lea eax, [esp + 0x98]
push eax
lea eax, [esp + 0x70]
push eax
push 0x152
push edi
call fcn.1019b200
movzx ecx, word [esp + 0x7c]
add esp, 0x10
mov eax, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], ecx
test ebx, ebx
jne 0x10187ce7
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187d2a
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x10187d02
push ecx
push eax
call fcn.1019ab00
mov ecx, dword [esp + 0x28]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x152
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 1
je 0x10187ded
movzx eax, word [edi + 0x56]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x10187d4a
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187ded
movzx eax, word [edi + 0x62]
add eax, eax
push eax
call fcn.10034950
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x10188e7a
movzx eax, word [edi + 0x62]
mov ecx, esi
mov esi, eax
xor edx, edx
mov dword [esp + 0x18], esi
xor esi, esi
cmp si, ax
mov esi, ecx
jae 0x10187d98
mov ebx, dword [esp + 0x20]
mov word [ecx], bx
lea ecx, [ecx + 2]
movzx eax, word [edi + 0x62]
inc edx
cmp dx, ax
jb 0x10187d82
mov ebx, dword [esp + 0x28]
jmp 0x10187d9c
mov eax, dword [esp + 0x18]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x10187dba
push ecx
push esi
call fcn.1019ab00
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx + ecx]
push eax
push ecx
push 3
push 0x153
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x34]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 2
je 0x10187e1b
push dword [edi + 0x6c]
movzx eax, word [edi + 0x62]
push eax
push 0x154
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.101898b0
add esp, 0x18
test eax, eax
je 0x10188f6b
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 4
je 0x10187e49
push dword [edi + 0x70]
movzx eax, word [edi + 0x62]
push eax
push 0x155
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.101898b0
add esp, 0x18
test eax, eax
je 0x10188f6b
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 8
je 0x10187ea2
test ebx, ebx
jne 0x10187e5a
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187ea2
mov eax, dword [edi + 0x40]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x10187e77
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x80e5
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 0x10
je 0x10187efb
test ebx, ebx
jne 0x10187eb3
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187efb
mov eax, dword [edi + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x10187ed0
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push 0x80e6
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 0x20
je 0x10187f53
lea eax, [edi + 0x98]
test ebx, ebx
jne 0x10187f12
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187f53
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10187f2c
push 2
push eax
call fcn.1019ab00
add esp, 8
lea eax, [edi + 0x98]
push eax
push 4
push 2
push 3
push 0x141
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test byte [edi + 0x2c], 0x80
je 0x10187fab
lea eax, [edi + 0xc0]
test ebx, ebx
jne 0x10187f6a
inc esi
mov dword [esp + 0x10], esi
jmp 0x10187fab
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10187f84
push 2
push eax
call fcn.1019ab00
add esp, 8
lea eax, [edi + 0xc0]
push eax
push 4
push 2
push 3
push 0x212
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x100
je 0x1018800b
test ebx, ebx
jne 0x10187fbf
inc esi
mov dword [esp + 0x10], esi
jmp 0x1018800b
movzx eax, word [edi + 0xc4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x10187fe0
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push 0x213
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x200
je 0x1018819a
mov ecx, dword [edi + 0xd4]
mov dword [esp + 0x2c], ecx
test ebx, ebx
jne 0x10188030
inc esi
mov dword [esp + 0x10], esi
jmp 0x1018819a
push 0x30
call fcn.10034950
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10188eda
mov dword [esp + 0x24], 6
mov esi, eax
mov eax, dword [esp + 0x2c]
xorps xmm1, xmm1
mov ecx, dword [esp + 0x24]
nop dword [eax + eax]
movss xmm0, dword [eax]
comiss xmm1, xmm0
movss dword [esp + 0x20], xmm0
jae 0x10188127
ucomiss xmm0, xmm0
lahf
test ah, 0x44
jp 0x10188127
comiss xmm0, xmm1
jb 0x101880d5
movss xmm1, dword [0x102cab60]
comiss xmm1, xmm0
jb 0x101880d5
call fcn.1026acc0
mov ecx, dword [esp + 0x2c]
mov edx, eax
shr eax, 0x1f
movss xmm1, dword [ecx]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x101880cd
mov ecx, dword [esp + 0x24]
xorps xmm1, xmm1
mov dword [esi], edx
jmp 0x1018812d
movss xmm0, dword [esp + 0x20]
jmp 0x101880d9
mov ecx, dword [esp + 0x2c]
movss xmm1, dword [0x103ef910]
comiss xmm1, xmm0
jbe 0x10188102
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x40]
call fcn.1026ad30
mov ecx, dword [esp + 0x24]
xorps xmm1, xmm1
mov dword [esi], eax
or eax, 0xffffffff
jmp 0x10188132
movsd xmm0, qword [esp + 0x40]
mov dword [esi], 0xffffffff
movss xmm1, dword [ecx]
cvtps2pd xmm1, xmm1
divsd xmm0, xmm1
call fcn.1026ad30
mov ecx, dword [esp + 0x24]
xorps xmm1, xmm1
jmp 0x10188132
mov dword [esi], 0
mov eax, 1
mov dword [esi + 4], eax
add esi, 8
mov eax, dword [esp + 0x2c]
add eax, 4
sub ecx, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 0x24], ecx
jne 0x10188060
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
test byte [eax], 0x80
je 0x10188168
push 0xc
push esi
call fcn.1019aa70
add esp, 8
push esi
push 0x30
push 6
push 5
push 0x214
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push dword [esp + 0x38]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x1000
je 0x1018830d
test ebx, ebx
jne 0x101881b5
inc esi
mov dword [esp + 0x10], esi
jmp 0x1018830d
mov cl, byte [edi + 0x54]
mov edx, 1
mov eax, edx
shl eax, cl
mov dword [esp + 0x24], eax
mov ax, word [edi + 0x62]
sub ax, word [edi + 0x9c]
movzx esi, ax
cmp esi, 3
jbe 0x101881dd
lea esi, [edx + 2]
jmp 0x101881df
jne 0x1018820c
mov ecx, dword [esp + 0x24]
lea eax, [ecx + ecx]
push eax
push dword [edi + 0xd0]
mov dword [esp + 0x28], eax
push dword [edi + 0xc8]
call fcn.100349c0
add esp, 0xc
test eax, eax
jne 0x1018823b
mov ecx, dword [esp + 0x20]
lea esi, [eax + 2]
jmp 0x10188217
cmp esi, 2
jne 0x10188235
mov ecx, dword [esp + 0x24]
add ecx, ecx
push ecx
push dword [edi + 0xcc]
push dword [edi + 0xc8]
call fcn.100349c0
add esp, 0xc
test eax, eax
jne 0x1018823b
lea esi, [eax + 1]
jmp 0x1018823b
test si, si
cmove esi, edx
movzx eax, si
imul eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
add eax, eax
push eax
mov dword [esp + 0x24], eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10188ee9
mov ecx, dword [esp + 0x24]
add ecx, ecx
push ecx
push dword [edi + 0xc8]
mov dword [esp + 0x1c], ecx
push eax
call fcn.100349b0
add esp, 0xc
cmp si, 1
jbe 0x1018829c
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push ecx
push dword [edi + 0xcc]
add eax, ecx
push eax
call fcn.100349b0
add esp, 0xc
cmp si, 2
mov esi, dword [esp + 0x18]
jbe 0x101882c0
push dword [esp + 0x14]
mov eax, dword [esp + 0x28]
push dword [edi + 0xd0]
lea eax, [esi + eax*4]
push eax
call fcn.100349b0
add esp, 0xc
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x101882d6
push dword [esp + 0x2c]
push esi
call fcn.1019ab00
add esp, 8
push esi
push dword [esp + 0x24]
lea eax, [esp + 0x18]
push dword [esp + 0x34]
push 3
push 0x12d
push ebx
push eax
push edi
call fcn.10189630
mov esi, eax
mov eax, dword [esp + 0x38]
push eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x4000
je 0x10188351
mov eax, dword [edi + 0xd8]
test ebx, ebx
jne 0x10188327
inc esi
mov dword [esp + 0x10], esi
jmp 0x10188351
push dword [edi + 0xdc]
push eax
push eax
push 2
push 0x14d
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
test dword [edi + 0x2c], 0x20000
je 0x101884cf
movzx eax, word [edi + 0xb8]
mov ecx, eax
test ax, ax
je 0x101884cf
test ebx, ebx
jne 0x1018837e
inc esi
mov dword [esp + 0x10], esi
jmp 0x101884cf
mov eax, dword [edi + 0x1d0]
mov esi, dword [edi + 0x1d4]
mov dword [esp + 0x24], eax
mov eax, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
test dword [ecx], 0x80000
jne 0x10188468
shl eax, 2
push eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x10188f2c
mov ecx, dword [edi + 0xbc]
mov edx, eax
movzx eax, word [edi + 0xb8]
xor esi, esi
mov ebx, eax
mov dword [esp + 0x20], ebx
xor ebx, ebx
cmp bx, ax
mov ebx, dword [esp + 0x28]
jae 0x1018840e
nop
cmp dword [ecx + 4], 0
mov eax, dword [ecx]
ja 0x10188ef8
jb 0x101883f7
cmp eax, 0xffffffff
ja 0x10188ef8
mov dword [edx], eax
inc esi
movzx eax, word [edi + 0xb8]
add edx, 4
add ecx, 8
cmp si, ax
jb 0x101883e0
jmp 0x10188412
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
movzx ecx, ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ecx
test byte [eax], 0x80
je 0x10188434
push ecx
push esi
call fcn.1019aa70
mov ecx, dword [esp + 0x28]
add esp, 8
push esi
lea eax, [ecx*4]
push eax
push ecx
push 0xd
push 0x14a
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
push esi
mov dword [esp + 0x44], eax
call fcn.10034980
mov eax, dword [esp + 0x44]
add esp, 0x24
mov esi, dword [esp + 0x18]
jmp 0x10188483
push dword [edi + 0xbc]
push eax
push 0x14a
push ebx
lea eax, [esp + 0x20]
push eax
push edi
call fcn.101893d0
add esp, 0x18
test eax, eax
je 0x101890a3
mov eax, dword [esp + 0x1c]
or dword [eax], 0x2000
movzx eax, word [edi + 0xb8]
mov word [edi + 0x1d8], ax
cmp eax, 1
jne 0x101884bb
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
jmp 0x101884bf
mov eax, dword [esp + 0x24]
mov dword [edi + 0x1e0], eax
mov dword [edi + 0x1e4], esi
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x18], ecx
cmp dword [edi + 0x294], ecx
jbe 0x101886af
mov eax, dword [edi + 0x290]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x24], eax
movzx eax, word [eax + 0x18]
cmp eax, 0x42
jb 0x10188698
mov edx, eax
mov eax, 1
mov ecx, edx
shr edx, 5
and ecx, 0x1f
shl eax, cl
test dword [edi + edx*4 + 0x28], eax
je 0x10188698
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x14]
dec eax
cmp eax, 0x27
ja case.0x1018852e.2
movzx eax, byte [eax + 0x1018935c]
jmp dword [eax*4 + 0x10189348]
lea eax, [esp + 0x9c]
push eax
push dword [edx]
push edi
call fcn.10183e90
mov edx, dword [esp + 0xa8]
add esp, 0xc
mov ecx, edx
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10188558
mov eax, dword [esp + 0x24]
sub ecx, dword [esp + 0x20]
movzx eax, word [eax]
test ebx, ebx
jne 0x10188578
inc esi
mov dword [esp + 0x10], esi
jmp 0x10188698
push edx
push ecx
push ecx
push 2
push eax
jmp 0x1018867d
lea eax, [esp + 0x70]
push eax
push dword [edx]
push edi
call fcn.10183e90
mov eax, dword [esp + 0x30]
add esp, 0xc
movzx eax, word [eax]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x101885ac
inc esi
mov dword [esp + 0x10], esi
jmp 0x10188698
movzx eax, word [esp + 0x70]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x101885cb
lea eax, [esp + 0x14]
push eax
call fcn.1019abc0
add esp, 4
lea eax, [esp + 0x14]
push eax
push 2
push 1
push 3
push dword [esp + 0x30]
jmp 0x1018867d
lea eax, [esp + 0xa0]
push eax
push dword [edx]
push edi
call fcn.10183e90
mov eax, dword [esp + 0x30]
add esp, 0xc
movzx eax, word [eax]
mov dword [esp + 0x20], eax
test ebx, ebx
jne 0x1018860b
inc esi
mov dword [esp + 0x10], esi
jmp 0x10188698
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test byte [eax], 0x80
je 0x1018862c
lea eax, [esp + 0x14]
push eax
call fcn.1019ab60
add esp, 4
lea eax, [esp + 0x14]
push eax
push 4
push 1
push 4
push dword [esp + 0x30]
jmp 0x1018867d
lea eax, [esp + 0xa4]
push eax
lea eax, [esp + 0xac]
push eax
push dword [edx]
push edi
call fcn.10183e90
mov eax, dword [esp + 0x34]
add esp, 0x10
movzx ecx, word [eax]
test ebx, ebx
jne 0x1018866a
inc esi
mov dword [esp + 0x10], esi
jmp 0x10188698
push dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
push eax
push eax
push 7
push ecx
push ebx
lea eax, [esp + 0x28]
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
je 0x101890a3
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc eax
mov ecx, eax
mov dword [esp + 0x18], eax
cmp eax, dword [edi + 0x294]
jb 0x101884e1
xor eax, eax
mov dword [esp + 0x20], eax
cmp dword [edi + 0xe0], eax
jbe 0x10188cfd
mov edx, dword [edi + 0xe4]
lea ecx, [eax + eax*2]
mov eax, dword [edx + ecx*4]
mov edx, dword [edx + ecx*4 + 4]
mov dword [esp + 0x2c], edx
movzx ebx, word [eax]
mov eax, dword [eax + 8]
dec eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x28]
cmp eax, 0x11
ja case.0x101886ed.14
jmp dword [eax*4 + 0x10189384]
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
test ebx, ebx
jne 0x1018870c
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
push eax
push edx
push edx
push 2
push dword [esp + 0x40]
lea eax, [esp + 0x24]
push ebx
push eax
push edi
call fcn.10189630
add esp, 0x20
test eax, eax
jmp 0x10188cde
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
test ebx, ebx
jne 0x10188743
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
push eax
push edx
push edx
push 7
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
test ebx, ebx
jne 0x10188762
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
push eax
push edx
push edx
push 1
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
test ebx, ebx
jne 0x10188781
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
push eax
push edx
push edx
push 6
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x101887a4
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x101887bf
push edx
push eax
call fcn.1019ab00
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [edx + edx]
push eax
push edx
push 3
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x101887e8
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10188803
push edx
push eax
call fcn.1019ab00
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [edx + edx]
push eax
push edx
push 8
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x1018882c
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10188847
push edx
push eax
call fcn.1019aa70
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [edx*4]
push eax
push edx
push 4
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x14], eax
test ebx, ebx
jne 0x10188874
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x1018888f
push edx
push eax
call fcn.1019aa70
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x14]
push eax
lea eax, [edx*4]
push eax
push edx
push 9
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
test ebx, ebx
jne 0x101888b8
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
push eax
push edx
push dword [esp + 0x38]
lea eax, [esp + 0x1c]
push ebx
push eax
push edi
call fcn.10189420
add esp, 0x18
test eax, eax
jmp 0x10188cde
mov eax, dword [edi + 0xe4]
mov ecx, dword [eax + ecx*4 + 8]
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x101888f0
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, 0x80000
je 0x10188f85
test al, al
jns 0x10188917
push edx
push ecx
call fcn.1019aab0
mov edx, dword [esp + 0x34]
add esp, 8
mov ecx, dword [esp + 0x14]
push ecx
lea eax, [edx*8]
push eax
push edx
push 0x11
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov ecx, dword [eax + ecx*4 + 8]
mov dword [esp + 0x24], ecx
test ebx, ebx
jne 0x10188944
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
lea eax, [edx*8]
push eax
mov dword [esp + 0x3c], eax
call fcn.10034950
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x10188eda
mov eax, dword [esp + 0x2c]
mov esi, ecx
test eax, eax
je 0x10188a8e
mov dword [esp + 0x18], eax
xorps xmm1, xmm1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x18]
nop dword [eax]
nop word [eax + eax]
movss xmm0, dword [eax]
comiss xmm1, xmm0
movss dword [esp + 0xac], xmm0
jae 0x10188a5d
ucomiss xmm0, xmm0
lahf
test ah, 0x44
jp 0x10188a5d
comiss xmm0, xmm1
jb 0x10188a0b
movss xmm1, dword [0x102cab60]
comiss xmm1, xmm0
jb 0x10188a0b
call fcn.1026acc0
mov ecx, dword [esp + 0x24]
mov edx, eax
shr eax, 0x1f
movss xmm1, dword [ecx]
movd xmm0, edx
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10188a00
mov ecx, dword [esp + 0x18]
xorps xmm1, xmm1
mov dword [esi], edx
jmp 0x10188a63
movss xmm0, dword [esp + 0xac]
jmp 0x10188a0f
mov ecx, dword [esp + 0x24]
movss xmm1, dword [0x103ef910]
comiss xmm1, xmm0
jbe 0x10188a38
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x40]
call fcn.1026ad30
mov ecx, dword [esp + 0x18]
xorps xmm1, xmm1
mov dword [esi], eax
or eax, 0xffffffff
jmp 0x10188a68
movsd xmm0, qword [esp + 0x40]
mov dword [esi], 0xffffffff
movss xmm1, dword [ecx]
cvtps2pd xmm1, xmm1
divsd xmm0, xmm1
call fcn.1026ad30
mov ecx, dword [esp + 0x18]
xorps xmm1, xmm1
jmp 0x10188a68
mov dword [esi], 0
mov eax, 1
mov dword [esi + 4], eax
add esi, 8
mov eax, dword [esp + 0x24]
add eax, 4
sub ecx, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
jne 0x10188990
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test byte [edx], 0x80
je 0x10188aa3
add eax, eax
push eax
push ecx
call fcn.1019aa70
add esp, 8
push dword [esp + 0x14]
lea eax, [esp + 0x14]
push dword [esp + 0x3c]
push dword [esp + 0x34]
push 5
push dword [esp + 0x40]
push ebx
push eax
push edi
call fcn.10189630
push dword [esp + 0x34]
jmp 0x10188cd2
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
test ebx, ebx
jne 0x10188ae2
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
push eax
push edx
push dword [esp + 0x38]
lea eax, [esp + 0x1c]
push ebx
push eax
push edi
call fcn.10189490
add esp, 0x18
test eax, eax
jmp 0x10188cde
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x10188b1a
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10188b35
push edx
push eax
call fcn.1019aa30
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x38]
push eax
lea eax, [edx*4]
push eax
push edx
push 0xb
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x10188b62
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10188b7d
push edx
push eax
call fcn.1019a9e0
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x38]
push eax
lea eax, [edx*8]
push eax
push edx
push 0xc
jmp 0x10188711
mov eax, dword [edi + 0xe4]
mov eax, dword [eax + ecx*4 + 8]
mov dword [esp + 0x38], eax
test ebx, ebx
jne 0x10188baa
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10188bc5
push edx
push eax
call fcn.1019aa70
mov edx, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x38]
push eax
lea eax, [edx*4]
push eax
push edx
push 0xd
jmp 0x10188711
cmp dword [esp + 0x28], 0
mov eax, dword [edi + 0xe4]
mov ebx, dword [eax + ecx*4 + 8]
jne 0x10188bf5
mov ebx, dword [esp + 0x28]
inc esi
mov dword [esp + 0x10], esi
jmp case.0x101886ed.14
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
test eax, 0x80000
je 0x10188c3e
test al, al
jns 0x10188c14
push edx
push ebx
call fcn.1019aab0
mov edx, dword [esp + 0x34]
add esp, 8
push ebx
mov ebx, dword [esp + 0x2c]
lea eax, [edx*8]
push eax
push edx
push 0x12
push dword [esp + 0x40]
lea eax, [esp + 0x24]
push ebx
push eax
push edi
call fcn.10189630
add esp, 0x20
mov esi, eax
jmp 0x10188cdc
lea eax, [edx*4]
push eax
call fcn.10034950
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10188fcb
mov esi, dword [esp + 0x2c]
xor edx, edx
mov ecx, eax
test esi, esi
je 0x10188c98
nop word [eax + eax]
cmp dword [ebx + 4], 0
mov eax, dword [ebx]
ja 0x10188f94
jb 0x10188c87
cmp eax, 0xffffffff
ja 0x10188f94
mov dword [ecx], eax
inc edx
add ebx, 8
add ecx, 4
cmp edx, esi
jb 0x10188c70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test byte [ecx], 0x80
je 0x10188cab
push esi
push eax
call fcn.1019aa70
add esp, 8
push dword [esp + 0x18]
mov ebx, dword [esp + 0x2c]
lea eax, [esi*4]
push eax
push esi
push 0xd
push dword [esp + 0x40]
lea eax, [esp + 0x24]
push ebx
push eax
push edi
call fcn.10189630
push dword [esp + 0x38]
mov esi, eax
call fcn.10034980
add esp, 0x24
test esi, esi
je 0x101890a3
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [edi + 0xe0]
jb 0x101886c1
test ebx, ebx
jne 0x1018900d
lea eax, [esi + esi*2]
shl eax, 3
push eax
call fcn.10034950
mov ebx, eax
add esp, 4
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x10189003
cmp dword [ebp + 0xc], 0
je 0x10188d49
mov ecx, dword [edi + 0x10]
or ecx, dword [edi + 0x14]
jne 0x10188d41
push edi
call fcn.101860b0
add esp, 4
test eax, eax
je 0x101890a3
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0x14]
jmp 0x10188d73
mov eax, dword [edi + 0x280]
push 2
push 0
push 0
push dword [edi + 0x274]
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 + 0x18], eax
test edx, edx
je 0x10188d8d
mov dword [edx], ecx
mov dword [edx + 4], eax
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
lea ebx, [edi + 0x1d0]
mov edx, ecx
mov dword [esp + 0x20], ebx
test dword [eax], 0x80000
jne 0x10188dce
lea eax, [esi + esi*2]
mov esi, dword [esp + 0x18]
lea eax, [eax*4 + 6]
add edx, eax
mov dword [esp + 0x48], eax
mov eax, esi
mov dword [edi + 0x1d0], edx
adc eax, 0
mov dword [edi + 0x1d4], eax
xor eax, eax
jmp 0x10188de7
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x18]
lea eax, [eax*4 + 0x10]
mov dword [esp + 0x48], eax
add edx, eax
mov eax, esi
adc eax, 0
mov ebx, dword [esp + 0x20]
mov edi, edx
mov dword [esp + 0x14], eax
mov dword [ebx], edi
mov edi, eax
mov dword [ebx + 4], edi
mov edi, dword [ebp + 8]
mov ebx, dword [esp + 0x28]
cmp eax, esi
jb 0x10188ff9
ja 0x10188e11
cmp edx, ecx
jb 0x10188ff9
test eax, eax
jb 0x10188ff9
ja 0x10188e25
cmp edx, dword [esp + 0x48]
jb 0x10188ff9
mov eax, edx
and eax, 1
or eax, 0
je 0x10188e45
mov eax, dword [esp + 0x14]
add edx, 1
mov dword [edi + 0x1d0], edx
adc eax, 0
mov dword [edi + 0x1d4], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10188e53
inc word [edi + 0x1c0]
mov edx, dword [esp + 0x1c]
jmp 0x10186ab0
push str.Not_a_number_value_is_illegal
push str.TIFFWriteDirectoryTagCheckedRational
jmp 0x10189095
push str.Negative_value_is_illegal
push str.TIFFWriteDirectoryTagCheckedRational
jmp 0x10189095
push str.Out_of_memory
push str.TIFFWriteDirectoryTagShortPerSample
jmp 0x10189095
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_Classic_TIFF_file.
push str.TIFFWriteDirectoryTagLongLong8Array
push dword [edi + 0x274]
call fcn.1019c980
push dword [esp + 0x24]
call fcn.10034980
add esp, 0x10
push ebx
call fcn.10034980
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagLongLong8Array
jmp 0x10189095
push str.Out_of_memory
push str.TIFFWriteDirectoryTagColormap
jmp 0x10189095
push str.Out_of_memory
push str.TIFFWriteDirectoryTagCheckedRationalArray
jmp 0x10189095
push str.Out_of_memory
push str.TIFFWriteDirectoryTagTransferfunction
jmp 0x10189095
push str.Illegal_value_for_SubIFD_tag
push str.TIFFWriteDirectoryTagSubifd
push dword [edi + 0x274]
call fcn.1019c980
mov esi, dword [esp + 0x20]
push esi
call fcn.10034980
add esp, 0x10
push ebx
call fcn.10034980
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagSubifd
jmp 0x10189095
mov eax, dword [edx + 0x1c]
mov ecx, str.unknown
test eax, eax
cmovne ecx, eax
push ecx
push edx
call fcn.1019bb60
add esp, 4
push eax
push str.Cannot_write_tag__d___s_
push str.TIFFWriteDirectorySec
push dword [edi + 0x274]
call fcn.1019c980
add esp, 0x14
test ebx, ebx
je 0x101869df
push ebx
call fcn.10034980
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.SLONG8_not_allowed_for_ClassicTIFF
push str.TIFFWriteDirectoryTagCheckedSlong8Array
jmp 0x10189095
push str.Attempt_to_write_value_larger_than_0xFFFFFFFF_in_Classic_TIFF_file.
push str.TIFFWriteDirectoryTagIfdIfd8Array
push dword [edi + 0x274]
call fcn.1019c980
push dword [esp + 0x24]
call fcn.10034980
mov ebx, dword [esp + 0x38]
add esp, 0x10
push ebx
call fcn.10034980
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Out_of_memory
push str.TIFFWriteDirectoryTagIfdIfd8Array
push dword [edi + 0x274]
call fcn.1019c980
mov ebx, dword [esp + 0x34]
add esp, 0xc
push ebx
call fcn.10034980
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.Maximum_TIFF_file_size_exceeded
jmp 0x10189090
push str.Out_of_memory
jmp 0x101869cc
cmp dword [ebp + 0xc], 0
je 0x10189077
test dword [edi + 0x2c], 0x20000
je 0x10189077
mov eax, dword [edi + 0x1e0]
or eax, dword [edi + 0x1e4]
jne 0x10189077
mov ecx, ebx
test esi, esi
je 0x10189042
mov edx, 0x14a
cmp word [ecx], dx
je 0x10189049
inc eax
add ecx, 0x18
cmp eax, esi
jne 0x10189035
push str.Cannot_find_SubIFD_tag
jmp 0x10189090
mov ecx, dword [esp + 0x34]
mov edx, dword [edi + 0x10]
test dword [ecx], 0x80000
jne 0x101890b5
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 + 0x1e0], ecx
mov dword [edi + 0x1e4], eax
push dword [esp + 0x48]
call fcn.10034950
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
jne 0x101890c7
push str.Out_of_memory
push str.TIFFWriteDirectorySec
push dword [edi + 0x274]
call fcn.1019c980
add esp, 0xc
push ebx
call fcn.10034980
add esp, 4
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 0x10189068
mov ecx, dword [esp + 0x34]
test dword [ecx], 0x80000
jne 0x101891cd
mov word [eax], si
test byte [ecx], 0x80
je 0x101890f0
push eax
call fcn.1019abc0
mov eax, dword [esp + 0x28]
add esp, 4
mov ecx, dword [esp + 0x34]
add eax, 2
mov dword [esp + 0x14], eax
test esi, esi
je 0x10189198
lea edi, [ebx + 8]
mov ebx, eax
jmp 0x10189114
mov ecx, dword [esp + 0x34]
mov ax, word [edi - 8]
mov word [ebx], ax
test byte [ecx], 0x80
je 0x1018912d
push ebx
call fcn.1019abc0
mov ecx, dword [esp + 0x38]
add esp, 4
mov ax, word [edi - 6]
add ebx, 2
mov word [ebx], ax
test byte [ecx], 0x80
je 0x10189145
push ebx
call fcn.1019abc0
add esp, 4
mov eax, dword [edi]
add ebx, 2
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push 4
push eax
push ebx
call fcn.100349b0
mov ecx, dword [esp + 0x40]
add esp, 0xc
test byte [ecx], 0x80
je 0x10189170
push ebx
call fcn.1019ab60
add esp, 4
push 4
lea eax, [edi + 8]
add ebx, 4
push eax
push ebx
call fcn.100349b0
add esp, 0xc
add ebx, 4
add edi, 0x18
sub esi, 1
jne 0x10189110
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [edi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
test byte [eax], 0x80
je 0x101891b5
lea eax, [esp + 0x18]
push eax
call fcn.1019ab60
add esp, 4
push 4
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x1c]
call fcn.100349b0
add esp, 0xc
jmp 0x101892a5
mov dword [eax], esi
mov dword [eax + 4], 0
test byte [ecx], 0x80
je 0x101891ec
push eax
call fcn.1019ab80
mov eax, dword [esp + 0x28]
add esp, 4
mov ecx, dword [esp + 0x34]
add eax, 8
mov dword [esp + 0x14], eax
test esi, esi
je 0x10189280
lea edi, [ebx + 8]
mov ebx, eax
jmp 0x10189206
mov ecx, dword [esp + 0x34]
mov ax, word [edi - 8]
mov word [ebx], ax
test byte [ecx], 0x80
je 0x1018921f
push ebx
call fcn.1019abc0
mov ecx, dword [esp + 0x38]
add esp, 4
mov ax, word [edi - 6]
add ebx, 2
mov word [ebx], ax
test byte [ecx], 0x80
je 0x10189237
push ebx
call fcn.1019abc0
add esp, 4
push 8
add ebx, 2
push edi
push ebx
call fcn.100349b0
mov eax, dword [esp + 0x40]
add esp, 0xc
test byte [eax], 0x80
je 0x10189258
push ebx
call fcn.1019ab80
add esp, 4
push 8
lea eax, [edi + 8]
add ebx, 8
push eax
push ebx
call fcn.100349b0
add esp, 0xc
add ebx, 8
add edi, 0x18
sub esi, 1
jne 0x10189202
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
lea eax, [edi + 0x18]
push 8
push eax
push esi
call fcn.100349b0
mov eax, dword [esp + 0x40]
add esp, 0xc
test byte [eax], 0x80
je 0x101892a5
push esi
call fcn.1019ab80
add esp, 4
push ebx
call fcn.10034980
push dword [edi + 0x14]
push dword [edi + 0x10]
push edi
call fcn.1019ba70
mov ecx, dword [edi + 0x274]
add esp, 0x10
mov esi, dword [esp + 0x24]
test eax, eax
je 0x101892e4
mov ebx, dword [esp + 0x48]
mov eax, dword [edi + 0x27c]
push ebx
push esi
push ecx
call eax
add esp, 0xc
cmp eax, ebx
je 0x10189306
mov ecx, dword [edi + 0x274]
push str.IO_error_writing_directory
push str.TIFFWriteDirectorySec
push ecx
call fcn.1019c980
push esi
call fcn.10034980
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.10034980
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x1018933a
push edi
call fcn.10183ca0
mov ecx, dword [esp + 0x38]
push edi
and dword [ecx], 0xfffffff7
and dword [ecx], 0xffdfffff
mov ecx, dword [edi + 0x234]
call ecx
push edi
call fcn.10183b00
add esp, 0xc
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret