Function at 0x10036f43
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, 0x318
lea ebp, [esp - 4]
mov eax, dword [0x10139d20]
xor eax, ebp
mov dword [ebp + 0x318], eax
push 0x24
mov eax, 0x100ea706
call fcn.100773f7
mov eax, dword [ebp + 0x328]
mov esi, dword [ebp + 0x324]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x32c]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x2c], eax
call fcn.1001ad52
mov edx, eax
push 9
pop ecx
xor eax, eax
xor ebx, ebx
mov word [ebp + 0x2e8], bx
lea edi, [ebp + 0x2ea]
rep stosd dword es:[edi], eax
push edx
stosw word es:[edi], ax
lea eax, [ebp + 0x2e8]
push 0x100f2494
push eax
call fcn.100054f5
add esp, 0xc
push esi
lea ecx, [ebp + 0x8c]
call fcn.10001df0
push str.icon.ico
lea ecx, [ebp + 0x8c]
mov dword [ebp - 4], ebx
call fcn.10003cf0
push esi
lea ecx, [ebp + 0xc4]
call fcn.10001df0
push str.User_DataDefault_
lea ecx, [ebp + 0xc4]
mov byte [ebp - 4], 1
call fcn.10003cf0
lea eax, [ebp + 0x2e8]
push eax
lea ecx, [ebp + 0xc4]
call fcn.10003cf0
push str..ico
lea ecx, [ebp + 0xc4]
call fcn.10003cf0
cmp dword [ebp + 0xa4], 8
mov eax, dword [ebp + 0x90]
jae 0x1003702c
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 0x100370cc
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
lea eax, [esi + 0xa]
push eax
call fcn.10054d7d
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.1001962f
mov ecx, eax
xor eax, eax
mov byte [ebp + 0x310], bl
lea edi, [ebp + 0x311]
stosd dword es:[edi], eax
stosw word es:[edi], ax
push ecx
stosb byte es:[edi], al
lea eax, [ebp + 0x310]
push 0x100f4d14
push eax
call fcn.1007a5e2
push 8
lea eax, [ebp + 0x310]
push eax
mov eax, dword [ebp - 0x14]
add eax, esi
push eax
call fcn.1007a170
add esp, 0x20
add esi, 8
cmp dword [ebp + 0xdc], 8
mov eax, dword [ebp + 0xc8]
jae 0x100370e1
lea eax, [ebp + 0xc8]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
cmp dword [ebp - 0x14], ebx
je 0x1003713f
cmp dword [ebp + 0xdc], 8
mov eax, dword [ebp + 0xc8]
jae 0x10037104
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 0x1003713f
push ebx
lea ecx, [ebp - 0x30]
push ecx
push esi
push dword [ebp - 0x14]
mov dword [ebp - 0x30], 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 0x10037154
lea eax, [ebp + 0x90]
push eax
call edi
push dword [ebp - 0x20]
lea ecx, [ebp + 0x38]
call fcn.10001df0
mov esi, str.hao123Juzi.exe
push esi
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 2
call fcn.10003cf0
mov edi, 0x100f57cc
push edi
lea ecx, [ebp + 0x70]
call fcn.10001df0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x38]
push eax
lea ecx, [ebp + 0x70]
mov byte [ebp - 4], 3
call fcn.10004260
push 0x100f5858
lea ecx, [ebp + 0x70]
call fcn.10003cf0
push str.__class13
lea ecx, [ebp + 0xa8]
call fcn.10001df0
push str.___type4
lea ecx, [ebp + 0xa8]
mov byte [ebp - 4], 4
call fcn.10003cf0
push str.___procid
lea ecx, [ebp + 0xa8]
call fcn.10003cf0
push dword [ebp - 0x24]
lea ecx, [ebp + 0xa8]
call fcn.10003cf0
push str.___param_hao123
lea ecx, [ebp + 0xa8]
call fcn.10003cf0
push str.___ico_
lea ecx, [ebp + 0xa8]
call fcn.10003cf0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xc4]
push eax
lea ecx, [ebp + 0xa8]
call fcn.10004260
push edi
lea ecx, [ebp + 0xa8]
call fcn.10003cf0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xa8]
push eax
lea ecx, [ebp + 0x70]
call fcn.10004260
cmp dword [ebp + 0x88], 8
mov eax, dword [ebp + 0x74]
jae 0x10037246
lea eax, [ebp + 0x74]
push eax
call fcn.1001a8a5
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.10077be0
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.100780b1
pop ecx
pop ecx
push dword [ebp - 0x20]
lea ecx, [ebp + 0x54]
call fcn.10001df0
push esi
lea ecx, [ebp + 0x54]
mov byte [ebp - 4], 5
call fcn.10003cf0
lea ecx, [ebp]
call fcn.10036c96
cmp dword [ebp + 0xdc], 8
mov ecx, dword [ebp + 0xc8]
mov byte [ebp - 4], 6
jae 0x100372d4
lea ecx, [ebp + 0xc8]
cmp dword [ebp + 0x6c], 8
mov eax, dword [ebp + 0x58]
jae 0x100372e0
lea eax, [ebp + 0x58]
push ecx
push eax
lea ecx, [ebp]
call fcn.10036f19
mov esi, 0x3e8
push esi
call edi
lea ecx, [ebp - 0xd]
call fcn.100507bc
push ebx
push str.hao123
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 7
call fcn.10037a4c
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 0x10037390
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 0x1003736c
push ebx
lea eax, [ebp - 0x14]
push eax
push ebx
push esi
push ebx
push ebx
push ebx
push 0x100fafb8
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x1003738b
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.Plugin.dll_CleanUpPluginSystemManager
lea ecx, [ebp]
mov byte [ebp - 4], 5
call fcn.10042d72
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x54]
call fcn.10001fc0
push ebx
push esi
lea ecx, [ebp + 0xa8]
call fcn.10001fc0
push ebx
push esi
lea ecx, [ebp + 0x70]
call fcn.10001fc0
push ebx
push esi
lea ecx, [ebp + 0x38]
call fcn.10001fc0
push ebx
push esi
lea ecx, [ebp + 0xc4]
call fcn.10001fc0
push ebx
push esi
lea ecx, [ebp + 0x8c]
call fcn.10001fc0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x318]
xor ecx, ebp
call fcn.100773e8
add ebp, 0x31c
leave
ret 0xc