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

Disassembly:
sub esp, 0x20
push ebx
mov ebx, dword [esp + 0x28]
push ebp
push esi
push edi
mov edi, dword [ebx + 8]
test edi, edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x14], edi
jne 0x40e2e5
push str.Invalid_PatchColorSpace_in_cmyk_target_n
call fcn.00428050
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ebp, dword [ebx + 0x40]
mov eax, dword [ebx + 0x48]
cmp eax, ebp
mov dword [esp + 0x20], ebp
je 0x40e30d
mov eax, dword [ebx]
push eax
push str.Length_of_PatchName___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebx + 0x54], ebp
je 0x40e32c
mov ecx, dword [ebx]
push ecx
push str.Length_of_PatchColor___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebx + 0x60], ebp
je 0x40e34b
mov edx, dword [ebx]
push edx
push str.Length_of_PatchPage___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebx + 0x6c], ebp
je 0x40e36a
mov eax, dword [ebx]
push eax
push str.Length_of_PatchWidth___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebx + 0x78], ebp
je 0x40e389
mov ecx, dword [ebx]
push ecx
push str.Length_of_PatchHeight___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebx + 0x84], ebp
je 0x40e3ab
mov edx, dword [ebx]
push edx
push str.Length_of_PatchOriginX___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebx + 0x90], ebp
je 0x40e3cd
mov eax, dword [ebx]
push eax
push str.Length_of_PatchOriginY___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp dword [ebx + 0x9c], ebp
je 0x40e3ef
mov ecx, dword [ebx]
push ecx
push str.Length_of_PatchColorant___NumberOfPatches_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
xor esi, esi
test ebp, ebp
jle 0x40e4a2
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
xor edi, edi
mov bl, byte [eax + 0x50]
jmp 0x40e40c
mov eax, dword [esp + 0x34]
cmp bl, 1
jne 0x40e43f
mov eax, dword [eax + 0x58]
fld dword [eax + esi*4]
lea ecx, [eax + esi*4]
fcomp dword [0x43875c]
fnstsw ax
test bl, ah
jne 0x40e93d
fld dword [ecx]
fcomp dword [0x438758]
fnstsw ax
test ah, 0x41
je 0x40e93d
jmp 0x40e48e
mov ecx, dword [eax + 0x58]
lea eax, [ecx + edi]
mov ecx, dword [ecx + edi + 4]
cmp ecx, edx
jne 0x40e926
xor ecx, ecx
test edx, edx
jle 0x40e48e
mov edx, dword [eax + 8]
fld dword [edx]
fcomp dword [0x43875c]
fnstsw ax
test ah, 1
jne 0x40e95b
fld dword [edx]
fcomp dword [0x438758]
fnstsw ax
test ah, 0x41
je 0x40e95b
mov eax, dword [esp + 0x14]
inc ecx
add edx, 4
cmp ecx, eax
jl 0x40e45a
mov edx, eax
inc esi
add edi, 0xc
cmp esi, ebp
jl 0x40e408
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
xor ecx, ecx
test ebp, ebp
mov dword [esp + 0x10], ecx
jle 0x40e544
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
xor ebp, ebp
test edx, edx
jle 0x40e511
mov esi, dword [eax + 0xa0]
mov edi, dword [eax + 0xc]
mov ecx, dword [esi + ecx*4]
mov dword [esp + 0x28], ecx
mov esi, dword [edi]
mov eax, dword [esp + 0x28]
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40e4f8
test cl, cl
je 0x40e4f4
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40e4f8
add eax, 2
add esi, 2
test cl, cl
jne 0x40e4d4
xor eax, eax
jmp 0x40e4fd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40e509
inc ebp
add edi, 4
cmp ebp, edx
jl 0x40e4ce
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
cmp ebp, edx
je 0x40e524
mov esi, dword [esp + 0x20]
inc ecx
cmp ecx, esi
mov dword [esp + 0x10], ecx
jl 0x40e4b8
jmp 0x40e53c
mov edx, dword [eax]
push edx
push str.An_element_of_PatchColorant_does_not_match_a_color_from_PatchColorSpace_in__s_n
call fcn.00428050
add esp, 8
mov dword [esp + 0x24], 0
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x40e930
mov eax, dword [ebx + 0x40]
xor esi, esi
shl eax, 2
push 5
push eax
mov dword [esp + 0x20], esi
call fcn.00427f20
add esp, 8
cmp eax, esi
mov dword [esp + 0x1c], eax
jne 0x40e579
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ecx, dword [ebx + 0x40]
mov dword [esp + 0x10], esi
cmp ecx, esi
jle 0x40e6b8
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], eax
cmp byte [ebx + 0x50], 1
jne 0x40e5b1
mov ecx, dword [ebx + 0x58]
fld dword [ecx + esi*4]
fcomp dword [0x438758]
fnstsw ax
test ah, 0x40
je 0x40e5ad
mov ecx, edi
jmp 0x40e5d9
xor ecx, ecx
jmp 0x40e5d9
xor ecx, ecx
test edi, edi
jle 0x40e5d9
mov edx, dword [ebx + 0x58]
mov eax, dword [esp + 0x20]
mov edx, dword [edx + eax + 8]
fld dword [edx]
fcomp dword [0x438758]
fnstsw ax
test ah, 0x40
je 0x40e5d9
inc ecx
add edx, 4
cmp ecx, edi
jl 0x40e5c2
cmp ecx, edi
jne 0x40e666
mov eax, dword [esp + 0x18]
xor ebp, ebp
test eax, eax
jle 0x40e647
mov ecx, dword [ebx + 0xa0]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [ecx + edx*4]
mov dword [esp + 0x2c], eax
mov esi, dword [edi]
mov eax, dword [esp + 0x2c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40e62a
test cl, cl
je 0x40e626
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40e62a
add eax, 2
add esi, 2
test cl, cl
jne 0x40e606
xor eax, eax
jmp 0x40e62f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40e683
mov eax, dword [esp + 0x18]
inc ebp
add edi, 4
cmp ebp, eax
jl 0x40e600
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov eax, dword [ebx + 0xa0]
mov edx, dword [esp + 0x18]
inc edx
mov ecx, dword [eax + esi*4]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ebx + 0x40]
inc esi
add ecx, 0xc
cmp esi, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], ecx
jl 0x40e590
jmp 0x40e6b8
mov edx, dword [ebx]
mov eax, dword [ebx + 0xa0]
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [eax + ecx*4]
push edx
push str.PatchColorant__s_has_2_white_point_patches_in__s_n
call fcn.00428050
mov eax, dword [esp + 0x28]
add esp, 0xc
push eax
call fcn.00427f70
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [ebx + 0x40]
xor esi, esi
test eax, eax
mov dword [esp + 0x10], esi
jle 0x40e778
push esi
push ebx
call fcn.0040eaa0
add esp, 8
test eax, eax
jl 0x40e739
mov eax, dword [esp + 0x18]
xor ebp, ebp
test eax, eax
jle 0x40e733
mov ecx, dword [ebx + 0xa0]
mov edi, dword [esp + 0x1c]
mov edx, dword [ecx + esi*4]
mov esi, dword [edi]
mov eax, edx
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40e716
test cl, cl
je 0x40e712
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40e716
add eax, 2
add esi, 2
test cl, cl
jne 0x40e6f2
xor eax, eax
jmp 0x40e71b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40e72b
mov eax, dword [esp + 0x18]
inc ebp
add edi, 4
cmp ebp, eax
jl 0x40e6ee
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x10]
cmp ebp, dword [esp + 0x18]
je 0x40e747
mov eax, dword [ebx + 0x40]
inc esi
cmp esi, eax
mov dword [esp + 0x10], esi
jl 0x40e6c9
jmp 0x40e778
mov eax, dword [ebx + 0xa0]
mov edx, dword [ebx]
push edx
mov ecx, dword [eax + esi*4]
push ecx
push str.PatchColorant__s_does_not_have_a_white_point_patch_in__s_n
call fcn.00428050
mov edx, dword [esp + 0x28]
add esp, 0xc
push edx
call fcn.00427f70
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x1c]
push eax
call fcn.00427f70
mov eax, dword [esp + 0x28]
add esp, 4
test eax, eax
je 0x40e930
mov ecx, dword [esp + 0x34]
push 5
mov esi, dword [ecx + 8]
lea edi, [esi*4]
push edi
call fcn.00427f20
add esp, 8
mov ebx, eax
push 5
push edi
call fcn.00427f20
add esp, 8
mov ebp, eax
test ebx, ebx
je 0x40e926
test ebp, ebp
je 0x40e926
test esi, esi
jle 0x40e7e6
mov ecx, ebx
mov edx, esi
sub ecx, ebp
mov dword [ecx + eax], 0xffffffff
mov dword [eax], 0
add eax, 4
dec edx
jne 0x40e7d3
mov esi, dword [esp + 0x34]
xor edi, edi
mov eax, dword [esi + 0x40]
test eax, eax
jle 0x40e8cd
push edi
push esi
call fcn.0040eaa0
add esp, 8
test eax, eax
jl 0x40e8c1
lea esi, [eax*4]
mov eax, dword [ebx + eax*4]
test eax, eax
jl 0x40e8ba
mov ecx, dword [ebp + esi]
push eax
test ecx, ecx
jne 0x40e862
mov edx, dword [esp + 0x38]
push edx
call fcn.0040ea50
mov eax, dword [esp + 0x3c]
add esp, 8
fstp dword [esp + 0x2c]
push edi
push eax
call fcn.0040ea50
fcomp dword [esp + 0x34]
add esp, 8
fnstsw ax
test ah, 1
je 0x40e858
mov dword [ebp + esi], 0xffffffff
jmp 0x40e8ba
mov dword [ebp + esi], 1
jmp 0x40e8ba
jle 0x40e890
mov ecx, dword [esp + 0x38]
push ecx
call fcn.0040ea50
mov edx, dword [esp + 0x3c]
add esp, 8
fstp dword [esp + 0x2c]
push edi
push edx
call fcn.0040ea50
fcomp dword [esp + 0x34]
add esp, 8
fnstsw ax
test ah, 1
jne 0x40e8ec
jmp 0x40e8ba
mov eax, dword [esp + 0x38]
push eax
call fcn.0040ea50
mov ecx, dword [esp + 0x3c]
add esp, 8
fstp dword [esp + 0x2c]
push edi
push ecx
call fcn.0040ea50
fcomp dword [esp + 0x34]
add esp, 8
fnstsw ax
test ah, 0x41
je 0x40e8ec
mov dword [ebx + esi], edi
mov esi, dword [esp + 0x34]
mov eax, dword [esi + 0x40]
inc edi
cmp edi, eax
jl 0x40e7f7
push ebx
call fcn.00427f70
add esp, 4
push ebp
call fcn.00427f70
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, dword [esp + 0x34]
mov edx, dword [eax]
mov eax, dword [eax + 0xa0]
push edx
mov ecx, dword [eax + edi*4]
push ecx
push str.PatchColorant__s_is_not_monotonic_in__s_n
call fcn.00428050
add esp, 0xc
push ebx
call fcn.00427f70
add esp, 4
push ebp
call fcn.00427f70
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
push eax
push str.A_PatchColor_is___0_or___1_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx]
push edx
push str.A_PatchColor_is___0_or___1_in__s_n
call fcn.00428050
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret