Function at 0x41d7c8
Capabilities:
Delete file
Get common file path
Get file size
Read file on windows
Set registry value
Write file on windows

Disassembly:
push ebp
sub esp, 0x37c
lea ebp, [esp - 4]
mov eax, dword [0x50cb30]
xor eax, ebp
mov dword [ebp + 0x37c], eax
push 0x1c
mov eax, 0x4c2b86
call fcn.00420e9c
mov esi, dword [ebp + 0x388]
mov edi, dword [ebp + 0x38c]
xor ebx, ebx
push 0x62
lea eax, [ebp + 0x2ea]
push ebx
push eax
mov dword [ebp - 0x20], esi
mov word [ebp + 0x2e8], bx
call fcn.004203a0
lea eax, [ebp + 0x2e8]
push edi
push eax
call fcn.0042052e
call fcn.00416250
mov edx, eax
push 9
pop ecx
xor eax, eax
mov word [ebp + 0x34c], bx
lea edi, [ebp + 0x34e]
rep stosd dword es:[edi], eax
push edx
stosw word es:[edi], ax
lea eax, [ebp + 0x34c]
push 0x4c6c40
push eax
call fcn.00421321
add esp, 0x20
push esi
lea ecx, [ebp + 0x8c]
call fcn.00401c20
push str.icon.ico
lea ecx, [ebp + 0x8c]
mov dword [ebp - 4], ebx
call fcn.00403ac0
push esi
lea ecx, [ebp + 0xc4]
call fcn.00401c20
push str.User_DataDefault_
lea ecx, [ebp + 0xc4]
mov byte [ebp - 4], 1
call fcn.00403ac0
lea eax, [ebp + 0x34c]
push eax
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
push str..ico
lea ecx, [ebp + 0xc4]
call fcn.00403ac0
cmp dword [ebp + 0xa4], 8
mov eax, dword [ebp + 0x90]
jae 0x41d8c8
lea eax, [ebp + 0x90]
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 0x41d968
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea eax, [esi + 0xa]
push eax
call fcn.0041f3a0
pop ecx
push ebx
lea ecx, [ebp - 0x28]
push ecx
push esi
push eax
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x895440
push 0xf4240
call fcn.00415b66
mov ecx, eax
xor eax, eax
mov byte [ebp + 0x374], bl
lea edi, [ebp + 0x375]
stosd dword es:[edi], eax
stosw word es:[edi], ax
push ecx
stosb byte es:[edi], al
lea eax, [ebp + 0x374]
push 0x4c9a38
push eax
call fcn.0042221b
push 8
lea eax, [ebp + 0x374]
push eax
mov eax, dword [ebp - 0x14]
add eax, esi
push eax
call fcn.00420020
add esp, 0x20
add esi, 8
cmp dword [ebp + 0xdc], 8
mov eax, dword [ebp + 0xc8]
jae 0x41d97d
lea eax, [ebp + 0xc8]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
cmp dword [ebp - 0x14], ebx
je 0x41d9db
cmp dword [ebp + 0xdc], 8
mov eax, dword [ebp + 0xc8]
jae 0x41d9a0
lea eax, [ebp + 0xc8]
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 0x41d9db
push ebx
lea ecx, [ebp - 0x24]
push ecx
push esi
push dword [ebp - 0x14]
mov dword [ebp - 0x24], ebx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp + 0xa4], 8
mov eax, dword [ebp + 0x90]
jae 0x41d9f0
lea eax, [ebp + 0x90]
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], 2
call fcn.00403ac0
mov edi, 0x4c7384
push edi
lea ecx, [ebp + 0x70]
call fcn.00401c20
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 3
call fcn.00403f10
push 0x4c7ff8
lea ecx, [ebp + 0x70]
call fcn.00403ac0
push str.__class13
lea ecx, [ebp + 0xa8]
call fcn.00401c20
push str.___type4
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 4
call fcn.00403ac0
push str.___procid
lea ecx, [ebp + 0xa8]
call fcn.00403ac0
lea eax, [ebp + 0x2e8]
push eax
lea ecx, [ebp + 0xa8]
call fcn.00403ac0
push str._u2_hao_
lea ecx, [ebp + 0xa8]
call fcn.00403ac0
push str.___param_hao123
lea ecx, [ebp + 0xa8]
call fcn.00403ac0
push str.___ico_
lea ecx, [ebp + 0xa8]
call fcn.00403ac0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xc4]
push eax
lea ecx, [ebp + 0xa8]
call fcn.00403f10
push edi
lea ecx, [ebp + 0xa8]
call fcn.00403ac0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xa8]
push eax
lea ecx, [ebp + 0x70]
call fcn.00403f10
cmp dword [ebp + 0x88], 8
mov eax, dword [ebp + 0x74]
jae 0x41daf6
lea eax, [ebp + 0x74]
push eax
call fcn.00416305
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp], 0xbb8
call edi
push 0x206
lea eax, [ebp + 0xe2]
push ebx
push eax
mov word [ebp + 0xe0], bx
call fcn.004203a0
add esp, 0xc
push ebx
push 0x1a
lea eax, [ebp + 0xe0]
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp + 0xe0]
push str.MicrosoftInternet_ExplorerQuick_Launchhao123
push eax
call fcn.00420504
pop ecx
pop ecx
push dword [ebp - 0x20]
lea ecx, [ebp + 0x54]
call fcn.00401c20
push esi
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 5
call fcn.00403ac0
lea ecx, [ebp]
call fcn.0041d4ff
cmp dword [ebp + 0xdc], 8
mov ecx, dword [ebp + 0xc8]
mov byte [ebp - 4], 6
jae 0x41db84
lea ecx, [ebp + 0xc8]
cmp dword [ebp + 0x6c], 8
mov eax, dword [ebp + 0x58]
jae 0x41db90
lea eax, [ebp + 0x58]
push ecx
push eax
lea ecx, [ebp]
call fcn.0041d79e
mov esi, 0x3e8
push esi
call edi
lea ecx, [ebp - 0xd]
call sym.setup_DongFangPYInput.exe_public:_class_DuiLib::CMarkup____thiscall_DuiLib::CDialogBuilder::GetMarkup_void_
push ebx
push str.hao123
lea eax, [ebp + 0x2e8]
push eax
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 7
call fcn.0041e279
push esi
call edi
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 0x41dc44
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 0x41dc20
push ebx
lea eax, [ebp - 0x14]
push eax
push ebx
push esi
push ebx
push ebx
push ebx
push 0x4c98c0
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x41dc3f
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], 6
call sym.setup_DongFangPYInput.exe_void___cdecl_DuiLib::DUI__Trace_wchar_t_const__
lea ecx, [ebp]
mov byte [ebp - 4], 5
call fcn.0041d513
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x54]
call fcn.00401e20
push ebx
push esi
lea ecx, [ebp + 0xa8]
call fcn.00401e20
push ebx
push esi
lea ecx, [ebp + 0x70]
call fcn.00401e20
push ebx
push esi
lea ecx, [ebp + 0x38]
call fcn.00401e20
push ebx
push esi
lea ecx, [ebp + 0xc4]
call fcn.00401e20
push ebx
push esi
lea ecx, [ebp + 0x8c]
call fcn.00401e20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x37c]
xor ecx, ebp
call fcn.00420385
add ebp, 0x380
leave
ret 8