Function at 0x1002a9d0
Capabilities:
Check if file exists
Parse url

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100abd68
mov eax, dword fs:[0]
push eax
mov eax, 0x4f90
call fcn.10045420
mov eax, dword [0x100d8344]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x7e0]
mov dword [ebp - 0x4f9c], edi
mov dword [ebp - 0x4f40], 0
mov dword [ebp - 0x4f7c], eax
lea eax, [ebp - 0xfb0]
mov dword [ebp - 0x4f70], eax
lea eax, [ebp - 0x1780]
mov dword [ebp - 0x4f64], eax
lea eax, [ebp - 0x1f50]
mov dword [ebp - 0x4f5c], eax
lea eax, [ebp - 0x2720]
mov dword [ebp - 0x4f54], eax
lea eax, [ebp - 0x2ef0]
mov dword [ebp - 0x4f4c], eax
mov eax, dword [ecx]
push edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x4f74], 0
mov dword [ebp - 0x4f68], 0
mov dword [ebp - 0x4f78], 0x3e8
mov dword [ebp - 0x4f6c], 0x3e8
mov dword [ebp - 0x4f60], 0x3e8
mov dword [ebp - 0x4f58], 0x3e8
mov dword [ebp - 0x4f50], 0x3e8
mov dword [ebp - 0x4f48], 0x3e8
mov dword [ebp - 0x4f80], 0x3c
call dword [eax + 0x74]
mov ecx, edi
mov dword [ebp - 4], 0
mov dword [ebp - 0x4f40], 1
call fcn.10008910
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1002ab1a
push edi
lea eax, [ebp - 0x4f24]
push str.file:___
push eax
call fcn.1001c0e0
add esp, 0xc
push eax
mov ecx, edi
mov dword [ebp - 4], 1
call fcn.1000aec0
lea ecx, [ebp - 0x4f24]
mov byte [ebp - 4], 0
call fcn.10008890
lea eax, [ebp - 0x4f80]
mov ecx, edi
push eax
push 0
call fcn.100097c0
push eax
mov ecx, edi
call fcn.10008910
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x1002b176
push dword [ebp - 0x4f4c]
lea ecx, [ebp - 0x4f28]
call fcn.100086f0
push 0
push 0x23
lea ecx, [ebp - 0x4f28]
mov dword [ebp - 4], 2
call fcn.1000b0d0
lea ecx, [ebp - 0x4f38]
mov esi, eax
call fcn.10008760
lea ecx, [ebp - 0x4f3c]
call fcn.10008760
mov byte [ebp - 4], 4
cmp esi, 0xffffffff
je 0x1002ac11
push esi
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f28]
call fcn.10012650
push eax
lea ecx, [ebp - 0x4f38]
mov byte [ebp - 4], 5
call fcn.1000aec0
lea ecx, [ebp - 0x4f24]
mov byte [ebp - 4], 4
call fcn.10008890
push 0
push 0x23
lea ecx, [ebp - 0x4f28]
call fcn.1000b0d0
lea ecx, [ebp - 0x4f28]
mov esi, eax
call fcn.100097c0
sub eax, esi
lea ecx, [ebp - 0x4f28]
push eax
lea eax, [ebp - 0x4f24]
push eax
call fcn.100160d0
push eax
lea ecx, [ebp - 0x4f3c]
mov byte [ebp - 4], 6
call fcn.1000aec0
lea ecx, [ebp - 0x4f24]
mov byte [ebp - 4], 4
call fcn.10008890
jmp 0x1002ac23
lea eax, [ebp - 0x4f28]
push eax
lea ecx, [ebp - 0x4f38]
call fcn.1000aec0
lea ecx, [ebp - 0x4f34]
call fcn.1002a410
sub esp, 0x18
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4f38]
mov esi, esp
call fcn.10008910
push eax
mov ecx, esi
call fcn.1000ada0
lea eax, [ebp - 0x4f34]
push eax
call fcn.1002c340
add esp, 0x1c
lea ecx, [ebp - 0x4f08]
push str.lenovo
call fcn.1000ada0
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1000eed0
push eax
lea eax, [ebp - 0x4f08]
push eax
lea eax, [ebp - 0x4f2c]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002c280
mov ecx, eax
call fcn.1000d520
lea ecx, [ebp - 0x4f08]
mov bl, al
call fcn.1000ae20
test bl, bl
je 0x1002acee
push str.lenovo
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
push 0x100b275c
lea eax, [ebp - 0x4f08]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002a6e0
mov ecx, eax
call fcn.1002a6b0
lea ecx, [ebp - 0x4f08]
mov byte [ebp - 4], 7
call fcn.1000ae20
push str.appver
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1000eed0
push eax
lea eax, [ebp - 0x4f08]
push eax
lea eax, [ebp - 0x4f2c]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002c280
mov ecx, eax
call fcn.1000d520
lea ecx, [ebp - 0x4f08]
mov bl, al
call fcn.1000ae20
test bl, bl
je 0x1002ada4
push str.appver
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
lea eax, [ebp - 0x4f24]
mov byte [ebp - 4], 9
push eax
call fcn.1000b160
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.10008910
push eax
lea eax, [ebp - 0x4f08]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002a6e0
mov ecx, eax
call fcn.1002a6b0
lea ecx, [ebp - 0x4f24]
call fcn.10008890
lea ecx, [ebp - 0x4f08]
mov byte [ebp - 4], 7
call fcn.1000ae20
push 0x100b6470
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1000eed0
push eax
lea eax, [ebp - 0x4f08]
push eax
lea eax, [ebp - 0x4f2c]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002c280
mov ecx, eax
call fcn.1000d520
lea ecx, [ebp - 0x4f08]
mov bl, al
call fcn.1000ae20
test bl, bl
je 0x1002ae5a
push 0x100b6470
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
lea eax, [ebp - 0x4f24]
mov byte [ebp - 4], 0xb
push eax
call fcn.1000b550
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.10008910
push eax
lea eax, [ebp - 0x4f08]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002a6e0
mov ecx, eax
call fcn.1002a6b0
lea ecx, [ebp - 0x4f24]
call fcn.10008890
lea ecx, [ebp - 0x4f08]
mov byte [ebp - 4], 7
call fcn.1000ae20
push 0x100b6478
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1000eed0
push eax
lea eax, [ebp - 0x4f08]
push eax
lea eax, [ebp - 0x4f2c]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002c280
mov ecx, eax
call fcn.1000d520
lea ecx, [ebp - 0x4f08]
mov bl, al
call fcn.1000ae20
test bl, bl
je 0x1002aef0
push 0x100b6478
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
mov byte [ebp - 4], 0xd
call fcn.1000b490
push eax
lea eax, [ebp - 0x4f08]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002a6e0
mov ecx, eax
call fcn.1002a6b0
lea ecx, [ebp - 0x4f08]
mov byte [ebp - 4], 7
call fcn.1000ae20
push str.mid2
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1000eed0
push eax
lea eax, [ebp - 0x4f08]
push eax
lea eax, [ebp - 0x4f2c]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002c280
mov ecx, eax
call fcn.1000d520
lea ecx, [ebp - 0x4f08]
mov bl, al
call fcn.1000ae20
test bl, bl
je 0x1002af82
push str.mid2
lea ecx, [ebp - 0x4f08]
call fcn.1000ada0
mov byte [ebp - 4], 0xe
call fcn.1000b460
push eax
lea eax, [ebp - 0x4f08]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002a6e0
mov ecx, eax
call fcn.1002a6b0
lea ecx, [ebp - 0x4f08]
call fcn.1000ae20
lea ecx, [ebp - 0x4f98]
call fcn.10020f00
lea eax, [ebp - 0x4f2c]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002bf20
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f34]
call fcn.1002bf50
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f2c]
call fcn.1000d540
test al, al
je 0x1002b07e
nop
lea ecx, [ebp - 0x4f2c]
call fcn.1000d5f0
lea ecx, [ebp - 0x4f98]
mov esi, eax
call fcn.1001b400
lea ecx, [ebp - 0x4f98]
test al, al
je 0x1002aff9
push 0x100b648c
jmp 0x1002affe
push 0x100b4590
call fcn.1000afd0
push 0x100b6490
lea eax, [ebp - 0x4f20]
push esi
push eax
call fcn.10029530
mov ecx, eax
lea eax, [esi + 0x18]
mov byte [ebp - 4], 0x10
push eax
push ecx
lea eax, [ebp - 0x4f08]
push eax
call fcn.10029500
add esp, 0x18
push eax
lea ecx, [ebp - 0x4f98]
mov byte [ebp - 4], 0x11
call fcn.1002a790
lea ecx, [ebp - 0x4f08]
call fcn.1000ae20
lea ecx, [ebp - 0x4f20]
mov byte [ebp - 4], 0xf
call fcn.1000ae20
lea ecx, [ebp - 0x4f2c]
call fcn.1000d620
lea eax, [ebp - 0x4f24]
push eax
lea ecx, [ebp - 0x4f2c]
call fcn.1000d540
test al, al
jne 0x1002afd0
lea eax, [ebp - 0x4f3c]
push eax
lea ecx, [ebp - 0x4f98]
call fcn.1000c220
push eax
lea eax, [ebp - 0x4f24]
push eax
call fcn.1001c0e0
add esp, 0xc
push eax
lea ecx, [ebp - 0x4f28]
mov byte [ebp - 4], 0x12
call fcn.1000aec0
lea ecx, [ebp - 0x4f24]
mov byte [ebp - 4], 0xf
call fcn.10008890
lea ecx, [ebp - 0x4f28]
call fcn.10008910
push eax
lea ecx, [ebp - 0x4f28]
call fcn.100097c0
inc eax
push eax
push dword [ebp - 0x4f4c]
call fcn.1000ba20
lea ecx, [ebp - 0x4f28]
call fcn.100097c0
push 0x2000
mov dword [ebp - 0x4f48], eax
lea eax, [ebp - 0x4ef0]
push 0
push eax
call fcn.10055290
add esp, 0xc
mov dword [ebp - 0x4f44], 0x1000
lea eax, [ebp - 0x4f44]
push eax
lea eax, [ebp - 0x4ef0]
push eax
push 0
lea eax, [ebp - 0x4f80]
push eax
call dword [sym.imp.WININET.dll_InternetCreateUrlW]
lea eax, [ebp - 0x4ef0]
mov ecx, edi
push eax
call fcn.100088f0
lea ecx, [ebp - 0x4f98]
call fcn.1000ae20
lea ecx, [ebp - 0x4f34]
call fcn.1002a5d0
lea ecx, [ebp - 0x4f3c]
call fcn.10008890
lea ecx, [ebp - 0x4f38]
call fcn.10008890
lea ecx, [ebp - 0x4f28]
call fcn.10008890
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10045358
mov esp, ebp
pop ebp
ret 4