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

Disassembly:
mov ch, 0x7c
stc
invalid
add byte [eax], al
add byte [ebx + 0x708b0c40], cl
sbb al, 0xad
cmp byte [eax + 0x1c], 0x18
je 0x425770
xchg esi, eax
lodsd eax, dword [esi]
mov eax, dword [eax + 8]
push eax
call fcn.004235ac
mov byte [esi - 0x40], ah
jl 0x425709
clc
mov eax, dword [edi + 0x3c]
mov edx, dword [edi + eax + 0x78]
add edx, edi
mov ecx, dword [edx + 0x18]
mov ebx, dword [edx + 0x20]
add ebx, edi
call fcn.004235ac
sub al, 0xe6
leave
invalid
add al, 0x8b
add eax, edi
push eax
call fcn.004235ac
mov bh, 0x5a
jae 0x42575e
push dword [ebp + 8]
push dword [ebp + 4]
push dword [ebp]
call fcn.00423dac
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x10]
push 0
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x58]
push 5
push eax
mov dword [ebp - 0x68], ebx
call fcn.00445323
mov esi, eax
test esi, esi
jns 0x425817
push str.Failed_to_create_unique_target_product_codes.
push esi
call fcn.0044012f
pop ecx
pop ecx
jmp 0x42598e
cmp dword [ebx + 0x18], 0
push edi
je 0x425905
xor edi, edi
cmp dword [ebx + 0x1c], edi
jbe 0x42598d
mov ebx, dword [ebx + 0x18]
cmp dword [ebx + edi*8 + 4], 1
jne 0x42585e
push dword [ebp - 0x60]
push dword [ebp - 0x64]
push 0
push dword [ebx + edi*8]
push dword [ebp - 0x58]
call fcn.0042563f
mov esi, eax
test esi, esi
jns 0x4258dd
push str.Failed_to_add_product_code_to_possible_target_product_codes.
jmp 0x425985
cmp dword [ebx + edi*8 + 4], 2
jne 0x425905
xor eax, eax
jmp 0x4258c5
lea ecx, [ebp - 0x54]
push ecx
push eax
push dword [ebx + edi*8]
call fcn.00442690
mov esi, eax
test esi, esi
js 0x4258a4
push dword [ebp - 0x60]
lea eax, [ebp - 0x54]
push dword [ebp - 0x64]
push 0
push eax
push dword [ebp - 0x58]
call fcn.0042563f
mov esi, eax
test esi, esi
jns 0x4258c1
push str.Failed_to_add_upgrade_product_code_to_possible_target_product_codes.
jmp 0x425985
cmp esi, 0x8007064a
jne 0x4258c1
lea eax, [ebp - 0x54]
push eax
push 0xa00000aa
push 2
call fcn.0040550f
add esp, 0xc
xor esi, esi
mov eax, dword [ebp - 0x5c]
inc eax
mov dword [ebp - 0x5c], eax
test esi, esi
jns 0x42586d
xor eax, eax
cmp esi, 0x80070103
cmovne eax, esi
mov esi, eax
test esi, esi
js 0x4258ef
mov ebx, dword [ebp - 0x68]
inc edi
cmp edi, dword [ebx + 0x1c]
jb 0x42582d
jmp 0x42598d
push dword [ebx + edi*8]
push str.Failed_to_enumerate_all_products_to_patch_related_to_upgrade_code:__ls
push esi
call fcn.0044012f
add esp, 0xc
jmp 0x42598d
xor edi, edi
jmp 0x42596b
and dword [ebp - 0x5c], 0
lea eax, [ebp - 0x5c]
push 0
push 0
push eax
lea eax, [ebp - 0x54]
push eax
push edi
push 7
push 0
push 0
call fcn.004424ed
mov esi, eax
test esi, esi
js 0x42594d
push dword [ebp - 0x60]
lea eax, [ebp - 0x54]
push dword [ebp - 0x64]
push dword [ebp - 0x5c]
push eax
push dword [ebp - 0x58]
call fcn.0042563f
mov esi, eax
test esi, esi
jns 0x42596a
push str.Failed_to_add_product_code_to_search_product_codes.
jmp 0x425985
cmp esi, 0x8007064a
jne 0x42596a
lea eax, [ebp - 0x54]
push eax
push 0xa00000aa
push 2
call fcn.0040550f
add esp, 0xc
xor esi, esi
inc edi
test esi, esi
jns 0x425909
xor eax, eax
cmp esi, 0x80070103
cmovne eax, esi
mov esi, eax
test esi, esi
jns 0x42598d
push str.Failed_to_enumerate_all_products_on_the_machine_for_patches_applicability.
push esi
call fcn.0044012f
pop ecx
pop ecx
pop edi
cmp dword [ebp - 0x58], 0
je 0x42599c
push dword [ebp - 0x58]
call fcn.00445450
mov ecx, dword [ebp - 4]
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042de36
mov esp, ebp
pop ebp
ret 0xc