joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4374f0
Capabilities:
Get installed programs
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x954
mov eax, dword [0x453080]
xor eax, ebp
mov dword [ebp - 0xc], eax
push esi
push edi
mov ecx, 0x1a
mov esi, 0x448240
lea edi, [ebp - 0x930]
rep movsd dword es:[edi], dword [esi]
push 0x196
push 0
lea eax, [ebp - 0x8c8]
push eax
call fcn.00416990
add esp, 0xc
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x72c], 0x12c
mov dword [ebp - 8], 7
mov dword [ebp - 4], 0xf003f
cmp dword [ebp + 0x10], 0
je 0x437563
mov ecx, dword [ebp - 4]
or ecx, 0x100
mov dword [ebp - 4], ecx
jmp 0x437578
call sym.Install_rocket.exe_int___cdecl_isWow64_void_
test eax, eax
je 0x437578
mov edx, dword [ebp - 4]
or edx, 0x200
mov dword [ebp - 4], edx
lea eax, [ebp - 0x4cc]
push eax
mov ecx, dword [ebp - 4]
push ecx
push 0
lea edx, [ebp - 0x930]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x437735
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x72c]
push ecx
lea edx, [ebp - 0x4c8]
push edx
mov eax, dword [ebp - 0x26c]
push eax
mov ecx, dword [ebp - 0x4cc]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x437728
mov edx, dword [ebp - 0x26c]
add edx, 1
mov dword [ebp - 0x26c], edx
lea eax, [ebp - 0x4c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x437703
lea ecx, [ebp - 0x930]
push ecx
lea edx, [ebp - 0x268]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x4482a8
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x4c8]
push ecx
lea edx, [ebp - 0x268]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x4d0]
push eax
mov ecx, dword [ebp - 4]
push ecx
push 0
lea edx, [ebp - 0x268]
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x437703
mov dword [ebp - 0x72c], 0x12c
push 0x258
push 0
lea ecx, [ebp - 0x728]
push ecx
call fcn.00416990
add esp, 0xc
lea edx, [ebp - 0x72c]
push edx
lea eax, [ebp - 0x728]
push eax
lea ecx, [ebp - 8]
push ecx
push 0
push 0x4482ac
mov edx, dword [ebp - 0x4d0]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov eax, dword [ebp - 0x4d0]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x934]
push ecx
lea ecx, [ebp - 0x728]
call fcn.00405c20
push 0
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x934]
call fcn.0040ea10
test eax, eax
jne 0x4376f8
mov eax, dword [ebp - 0x4cc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x938], 1
lea eax, [ebp - 0x934]
call fcn.00405cd0
mov eax, dword [ebp - 0x938]
jmp 0x437737
lea eax, [ebp - 0x934]
call fcn.00405cd0
mov dword [ebp - 0x72c], 0x12c
push 0x258
push 0
lea ecx, [ebp - 0x4c8]
push ecx
call fcn.00416990
add esp, 0xc
jmp 0x43759e
mov edx, dword [ebp - 0x4cc]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00415d4a
mov esp, ebp
pop ebp
ret
Function at 0x437cd0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441905
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x453080]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.004223d6
add esp, 4
lea esi, [ebp - 0x10]
call fcn.00405be0
mov dword [ebp - 4], 0
call fcn.004223e8
push eax
call fcn.004223e8
push eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
push str.NS_08d_05d_05d
lea edi, [ebp - 0x10]
call fcn.004063f0
add esp, 0x10
cmp dword [ebp + 0xc], 0
je 0x437e33
push 0
lea ecx, [ebp - 0x1c]
call fcn.00411ad0
mov byte [ebp - 4], 1
push 0xf003f
push 0x447efc
push SysReAllocString
lea ecx, [ebp - 0x1c]
call fcn.00413b20
test eax, eax
jne 0x437de8
mov dword [ebp - 0x20], 0x1e
xor eax, eax
mov word [ebp - 0x8c], ax
push 0x62
push 0
lea ecx, [ebp - 0x8a]
push ecx
call fcn.00416990
add esp, 0xc
lea edx, [ebp - 0x20]
push edx
lea eax, [ebp - 0x8c]
push eax
push 0x447f20
lea ecx, [ebp - 0x1c]
call fcn.004139c0
lea ecx, [ebp - 0x8c]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, 0x14
je 0x437dd8
push 1
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
push 0x447f28
lea ecx, [ebp - 0x1c]
call fcn.00411880
jmp 0x437de6
lea edx, [ebp - 0x8c]
lea edi, [ebp - 0x10]
call fcn.00405d60
jmp 0x437e1f
push 0
push 0
push 0x2001f
push 0
push 0
push str.SOFTWARENewsoft
push SysReAllocString
lea ecx, [ebp - 0x1c]
call fcn.004119a0
push 1
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
push 0x447f54
lea ecx, [ebp - 0x1c]
call fcn.00411880
lea ecx, [ebp - 0x1c]
call fcn.00411a60
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1c]
call fcn.00411ab0
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
call fcn.00405cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.00415d4a
mov esp, ebp
pop ebp
ret
Function at 0x4381e0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441e88
mov eax, dword fs:[0]
push eax
sub esp, 0x64
push esi
push edi
mov eax, dword [0x453080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
call fcn.00405c20
mov dword [ebp - 4], 0
push 0x5c
lea ecx, [ebp - 0x14]
call fcn.0040a9f0
push eax
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0040eb90
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], edx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x68]
lea edi, [ebp - 0x14]
call fcn.00405cf0
mov byte [ebp - 4], 0
lea eax, [ebp - 0x20]
call fcn.00405cd0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x438281
mov dword [ebp - 0x24], 1
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x14]
call fcn.00405cd0
mov eax, dword [ebp - 0x24]
jmp 0x438371
mov dword [ebp - 0x18], 0
lea esi, [ebp - 0x10]
call fcn.00405be0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18]
push ecx
push 0x448230
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x14]
call fcn.0040e8b0
mov byte [ebp - 4], 3
push 0x448234
lea eax, [ebp - 0x1c]
push eax
call fcn.0040ec10
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x438340
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x10]
call fcn.0040e5b0
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4382f5
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
call sym.Install_rocket.exe_int___cdecl_CreateFolder_wchar_t_const__
add esp, 4
push 0x448238
lea ecx, [ebp - 0x10]
call fcn.004094e0
lea eax, [ebp - 0x18]
push eax
push 0x44823c
lea ecx, [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x14]
call fcn.0040e8b0
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], edx
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x70]
lea edi, [ebp - 0x1c]
call fcn.00405cf0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x28]
call fcn.00405cd0
jmp 0x4382ad
mov dword [ebp - 0x2c], 1
mov byte [ebp - 4], 2
lea eax, [ebp - 0x1c]
call fcn.00405cd0
mov byte [ebp - 4], 0
lea eax, [ebp - 0x10]
call fcn.00405cd0
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x14]
call fcn.00405cd0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x438440
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x453080]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x21c], ecx
xor eax, eax
mov word [ebp - 0x218], ax
push 0x208
push 0
lea ecx, [ebp - 0x216]
push ecx
call fcn.00416990
add esp, 0xc
lea edx, [ebp - 0x218]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
movzx ecx, word [ebp + eax*2 - 0x21a]
cmp ecx, 0x5c
jne 0x4384b8
push str.nslicense.txt
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
jmp 0x4384ca
push str._nslicense.txt
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x218]
push ecx
push 0x448ab0
push 0x1f55
call sym.Install_rocket.exe_int___cdecl_NsResSave_int__wchar_t_const___wchar_t_const__
add esp, 0xc
push 5
push 0
lea edx, [ebp - 0x218]
push edx
push str.notepad.exe
call sym.Install_rocket.exe_int___cdecl_DoRun_wchar_t_const___wchar_t_const___int__int_
add esp, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00415d4a
mov esp, ebp
pop ebp
ret

Function at 0x438560
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
jmp 0x43857b
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
cmp edx, dword [ecx + 0x190]
jge 0x4385c1
push 8
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.00416990
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push ecx
push 1
push 8
lea edx, [ebp - 0xc]
push edx
call fcn.00421da4
add esp, 0x10
push 1
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00421e4b
add esp, 0xc
jmp 0x438572
mov esp, ebp
pop ebp
ret 8
Function at 0x4387a0
Capabilities:
Get common file path
Get program files directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4419a6
mov eax, dword fs:[0]
push eax
sub esp, 0x238
mov eax, dword [0x453080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x244], ecx
xor eax, eax
mov word [ebp - 0x224], ax
push 0x208
push 0
lea ecx, [ebp - 0x222]
push ecx
call fcn.00416990
add esp, 0xc
push 0
push 0x26
lea edx, [ebp - 0x224]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x224]
push eax
push str.prog
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
lea ecx, [ebp - 0x224]
push ecx
call sym.Install_rocket.exe_int___cdecl_GetDesktopPath_wchar_t__
add esp, 4
lea edx, [ebp - 0x224]
push edx
push str.desktop
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
lea eax, [ebp - 0x224]
push eax
call sym.Install_rocket.exe_int___cdecl_GetProgramsPath_wchar_t__
add esp, 4
push 0x4489cc
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov edx, dword [ebp - 0x244]
add edx, 0x6e8
push edx
lea eax, [ebp - 0x224]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x224]
push ecx
push 0x4489d0
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
mov eax, dword [ebp - 0x244]
add eax, 0xb08
call fcn.00405e60
push eax
push str.myapp
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
call sym.Install_rocket.exe_int___cdecl_isWow64_void_
test eax, eax
je 0x43896e
push 0x104
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
lea eax, [ebp - 0x224]
push eax
push 0x4489f8
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
push 0x104
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea edx, [ebp - 0x224]
push edx
push 0x448a04
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
push 0
push 0x26
lea eax, [ebp - 0x224]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea ecx, [ebp - 0x228]
push ecx
lea ecx, [ebp - 0x224]
call fcn.00405c20
mov dword [ebp - 4], 0
push 0x448a14
push str.__x86_
lea ecx, [ebp - 0x228]
call fcn.0040e5d0
lea eax, [ebp - 0x228]
call fcn.00405e60
push eax
push 0x448a28
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x228]
call fcn.00405cd0
jmp 0x4389cf
push 0x104
lea edx, [ebp - 0x224]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x224]
push eax
push str.sys
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
lea ecx, [ebp - 0x224]
push ecx
push str.sys64
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
push 0
push 0x26
lea edx, [ebp - 0x224]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x224]
push eax
push str.prog64
mov ecx, dword [ebp + 8]
call fcn.0040e5d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00415d4a
mov esp, ebp
pop ebp
ret 4
Function at 0x439350
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441ac8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
push edi
mov eax, dword [0x453080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0xadc], 0
je 0x4393f2
lea esi, [ebp - 0x10]
call fcn.00405be0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x20]
add ecx, 0x4f4
push ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0xb08]
push eax
push 0x4486b8
lea edi, [ebp - 0x10]
call fcn.004063f0
add esp, 0xc
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4393e3
push 5
push 0
push 0
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
call sym.Install_rocket.exe_int___cdecl_DoRun_wchar_t_const___wchar_t_const___int__int_
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
call fcn.00405cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x439410
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x441af3
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push esi
push edi
mov eax, dword [0x453080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
add eax, 0xa08
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jne 0x439452
jmp 0x4394ed
lea esi, [ebp - 0x10]
call fcn.00405be0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x30]
add ecx, 0xa08
push ecx
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 0xb08]
push eax
push 0x448684
lea edi, [ebp - 0x10]
call fcn.004063f0
add esp, 0xc
lea eax, [ebp - 0x10]
call fcn.00405e60
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4394de
lea esi, [ebp - 0x14]
call fcn.00405be0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x10]
push ecx
push str._s___s_
lea edi, [ebp - 0x14]
call fcn.004063f0
add esp, 8
push 0
push 0
lea eax, [ebp - 0x14]
call fcn.00405e60
push eax
push str.regedit.exe
call sym.Install_rocket.exe_int___cdecl_DoRun_wchar_t_const___wchar_t_const___int__int_
add esp, 0x10
mov byte [ebp - 4], 0
lea eax, [ebp - 0x14]
call fcn.00405cd0
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x10]
call fcn.00405cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x439500
Capabilities:
Get common file path
Get program files directory
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x66c
mov eax, dword [0x453080]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x66c], ecx
xor eax, eax
mov word [ebp - 0x210], ax
push 0x206
push 0
lea ecx, [ebp - 0x20e]
push ecx
call fcn.00416990
add esp, 0xc
push 0x104
lea edx, [ebp - 0x210]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x448558
lea eax, [ebp - 0x210]
push eax
call fcn.004219de
add esp, 8
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
jne 0x439577
xor al, al
jmp 0x43974b
lea ecx, [ebp - 0x218]
push ecx
push 0x448560
push 0x1f41
call sym.Install_rocket.exe_int___cdecl_NsResGetBuff_int__wchar_t_const___void__
add esp, 0xc
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
jne 0x439602
push 0xac8
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00416990
add esp, 0xc
xor eax, eax
mov word [ebp - 0x428], ax
push 0x206
push 0
lea ecx, [ebp - 0x426]
push ecx
call fcn.00416990
add esp, 0xc
push 0
push 0x26
lea edx, [ebp - 0x428]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov edi, dword [ebp - 0x66c]
add edi, 0xb08
lea edx, [ebp - 0x428]
call fcn.00405d60
xor al, al
jmp 0x43974b
push 0
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x214]
push ecx
call fcn.00421e4b
add esp, 0xc
push 0xac8
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00416990
add esp, 0xc
mov eax, dword [ebp - 0x214]
push eax
push 1
push 0xac8
mov ecx, dword [ebp + 8]
push ecx
call fcn.00421da4
add esp, 0x10
mov edx, dword [ebp - 0x214]
push edx
call fcn.0041f2cf
add esp, 4
mov eax, dword [ebp + 8]
add eax, 0x85c
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
jle 0x4396f3
mov edx, dword [ebp + 8]
add edx, 0x85c
mov edi, dword [ebp - 0x66c]
add edi, 0xb08
call fcn.00405d60
mov eax, dword [ebp - 0x66c]
add eax, 0xb08
call fcn.00405df0
sub eax, 1
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x42c]
push ecx
mov ecx, dword [ebp - 0x66c]
add ecx, 0xb08
call fcn.0040ec30
movzx edx, ax
cmp edx, 0x5c
jne 0x4396d9
movzx eax, word [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0x66c]
add ecx, 0xb08
call fcn.0040e7b0
mov ecx, dword [ebp - 0x66c]
add ecx, 0xb08
push ecx
mov ecx, dword [ebp - 0x66c]
call sym.Install_rocket.exe_private:_void___thiscall_CNsInstaller::ReplaceSysPath_class_ATL::CStringT_wchar_t__class_ATL::StrTraitATL_wchar_t__class_ATL::ChTraitsCRT_wchar_t_____
jmp 0x439749
xor edx, edx
mov word [ebp - 0x638], dx
push 0x206
push 0
lea eax, [ebp - 0x636]
push eax
call fcn.00416990
add esp, 0xc
push 0
push 0x26
lea ecx, [ebp - 0x638]
push ecx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x638]
push eax
push 0x448568
mov edi, dword [ebp - 0x66c]
add edi, 0xb08
call fcn.004063f0
add esp, 0xc
mov al, 1
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00415d4a
mov esp, ebp
pop ebp
ret 4
Function at 0x43a6e0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44209e
mov eax, dword fs:[0]
push eax
sub esp, 0x23c
mov eax, dword [0x453080]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x248], ecx
mov dword [ebp - 0x22c], 0
lea eax, [ebp - 0x22c]
push eax
push 0x448ad0
push 0x1f56
call sym.Install_rocket.exe_int___cdecl_NsResGetBuff_int__wchar_t_const___void__
add esp, 0xc
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x43a758
cmp dword [ebp - 0x22c], 0
je 0x43a758
mov byte [sym.Install_rocket.exe_bool_CNsInstaller::m_bUpdated], 1
jmp 0x43a815
mov byte [sym.Install_rocket.exe_bool_CNsInstaller::m_bUpdated], 0
lea ecx, [ebp - 0x230]
push ecx
mov ecx, str.http:__www.hofosoft.com_hofosoft_update_install_data.zip
call fcn.00405c20
mov dword [ebp - 4], 0
xor edx, edx
mov word [ebp - 0x224], dx
push 0x208
push 0
lea eax, [ebp - 0x222]
push eax
call fcn.00416990
add esp, 0xc
lea ecx, [ebp - 0x224]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea edx, [ebp - 0x224]
push edx
call sym.Install_rocket.exe_public:_static_class_CNsUpdate____cdecl_CNsUpdate::Instance_void_
mov ecx, eax
call sym.Install_rocket.exe_public:_void___thiscall_CNsUpdate::SetPath_wchar_t_const__
movzx eax, byte [ebp + 8]
test eax, eax
je 0x43a7e4
push 0
push sym.Install_rocket.exe_private:_static_void___stdcall_CNsInstaller::UpdateNotify_int__int__int_
lea eax, [ebp - 0x230]
call fcn.00405e60
push eax
call sym.Install_rocket.exe_public:_static_class_CNsUpdate____cdecl_CNsUpdate::Instance_void_
mov ecx, eax
call sym.Install_rocket.exe_public:_void___thiscall_CNsUpdate::StartUpdate_wchar_t_const___void____stdcall___int__int__int___void____stdcall___int__wchar_t_const___long_long___int64___long_long___int64___double__
jmp 0x43a803
push 0
push sym.Install_rocket.exe_private:_static_void___stdcall_CNsInstaller::UpdateNotify_int__int__int_
lea eax, [ebp - 0x230]
call fcn.00405e60
push eax
call sym.Install_rocket.exe_public:_static_class_CNsUpdate____cdecl_CNsUpdate::Instance_void_
mov ecx, eax
call sym.Install_rocket.exe_public:_int___thiscall_CNsUpdate::CheckUpdate_wchar_t_const___void____stdcall___int__int__int___void____stdcall___int__wchar_t_const___long_long___int64___long_long___int64___double__
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x230]
call fcn.00405cd0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00415d4a
mov esp, ebp
pop ebp
ret 4

Function at 0x43a950
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0x102
jne 0x43a97f
push 0
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esp, ebp
pop ebp
ret 8
Function at 0x43a990
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 8], ecx
push 0
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0
call fcn.00421684
add esp, 0x18
mov dword [ebp - 4], eax
cmp dword [ebp + 0x10], 0
je 0x43a9ce
cmp dword [ebp - 4], 0
je 0x43a9ce
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x43a9d1
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret 0xc

Function at 0x43ac10
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], 0
lea edx, [ebp - 0x1c]
push edx
mov ecx, dword [ebp - 0x28]
call sym.Install_rocket.exe_private:_struct_tagNsTimer____thiscall_CNsThread::AddTimer_struct_tagNsTimer__
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x43ac55
jmp 0x43ac7a
push 0
push 0
mov eax, dword [ebp - 0x20]
push eax
push sym.Install_rocket.exe_private:_static_unsigned_int___stdcall_CNsThread::TimerThread_void__
push 0
push 0
call fcn.00421684
add esp, 0x18
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov dword [ecx + 0x14], edx
mov esp, ebp
pop ebp
ret 0x10