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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x50d4
call fcn.00613c30
mov eax, dword [0x6eb874]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov dword [ebp - 0x5050], ecx
push 0x3c
push 0
lea eax, [ebp - 0x50ac]
push eax
call fcn.0063a460
add esp, 0xc
mov dword [ebp - 0x50ac], 0x3c
lea ecx, [ebp - 0x4ee4]
mov dword [ebp - 0x50a8], ecx
lea edx, [ebp - 0x4714]
mov dword [ebp - 0x509c], edx
lea eax, [ebp - 0x3f44]
mov dword [ebp - 0x5090], eax
lea ecx, [ebp - 0x3774]
mov dword [ebp - 0x5088], ecx
lea edx, [ebp - 0x2fa4]
mov dword [ebp - 0x5080], edx
lea eax, [ebp - 0x27d4]
mov dword [ebp - 0x5078], eax
mov dword [ebp - 0x50a4], 0x3e8
mov dword [ebp - 0x5098], 0x3e8
mov dword [ebp - 0x508c], 0x3e8
mov dword [ebp - 0x5084], 0x3e8
mov dword [ebp - 0x507c], 0x3e8
mov dword [ebp - 0x5074], 0x3e8
mov dword [ebp - 0x50ac], 0x3c
lea ecx, [ebp - 0x502c]
push ecx
mov edx, dword [ebp - 0x5050]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5050]
mov edx, dword [eax + 0x68]
call edx
lea ecx, [ebp - 0x502c]
call fcn.0040d3c0
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x5d9aeb
lea eax, [ebp - 0x502c]
push eax
push str.file:___
lea ecx, [ebp - 0x506c]
push ecx
call fcn.00421f90
add esp, 0xc
push eax
lea ecx, [ebp - 0x502c]
call fcn.0040d360
lea ecx, [ebp - 0x506c]
call fcn.00413870
lea edx, [ebp - 0x50ac]
push edx
push 0
lea ecx, [ebp - 0x502c]
call fcn.0040dcd0
push eax
lea ecx, [ebp - 0x502c]
call fcn.0040d3c0
push eax
call dword [sym.imp.WININET.dll_InternetCrackUrlW]
test eax, eax
je 0x5da14f
mov eax, dword [ebp - 0x5078]
push eax
lea ecx, [ebp - 0x5020]
call fcn.004131e0
push 0
push 0x23
lea ecx, [ebp - 0x5020]
call fcn.004c9730
mov dword [ebp - 0x504c], eax
lea ecx, [ebp - 0x5038]
call fcn.00413220
lea ecx, [ebp - 0x503c]
call fcn.00413220
cmp dword [ebp - 0x504c], 0xffffffff
je 0x5d9bda
mov ecx, dword [ebp - 0x504c]
push ecx
lea edx, [ebp - 0x5068]
push edx
lea ecx, [ebp - 0x5020]
call fcn.0045e690
push eax
lea ecx, [ebp - 0x5038]
call fcn.0040d360
lea ecx, [ebp - 0x5068]
call fcn.00413870
lea ecx, [ebp - 0x5020]
call fcn.0040dcd0
mov esi, eax
push 0
push 0x23
lea ecx, [ebp - 0x5020]
call fcn.004c9730
sub esi, eax
push esi
lea eax, [ebp - 0x5064]
push eax
lea ecx, [ebp - 0x5020]
call fcn.00423820
push eax
lea ecx, [ebp - 0x503c]
call fcn.0040d360
lea ecx, [ebp - 0x5064]
call fcn.00413870
jmp 0x5d9bec
lea ecx, [ebp - 0x5020]
push ecx
lea ecx, [ebp - 0x5038]
call fcn.0040d360
lea ecx, [ebp - 0x5028]
call fcn.004a3300
sub esp, 0x18
mov esi, esp
lea ecx, [ebp - 0x5038]
call fcn.0040d3c0
push eax
mov ecx, esi
call fcn.004219c0
lea edx, [ebp - 0x5028]
push edx
call fcn.005da180
add esp, 0x1c
push 0x6acf74
lea ecx, [ebp - 0x4f44]
call fcn.004219c0
lea eax, [ebp - 0x50d4]
push eax
lea ecx, [ebp - 0x5028]
call fcn.00418cd0
push eax
lea ecx, [ebp - 0x4f44]
push ecx
lea edx, [ebp - 0x50d0]
push edx
lea ecx, [ebp - 0x5028]
call fcn.00528d90
mov ecx, eax
call fcn.00413ab0
mov byte [ebp - 0x5031], al
lea ecx, [ebp - 0x4f44]
call fcn.00421c50
movzx eax, byte [ebp - 0x5031]
test eax, eax
je 0x5d9cb6
push str.lenovo
lea ecx, [ebp - 0x4f2c]
call fcn.004219c0
push 0x6acf94
lea ecx, [ebp - 0x4f2c]
push ecx
lea ecx, [ebp - 0x5028]
call fcn.005281c0
mov ecx, eax
call fcn.00421ef0
lea ecx, [ebp - 0x4f2c]
call fcn.00421c50
push 0x6acf98
lea ecx, [ebp - 0x4f14]
call fcn.004219c0
lea edx, [ebp - 0x50cc]
push edx
lea ecx, [ebp - 0x5028]
call fcn.00418cd0
push eax
lea eax, [ebp - 0x4f14]
push eax
lea ecx, [ebp - 0x50c8]
push ecx
lea ecx, [ebp - 0x5028]
call fcn.00528d90
mov ecx, eax
call fcn.00413ab0
mov byte [ebp - 0x502d], al
lea ecx, [ebp - 0x4f14]
call fcn.00421c50
movzx edx, byte [ebp - 0x502d]
test edx, edx
je 0x5d9d6b
push str.appver
lea ecx, [ebp - 0x4fec]
call fcn.004219c0
lea eax, [ebp - 0x5060]
push eax
call fcn.004c10f0
add esp, 4
mov ecx, eax
call fcn.0040d3c0
push eax
lea ecx, [ebp - 0x4fec]
push ecx
lea ecx, [ebp - 0x5028]
call fcn.005281c0
mov ecx, eax
call fcn.00421ef0
lea ecx, [ebp - 0x5060]
call fcn.00413870
lea ecx, [ebp - 0x4fec]
call fcn.00421c50
push 0x6acfb8
lea ecx, [ebp - 0x4fd4]
call fcn.004219c0
lea edx, [ebp - 0x50c0]
push edx
lea ecx, [ebp - 0x5028]
call fcn.00418cd0
push eax
lea eax, [ebp - 0x4fd4]
push eax
lea ecx, [ebp - 0x50c4]
push ecx
lea ecx, [ebp - 0x5028]
call fcn.00528d90
mov ecx, eax
call fcn.00413ab0
mov byte [ebp - 0x502e], al
lea ecx, [ebp - 0x4fd4]
call fcn.00421c50
movzx edx, byte [ebp - 0x502e]
test edx, edx
je 0x5d9e20
push 0x6acfc0
lea ecx, [ebp - 0x4fbc]
call fcn.004219c0
lea eax, [ebp - 0x505c]
push eax
call fcn.004bd3f0
add esp, 4
mov ecx, eax
call fcn.0040d3c0
push eax
lea ecx, [ebp - 0x4fbc]
push ecx
lea ecx, [ebp - 0x5028]
call fcn.005281c0
mov ecx, eax
call fcn.00421ef0
lea ecx, [ebp - 0x505c]
call fcn.00413870
lea ecx, [ebp - 0x4fbc]
call fcn.00421c50
push 0x6acfc8
lea ecx, [ebp - 0x4fa4]
call fcn.004219c0
lea edx, [ebp - 0x50b0]
push edx
lea ecx, [ebp - 0x5028]
call fcn.00418cd0
push eax
lea eax, [ebp - 0x4fa4]
push eax
lea ecx, [ebp - 0x50b4]
push ecx
lea ecx, [ebp - 0x5028]
call fcn.00528d90
mov ecx, eax
call fcn.00413ab0
mov byte [ebp - 0x502f], al
lea ecx, [ebp - 0x4fa4]
call fcn.00421c50
movzx edx, byte [ebp - 0x502f]
test edx, edx
je 0x5d9eb9
push 0x6acfd0
lea ecx, [ebp - 0x4f5c]
call fcn.004219c0
call fcn.004bd390
push eax
lea eax, [ebp - 0x4f5c]
push eax
lea ecx, [ebp - 0x5028]
call fcn.005281c0
mov ecx, eax
call fcn.00421ef0
lea ecx, [ebp - 0x4f5c]
call fcn.00421c50
push 0x6acfd8
lea ecx, [ebp - 0x4f8c]
call fcn.004219c0
lea ecx, [ebp - 0x50b8]
push ecx
lea ecx, [ebp - 0x5028]
call fcn.00418cd0
push eax
lea edx, [ebp - 0x4f8c]
push edx
lea eax, [ebp - 0x50bc]
push eax
lea ecx, [ebp - 0x5028]
call fcn.00528d90
mov ecx, eax
call fcn.00413ab0
mov byte [ebp - 0x5030], al
lea ecx, [ebp - 0x4f8c]
call fcn.00421c50
movzx ecx, byte [ebp - 0x5030]
test ecx, ecx
je 0x5d9f52
push str.mid2
lea ecx, [ebp - 0x4f74]
call fcn.004219c0
call fcn.004bd3c0
push eax
lea edx, [ebp - 0x4f74]
push edx
lea ecx, [ebp - 0x5028]
call fcn.005281c0
mov ecx, eax
call fcn.00421ef0
lea ecx, [ebp - 0x4f74]
call fcn.00421c50
lea ecx, [ebp - 0x4efc]
call fcn.004219f0
lea eax, [ebp - 0x5028]
mov dword [ebp - 0x5048], eax
lea ecx, [ebp - 0x5040]
push ecx
mov ecx, dword [ebp - 0x5048]
call fcn.005d53e0
lea edx, [ebp - 0x5058]
push edx
mov ecx, dword [ebp - 0x5048]
call fcn.005d5410
jmp 0x5d9f9a
lea ecx, [ebp - 0x5040]
call fcn.00413c00
lea eax, [ebp - 0x5058]
push eax
lea ecx, [ebp - 0x5040]
call fcn.00413ae0
movzx ecx, al
test ecx, ecx
je 0x5da058
lea ecx, [ebp - 0x5040]
call fcn.00413bb0
mov dword [ebp - 0x5044], eax
lea ecx, [ebp - 0x4efc]
call fcn.00425070
movzx edx, al
test edx, edx
je 0x5d9fec
push 0x6acff0
lea ecx, [ebp - 0x4efc]
call fcn.0047b540
jmp 0x5d9ffc
push 0x6acff4
lea ecx, [ebp - 0x4efc]
call fcn.0047b540
mov eax, dword [ebp - 0x5044]
add eax, 0x18
push eax
push 0x6acff8
mov ecx, dword [ebp - 0x5044]
push ecx
lea edx, [ebp - 0x5004]
push edx
call fcn.005d4e80
add esp, 0xc
push eax
lea eax, [ebp - 0x501c]
push eax
call fcn.005d4e50
add esp, 0xc
push eax
lea ecx, [ebp - 0x4efc]
call fcn.0048b4d0
lea ecx, [ebp - 0x501c]
call fcn.00421c50
lea ecx, [ebp - 0x5004]
call fcn.00421c50
jmp 0x5d9f8f
lea ecx, [ebp - 0x503c]
push ecx
lea ecx, [ebp - 0x4efc]
call fcn.00424f40
push eax
lea edx, [ebp - 0x5054]
push edx
call fcn.00421f90
add esp, 0xc
push eax
lea ecx, [ebp - 0x5020]
call fcn.0040d360
lea ecx, [ebp - 0x5054]
call fcn.00413870
lea ecx, [ebp - 0x5020]
call fcn.0040d3c0
push eax
lea ecx, [ebp - 0x5020]
call fcn.0040dcd0
add eax, 1
push eax
mov eax, dword [ebp - 0x5078]
push eax
call fcn.004239e0
lea ecx, [ebp - 0x5020]
call fcn.0040dcd0
mov dword [ebp - 0x5074], eax
push 0x2000
push 0
lea ecx, [ebp - 0x2004]
push ecx
call fcn.0063a460
add esp, 0xc
mov dword [ebp - 0x5070], 0x1000
lea edx, [ebp - 0x5070]
push edx
lea eax, [ebp - 0x2004]
push eax
push 0
lea ecx, [ebp - 0x50ac]
push ecx
call dword [sym.imp.WININET.dll_InternetCreateUrlW]
lea edx, [ebp - 0x2004]
push edx
lea ecx, [ebp - 0x502c]
call fcn.00413a70
lea ecx, [ebp - 0x4efc]
call fcn.00421c50
lea ecx, [ebp - 0x5028]
call fcn.00527f00
lea ecx, [ebp - 0x503c]
call fcn.00413870
lea ecx, [ebp - 0x5038]
call fcn.00413870
lea ecx, [ebp - 0x5020]
call fcn.00413870
lea eax, [ebp - 0x502c]
push eax
mov ecx, dword [ebp + 8]
call fcn.00421650
lea ecx, [ebp - 0x502c]
call fcn.00413870
mov eax, dword [ebp + 8]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006135ac
mov esp, ebp
pop ebp
ret 4