Function at 0x4093d0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4565f7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc64
mov eax, dword [0x473eb8]
mov dword [ebp - 0x14], eax
push edi
mov dword [ebp - 0xc68], ecx
mov eax, dword [ebp - 0xc68]
mov dword [eax + 0x2e0], 1
lea ecx, [ebp - 0x82c]
call fcn.00401370
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.0040adf0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x818]
call fcn.00401370
mov byte [ebp - 4], 2
push 0x45a784
mov ecx, 0x4754b8
call fcn.004013d0
push eax
push 0x45a790
lea ecx, [ebp - 0x82c]
push ecx
call fcn.004037b0
add esp, 0x10
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x45a796
push 0x45a798
push 0x45a7a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x814]
push eax
lea ecx, [ebp - 0x824]
call fcn.00411440
test eax, eax
jne 0x4094b4
mov ecx, dword [ebp - 0xc68]
mov dword [ecx + 0x2e0], 0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x45a7a8
push str.UpdateURL2
push 0x45a7b8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x83c]
call fcn.00401370
mov byte [ebp - 4], 3
push 0x45a7c0
lea eax, [ebp - 0x814]
push eax
call fcn.00404000
add esp, 8
test eax, eax
je 0x4095d9
lea ecx, [ebp - 0x814]
push ecx
lea ecx, [ebp - 0xc58]
call fcn.0040b530
mov byte [ebp - 4], 4
mov byte [ebp - 0xc3c], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0xc3b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x20
lea edx, [ebp - 0xc58]
push edx
call fcn.00410330
add esp, 8
push eax
lea ecx, [ebp - 0xc58]
call fcn.0040b570
push 0xd
lea eax, [ebp - 0xc58]
push eax
call fcn.00410330
add esp, 8
push eax
lea ecx, [ebp - 0xc58]
call fcn.0040b570
push 0xa
lea ecx, [ebp - 0xc58]
push ecx
call fcn.00410330
add esp, 8
push eax
lea ecx, [ebp - 0xc58]
call fcn.0040b570
lea edx, [ebp - 0xc3c]
push edx
lea eax, [ebp - 0xc58]
push eax
call fcn.00410190
add esp, 8
lea ecx, [ebp - 0xc3c]
push ecx
call fcn.00437650
add esp, 4
push eax
lea edx, [ebp - 0xc3c]
push edx
lea ecx, [ebp - 0x83c]
call fcn.00404810
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xc58]
call fcn.004040b0
lea ecx, [ebp - 0x83c]
call fcn.00404060
movzx eax, al
test eax, eax
je 0x409656
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea ecx, [ebp - 0x814]
push ecx
push 0x45a7c1
push str.UpdateURL
push 0x45a7d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x45a7d8
lea edx, [ebp - 0x814]
push edx
call fcn.00404000
add esp, 8
test eax, eax
jne 0x409642
mov eax, dword [ebp - 0xc68]
mov dword [eax + 0x2e0], 0
jmp 0x409654
lea ecx, [ebp - 0x814]
push ecx
lea ecx, [ebp - 0x818]
call fcn.004013b0
jmp 0x409668
lea edx, [ebp - 0x83c]
push edx
lea ecx, [ebp - 0x818]
call fcn.0040b1e0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea eax, [ebp - 0x814]
push eax
push str.http:__sw.duoyi.com_m_index.shtm
push str.MiniPageLeft
push 0x45a810
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x814]
push ecx
mov ecx, dword [ebp - 0xc68]
add ecx, 0x2e4
call fcn.004013b0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea edx, [ebp - 0x814]
push edx
push str.http:__sw.duoyi.com_m_pic.shtm
push str.MiniPageRight
push 0x45a848
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x814]
push eax
mov ecx, dword [ebp - 0xc68]
add ecx, 0x2e8
call fcn.004013b0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea ecx, [ebp - 0x814]
push ecx
push str.http:__sw.duoyi.com_down_patch.html
push str.DownPage
push 0x45a880
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x814]
push edx
mov ecx, dword [ebp - 0xc68]
add ecx, 0x2ec
call fcn.004013b0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea eax, [ebp - 0x814]
push eax
push str.swmain.dll
push str.GameName
push 0x45a8a0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea ecx, [ebp - 0x814]
push ecx
mov ecx, dword [ebp - 0xc68]
add ecx, 0x2f0
call fcn.004013b0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea edx, [ebp - 0x814]
push edx
push str.patch.info
push str.PatchInfo
push 0x45a8c0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x814]
push eax
mov ecx, dword [ebp - 0xc68]
add ecx, 0x2f4
call fcn.004013b0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x2710
push str.Timeout
push 0x45a8d0
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x838], eax
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea ecx, [ebp - 0x814]
push ecx
push 0x45a8d8
push str.SwitchURL
push 0x45a8e8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x814]
push edx
mov ecx, dword [ebp - 0xc68]
add ecx, 0x2f8
call fcn.004013b0
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x1388
push str.SwitchTimeout
push 0x45a900
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ecx, dword [ebp - 0xc68]
mov dword [ecx + 0x2fc], eax
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 1
push str.CheckVer
push 0x45a914
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0
push str.CheckPatchedHash
push 0x45a930
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [ebp - 0x828], eax
lea ecx, [ebp - 0x82c]
call fcn.004013d0
push eax
push 0x800
lea edx, [ebp - 0x814]
push edx
push 0x45a938
push 0x45a93c
push str.updater
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x45a948
lea eax, [ebp - 0x814]
push eax
call fcn.00404000
add esp, 8
test eax, eax
je 0x4098f5
lea ecx, [ebp - 0x814]
push ecx
mov ecx, 0x47549c
call fcn.0040f310
push 0
push 0
call fcn.0040aba0
add esp, 8
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], edx
mov edx, dword [ebp - 0xc68]
cmp dword [edx + 0x2e0], 0
je 0x4099e6
mov eax, dword [ebp - 0xc68]
cmp dword [eax + 0x2dc], 0
je 0x40993b
mov dword [ebp - 0xc6c], str.mini
jmp 0x409945
mov dword [ebp - 0xc6c], str.main
cmp dword [ebp - 0xc68], 0
je 0x409962
mov ecx, dword [ebp - 0xc68]
add ecx, 0xa0
mov dword [ebp - 0xc70], ecx
jmp 0x40996c
mov dword [ebp - 0xc70], 0
mov edx, dword [ebp - 0x828]
push edx
push str.Version
push str.Setting
push str.update.ini
mov eax, dword [ebp - 0x10]
push eax
push 0x3a8
mov ecx, dword [ebp - 0x838]
push ecx
push 0x200000
push str.http:__dl.duoyi.com_downloader_wz_update_limit.txt
push str.patch
mov edx, dword [ebp - 0xc6c]
push edx
lea ecx, [ebp - 0x818]
call fcn.004013d0
push eax
mov eax, dword [ebp - 0x820]
push eax
mov ecx, dword [ebp - 0x824]
push ecx
mov edx, dword [ebp - 0xc70]
push edx
mov ecx, dword [ebp - 0xc68]
add ecx, 0xc8
call fcn.00414b60
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x834]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x830]
mov dword [ebp - 0xc60], ecx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x83c]
call fcn.00401390
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x818]
call fcn.00401390
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x824]
call fcn.004022a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x82c]
call fcn.00401390
mov eax, dword [ebp - 0xc64]
mov edx, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.004375fb
pop edi
mov esp, ebp
pop ebp
ret