Function at 0x42a270
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5c7506
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x104c
call fcn.0051f3e0
push ebx
push esi
push edi
push 0x7fe
xor edi, edi
lea ecx, [esp + 0x85e]
xor eax, eax
push edi
push ecx
mov word [esp + 0x864], ax
call fcn.0051d400
add esp, 0xc
push str.example.html
lea ecx, [esp + 0x44]
call fcn.0043bf90
mov dword [esp + 0x1064], edi
push str.example.htm
lea ecx, [esp + 0x3c]
call fcn.0043bf90
mov byte [esp + 0x1064], 1
push 0x7fe
lea eax, [esp + 0x5e]
xor edx, edx
push edi
push eax
mov word [esp + 0x64], dx
call fcn.0051d400
add esp, 0xc
lea ecx, [esp + 0x58]
push ecx
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0xffffffffffffffff
lea edx, [esp + 0x5c]
push 0x5dc7b4
push edx
call fcn.004368f0
add esp, 0xc
lea ecx, [esp + 0x20]
call fcn.00438090
mov byte [esp + 0x1064], 2
lea ecx, [esp + 0x18]
call fcn.00438090
mov bl, 3
mov byte [esp + 0x1064], bl
push 1
sub esp, 8
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x5deb60
call fcn.0043bf90
mov byte [esp + 0x1070], 4
push edi
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x40]
call fcn.0043bf90
mov byte [esp + 0x1074], 5
push 0x5dc7b4
push eax
lea ecx, [esp + 0x68]
push ecx
call fcn.00406610
mov byte [esp + 0x1080], 6
add esp, 4
mov edx, esp
mov dword [esp + 0x40], esp
lea ecx, [esp + 0x58]
push ecx
push eax
push edx
call fcn.00428bf0
add esp, 0xc
mov byte [esp + 0x107c], 7
lea edx, [esp + 0x60]
push edx
mov byte [esp + 0x1080], 9
call fcn.004622d0
add esp, 0x1c
mov byte [esp + 0x1064], 0xa
push eax
lea ecx, [esp + 0x24]
call fcn.00439f20
mov byte [esp + 0x1064], 9
lea ecx, [esp + 0x48]
call fcn.004381e0
mov byte [esp + 0x1064], 8
lea ecx, [esp + 0x50]
call fcn.004381e0
mov byte [esp + 0x1064], bl
lea ecx, [esp + 0x2c]
call fcn.004381e0
push 1
sub esp, 8
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5deb60
call fcn.0043bf90
mov byte [esp + 0x1070], 0xb
push edi
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x5c]
call fcn.0043bf90
mov byte [esp + 0x1074], 0xc
push 0x5dc7b4
push eax
lea ecx, [esp + 0x68]
push ecx
call fcn.00406610
mov byte [esp + 0x1080], 0xd
add esp, 4
mov edx, esp
mov dword [esp + 0x4c], esp
lea ecx, [esp + 0x50]
push ecx
push eax
push edx
call fcn.00428bf0
add esp, 0xc
mov byte [esp + 0x107c], 0xe
lea edx, [esp + 0x44]
push edx
mov byte [esp + 0x1080], 0x10
call fcn.004622d0
add esp, 0x1c
mov byte [esp + 0x1064], 0x11
push eax
lea ecx, [esp + 0x1c]
call fcn.00439f20
mov byte [esp + 0x1064], 0x10
lea ecx, [esp + 0x2c]
call fcn.004381e0
mov byte [esp + 0x1064], 0xf
lea ecx, [esp + 0x50]
call fcn.004381e0
mov byte [esp + 0x1064], bl
lea ecx, [esp + 0x48]
call fcn.004381e0
push edi
push edi
push 2
mov eax, dword [esp + 0x2c]
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileW]
push edi
push edi
push edi
push eax
call esi
mov ecx, dword [esp + 0x18]
push edi
push edi
push 2
push edi
push edi
push edi
push ecx
call esi
mov eax, dword [esp + 0x20]
mov esi, dword [sym.imp.SHELL32.dll_FindExecutableW]
lea edx, [esp + 0x858]
push edx
push 0x5dbe20
push eax
call esi
cmp eax, 0x20
ja 0x42a52b
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x858]
push ecx
push 0x5dbe20
push edx
call esi
cmp eax, 0x20
jbe 0x42a530
mov edi, 1
lea eax, [esp + 0x858]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x42a6db
test edi, edi
je 0x42a6db
lea ecx, [esp + 0x10]
call fcn.00438090
mov byte [esp + 0x1064], 0x12
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, 0x400
or eax, ecx
jge 0x42a58a
push 0x400
lea ecx, [esp + 0x14]
call fcn.00402650
mov edx, dword [esp + 0x10]
push edx
push str.DisplayIcon
push str.SoftwareMicrosoftWindowsCurrentVersionUninstallXpom
push reloc.WSOCK32.dll_accept
call fcn.00425a10
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.0051d859
add esp, 0x18
test eax, eax
jl 0x42a739
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx - 8]
jg 0x42a739
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x10]
xor ecx, ecx
push ecx
sub esp, 8
mov word [edx + eax*2], cx
mov ecx, esp
mov dword [esp + 0x34], esp
push 0x5e0258
call fcn.0043bf90
mov byte [esp + 0x1070], 0x13
sub esp, 8
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x48], esp
push eax
call fcn.00438190
mov byte [esp + 0x1078], 0x14
lea ecx, [esp + 0x40]
push ecx
mov byte [esp + 0x107c], 0x12
call fcn.0043afe0
add esp, 0x18
mov byte [esp + 0x1064], 0x15
push eax
lea ecx, [esp + 0x14]
call fcn.00439f20
mov byte [esp + 0x1064], 0x12
lea ecx, [esp + 0x2c]
call fcn.004381e0
lea edx, [esp + 0x858]
push edx
lea eax, [esp + 0x14]
push eax
call fcn.00413c80
add esp, 8
test al, al
je 0x42a6cb
mov byte [esp + 0x1064], bl
lea ecx, [esp + 0x10]
call fcn.004381e0
mov byte [esp + 0x1064], 2
lea ecx, [esp + 0x18]
call fcn.004381e0
mov byte [esp + 0x1064], 1
lea ecx, [esp + 0x20]
call fcn.004381e0
mov byte [esp + 0x1064], 0
lea ecx, [esp + 0x38]
call fcn.004381e0
mov dword [esp + 0x1064], 0xffffffff
lea ecx, [esp + 0x40]
call fcn.004381e0
mov eax, 1
mov ecx, dword [esp + 0x105c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x1064], bl
lea ecx, [esp + 0x10]
call fcn.004381e0
mov byte [esp + 0x1064], 2
lea ecx, [esp + 0x18]
call fcn.004381e0
mov byte [esp + 0x1064], 1
lea ecx, [esp + 0x20]
call fcn.004381e0
mov byte [esp + 0x1064], 0
lea ecx, [esp + 0x38]
call fcn.004381e0
mov dword [esp + 0x1064], 0xffffffff
lea ecx, [esp + 0x40]
call fcn.004381e0
mov ecx, dword [esp + 0x105c]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.00401300
int3