Function at 0x41a060
Capabilities:
Delete file
Get common file path
Get file size
Get startup folder
Read .ini file
Read file on windows
Set registry value
Write file on windows
Write file to startup folder

Disassembly:
push ebp
sub esp, 0x398
lea ebp, [esp - 4]
mov eax, dword [0x507a30]
xor eax, ebp
mov dword [ebp + 0x398], eax
push 0x1c
mov eax, 0x4becfc
call fcn.0041e19c
mov esi, dword [ebp + 0x3a4]
xor ebx, ebx
push 0x62
lea eax, [ebp + 0x306]
push ebx
push eax
mov dword [ebp - 0x20], esi
mov word [ebp + 0x304], bx
call fcn.0041d6a0
add esp, 0xc
push esi
lea ecx, [ebp + 0x54]
call fcn.00401c20
push str.config.ini
lea ecx, [ebp + 0x54]
mov dword [ebp - 4], ebx
call fcn.00403ac0
cmp dword [ebp + 0x6c], 8
mov eax, dword [ebp + 0x58]
jae 0x41a0cd
lea eax, [ebp + 0x58]
push eax
push 0x104
lea eax, [ebp + 0x304]
push eax
push 0x4e58c0
push 0x4c5680
push str.settings
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
call fcn.00413d73
mov edx, eax
push 9
pop ecx
xor eax, eax
mov word [ebp + 0x368], bx
lea edi, [ebp + 0x36a]
rep stosd dword es:[edi], eax
push edx
stosw word es:[edi], ax
lea eax, [ebp + 0x368]
push 0x4c2c50
push eax
call fcn.0041e5d1
add esp, 0xc
push esi
lea ecx, [ebp + 0xa8]
call fcn.00401c20
push str.icon.ico
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 1
call fcn.00403ac0
push esi
lea ecx, [ebp + 0xe0]
call fcn.00401c20
push str.User_DataDefault_
lea ecx, [ebp + 0xe0]
mov byte [ebp - 4], 2
call fcn.00403ac0
lea eax, [ebp + 0x368]
push eax
lea ecx, [ebp + 0xe0]
call fcn.00403ac0
push str..ico
lea ecx, [ebp + 0xe0]
call fcn.00403ac0
cmp dword [ebp + 0xc0], 8
mov eax, dword [ebp + 0xac]
jae 0x41a198
lea eax, [ebp + 0xac]
push ebx
push 0x80
push 4
push ebx
push ebx
push SysReAllocString
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
xor esi, esi
cmp edi, 0xffffffff
mov dword [ebp - 0x14], ebx
je 0x41a238
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea eax, [esi + 0xa]
push eax
call fcn.0041c69c
pop ecx
push ebx
lea ecx, [ebp - 0x24]
push ecx
push esi
push eax
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x895440
push 0xf4240
call fcn.004135c5
mov ecx, eax
xor eax, eax
mov byte [ebp + 0x390], bl
lea edi, [ebp + 0x391]
stosd dword es:[edi], eax
stosw word es:[edi], ax
push ecx
stosb byte es:[edi], al
lea eax, [ebp + 0x390]
push 0x4c5620
push eax
call fcn.0041f53b
push 8
lea eax, [ebp + 0x390]
push eax
mov eax, dword [ebp - 0x14]
add eax, esi
push eax
call fcn.0041d320
add esp, 0x20
add esi, 8
cmp dword [ebp + 0xf8], 8
mov eax, dword [ebp + 0xe4]
jae 0x41a24d
lea eax, [ebp + 0xe4]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
cmp dword [ebp - 0x14], ebx
je 0x41a2ab
cmp dword [ebp + 0xf8], 8
mov eax, dword [ebp + 0xe4]
jae 0x41a270
lea eax, [ebp + 0xe4]
push ebx
push 0x80
push 1
push ebx
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp eax, 0xffffffff
mov dword [ebp - 0x18], eax
je 0x41a2ab
push ebx
lea ecx, [ebp - 0x28]
push ecx
push esi
push dword [ebp - 0x14]
mov dword [ebp - 0x28], ebx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp + 0xc0], 8
mov eax, dword [ebp + 0xac]
jae 0x41a2c0
lea eax, [ebp + 0xac]
push eax
call edi
push dword [ebp - 0x20]
lea ecx, [ebp + 0x38]
call fcn.00401c20
mov esi, str.hao123Juzi.exe
push esi
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 3
call fcn.00403ac0
mov edi, 0x4c3f6c
push edi
lea ecx, [ebp + 0x8c]
call fcn.00401c20
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp + 0x8c]
mov byte [ebp - 4], 4
call fcn.00403f10
push 0x4c3f64
lea ecx, [ebp + 0x8c]
call fcn.00403ac0
push str.__class13
lea ecx, [ebp + 0xc4]
call fcn.00401c20
push str.___dword1
lea ecx, [ebp + 0xc4]
mov byte [ebp - 4], 5
call fcn.00403ac0
push str.___atb1
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push str.___defb1
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push str.___type4
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push str.___procid
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
lea eax, [ebp + 0x304]
push eax
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push str._u2_hao_
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push str.___param_
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push str.___ico_
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xe0]
push eax
lea ecx, [ebp + 0xc4]
call fcn.00403f10
push edi
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xc4]
push eax
lea ecx, [ebp + 0x8c]
call fcn.00403f10
cmp dword [ebp + 0xa4], 8
mov eax, dword [ebp + 0x90]
jae 0x41a408
lea eax, [ebp + 0x90]
push eax
call fcn.00413e28
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp], 0x7d0
call edi
push 0x206
lea eax, [ebp + 0xfe]
push ebx
push eax
mov word [ebp + 0xfc], bx
call fcn.0041d6a0
add esp, 0xc
push ebx
push 0x1a
lea eax, [ebp + 0xfc]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp + 0xfc]
push str.MicrosoftInternet_ExplorerQuick_Launch_
push eax
call fcn.0041d804
pop ecx
pop ecx
push dword [ebp - 0x20]
lea ecx, [ebp + 0x70]
call fcn.00401c20
push esi
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 6
call fcn.00403ac0
lea ecx, [ebp]
call fcn.00419db3
cmp dword [ebp + 0xf8], 8
mov ecx, dword [ebp + 0xe4]
mov byte [ebp - 4], 7
jae 0x41a496
lea ecx, [ebp + 0xe4]
cmp dword [ebp + 0x88], 8
mov eax, dword [ebp + 0x74]
jae 0x41a4a5
lea eax, [ebp + 0x74]
push ecx
push eax
lea ecx, [ebp]
call fcn.0041a036
push 0x3e8
call edi
lea ecx, [ebp - 0xd]
call sym.setup_JiPinInput.exe_public:_class_DuiLib::CMarkup____thiscall_DuiLib::CDialogBuilder::GetMarkup_void_
push ebx
push str.ThP_OmhV
lea eax, [ebp + 0x304]
push eax
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 8
call fcn.0041aaf5
lea eax, [ebp - 0x1c]
push eax
push str.SoftWare
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
cmp eax, ebx
jne 0x41a555
lea eax, [ebp - 0x14]
push eax
mov esi, 0xf003f
push esi
push ebx
push str.hao123JuziBrowser
push dword [ebp - 0x1c]
mov dword [ebp - 0x14], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
je 0x41a531
push ebx
lea eax, [ebp - 0x14]
push eax
push ebx
push esi
push ebx
push ebx
push ebx
push 0x4c5490
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x41a550
push 4
lea eax, [ebp - 0x18]
push eax
push 4
push ebx
push str.firstrun
push dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp - 0x14]
call edi
push dword [ebp - 0x1c]
call edi
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 7
call sym.setup_JiPinInput.exe_void___cdecl_DuiLib::DUI__Trace_wchar_t_const__
lea ecx, [ebp]
mov byte [ebp - 4], 6
call fcn.0041bc6b
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x70]
call fcn.00401df0
push ebx
push esi
lea ecx, [ebp + 0xc4]
call fcn.00401df0
push ebx
push esi
lea ecx, [ebp + 0x8c]
call fcn.00401df0
push ebx
push esi
lea ecx, [ebp + 0x38]
call fcn.00401df0
push ebx
push esi
lea ecx, [ebp + 0xe0]
call fcn.00401df0
push ebx
push esi
lea ecx, [ebp + 0xa8]
call fcn.00401df0
push ebx
push esi
lea ecx, [ebp + 0x54]
call fcn.00401df0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x398]
xor ecx, ebp
call fcn.0041d685
add ebp, 0x39c
leave
ret 4