Function at 0x4de910
Capabilities:
Check if file exists
Delete file
Get geographical location
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x178
mov eax, dword [0x541af0]
xor eax, ebp
mov dword [ebp - 4], eax
push str.http:__iplocation.geo.qiyi.com_cityjson
lea ecx, [ebp - 0x30]
call fcn.00403a90
lea ecx, [ebp - 0x2c]
call fcn.00407160
mov eax, dword [0x546dc4]
push eax
push str._scity.json
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00406050
add esp, 0xc
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4de971
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0xbb8
push ecx
mov ecx, esp
mov dword [ebp - 0x150], esp
lea edx, [ebp - 0x2c]
push edx
call fcn.00402350
push ecx
mov ecx, esp
mov dword [ebp - 0x154], esp
lea eax, [ebp - 0x30]
push eax
call fcn.00402350
call fcn.004de1c0
add esp, 0xc
test eax, eax
jne 0x4de9c3
lea ecx, [ebp - 0x2c]
call fcn.004030e0
lea ecx, [ebp - 0x30]
call fcn.004030e0
lea ecx, [ebp + 8]
call fcn.004030e0
jmp 0x4decba
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4de9f3
lea ecx, [ebp - 0x2c]
call fcn.004030e0
lea ecx, [ebp - 0x30]
call fcn.004030e0
lea ecx, [ebp + 8]
call fcn.004030e0
jmp 0x4decba
lea ecx, [ebp - 0x28]
call fcn.00407160
push 0x511f38
lea ecx, [ebp - 0x2c]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
call fcn.004b87c9
add esp, 8
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x4dea3f
lea ecx, [ebp - 0x28]
call fcn.004030e0
lea ecx, [ebp - 0x2c]
call fcn.004030e0
lea ecx, [ebp - 0x30]
call fcn.004030e0
lea ecx, [ebp + 8]
call fcn.004030e0
jmp 0x4decba
push 2
push 0
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004b901c
add esp, 0xc
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b923e
add esp, 4
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
push eax
call fcn.00496cf7
add esp, 4
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0xf8], ecx
push 0
push 0
mov edx, dword [ebp - 0x24]
push edx
call fcn.004b901c
add esp, 0xc
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
push 1
mov edx, dword [ebp - 0xf8]
push edx
call fcn.004b954c
add esp, 0x10
lea ecx, [ebp - 0x20]
call fcn.00407ae0
mov eax, dword [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0xf8]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00402550
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0x15c], edx
mov eax, dword [ebp - 0x15c]
push eax
call fcn.00496d02
add esp, 4
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004b88aa
add esp, 4
lea ecx, [ebp - 0xf0]
call fcn.0041ede0
push 0
lea ecx, [ebp - 0x60]
call fcn.00425da0
lea ecx, [ebp - 0x4c]
call fcn.00407ae0
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x178]
push eax
call fcn.00415fa0
add esp, 8
push eax
lea ecx, [ebp - 0x4c]
call fcn.00408360
lea ecx, [ebp - 0x178]
call fcn.00402e10
push 1
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x4c]
push edx
lea ecx, [ebp - 0xf0]
call fcn.0041ef00
movzx eax, al
test eax, eax
je 0x4dec4f
lea ecx, [ebp - 0x114]
push ecx
push str.code
lea ecx, [ebp - 0x60]
call fcn.00427a90
mov ecx, eax
call fcn.00426ac0
push str.A00000
lea ecx, [ebp - 0x114]
call fcn.0040c8d0
test eax, eax
jne 0x4dec44
push str.data
lea ecx, [ebp - 0x60]
call fcn.00427a90
push eax
lea ecx, [ebp - 0x128]
call fcn.004261c0
lea ecx, [ebp - 0x128]
call fcn.00427650
movzx edx, al
test edx, edx
jne 0x4dec39
xor eax, eax
mov word [ebp - 0x14c], ax
xor ecx, ecx
mov dword [ebp - 0x14a], ecx
mov dword [ebp - 0x146], ecx
mov dword [ebp - 0x142], ecx
mov dword [ebp - 0x13e], ecx
mov dword [ebp - 0x13a], ecx
mov dword [ebp - 0x136], ecx
mov dword [ebp - 0x132], ecx
mov word [ebp - 0x12e], cx
push str.city_id
lea ecx, [ebp - 0x128]
call fcn.00427a90
mov ecx, eax
call fcn.00426bd0
mov dword [ebp - 0x12c], eax
push 0xa
lea edx, [ebp - 0x14c]
push edx
mov eax, dword [ebp - 0x12c]
push eax
call fcn.004bac3d
add esp, 0xc
lea ecx, [ebp - 0x14c]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00403a70
lea ecx, [ebp - 0x128]
call fcn.004263d0
lea ecx, [ebp - 0x114]
call fcn.00402e10
mov ecx, 0x546da8
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
lea ecx, [ebp - 0x28]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
lea ecx, [ebp + 8]
call sym.QiyiInstaller.exe_public:_enum_eScriptType___thiscall_CScriptModule::Type_void_
push eax
push 0x511f60
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x4c]
call fcn.00402e10
lea ecx, [ebp - 0x60]
call fcn.004263d0
lea ecx, [ebp - 0xf0]
call fcn.00408030
lea ecx, [ebp - 0x20]
call fcn.00402e10
lea ecx, [ebp - 0x28]
call fcn.004030e0
lea ecx, [ebp - 0x2c]
call fcn.004030e0
lea ecx, [ebp - 0x30]
call fcn.004030e0
lea ecx, [ebp + 8]
call fcn.004030e0
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b5c0b
mov esp, ebp
pop ebp
ret