joyce8/EMBER2024-capa huggingface dataset:
Function at 0x49f690
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x23c], ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0xffffffff
jne 0x49f6c7
jmp 0x49f749
push 0x22c
push 0
lea eax, [ebp - 0x230]
push eax
call fcn.00433ca0
add esp, 0xc
mov dword [ebp - 0x230], 0x22c
lea ecx, [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x49f73c
mov eax, dword [ebp - 0x228]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x23c]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::UnInjectProc_wchar_t_const___int_
lea edx, [ebp - 0x230]
push edx
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x238], eax
jmp 0x49f701
mov ecx, dword [ebp - 0x234]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 4

Function at 0x49f760
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b2101
mov eax, dword fs:[0]
push eax
sub esp, 0x244
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x250], ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0xffffffff
jne 0x49f7b1
xor al, al
jmp 0x49f8a8
push 0x22c
push 0
lea eax, [ebp - 0x23c]
push eax
call fcn.00433ca0
add esp, 0xc
mov dword [ebp - 0x23c], 0x22c
lea ecx, [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x244]
push edx
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je 0x49f899
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.004096a0
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x248]
call fcn.00419c50
test eax, eax
jne 0x49f868
mov edx, dword [ebp - 0x234]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x250]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::UnInjectProc_wchar_t_const___int_
mov ecx, dword [ebp - 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x23d], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00409680
mov al, byte [ebp - 0x23d]
jmp 0x49f8a8
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x244]
push eax
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00409680
jmp 0x49f7eb
mov ecx, dword [ebp - 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 8
Function at 0x49f8d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 8], ecx
push 1
mov ecx, dword [ebp - 8]
call sym.Install_adv.exe_public:_void___thiscall_CNsHook::AdjustTokenPrivilegesForNT_bool_
mov eax, dword [ebp + 0xc]
push eax
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x49f904
xor al, al
jmp 0x49f9ba
mov ecx, dword [ebp - 4]
push ecx
mov ecx, dword [ebp - 8]
call sym.Install_adv.exe_public:_int___thiscall_CNsHook::IsWow64ProcessEx_void__
test eax, eax
je 0x49f925
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x49f9ba
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 8]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::GetModuleAddr_wchar_t_const___unsigned_long_int__unsigned_char___
movzx eax, al
test eax, eax
jne 0x49f94b
xor al, al
jmp 0x49f9ba
mov ecx, dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp - 0x14], ecx
lea edx, [ebp - 0x18]
push edx
push 0
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
push 0
push 0
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x49f995
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 8]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::UnInjectProcEx_wchar_t_const___int_
jmp 0x49f9ba
push 0xffffffffffffffff
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov esp, ebp
pop ebp
ret 8
Function at 0x49fb00
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x20], ecx
lea eax, [ebp - 0x18]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x49fb2c
jmp 0x49fba4
mov ecx, 0xc
imul edx, ecx, 0
lea eax, [ebp + edx - 0x10]
push eax
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
jne 0x49fb56
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x49fba4
mov dword [ebp - 0x14], 1
movzx edx, byte [ebp + 8]
test edx, edx
je 0x49fb6e
mov dword [ebp - 0x1c], 2
jmp 0x49fb75
mov dword [ebp - 0x1c], 0
mov eax, 0xc
imul ecx, eax, 0
mov edx, dword [ebp - 0x1c]
mov dword [ebp + ecx - 8], edx
push 0
push 0
push 0
lea eax, [ebp - 0x14]
push eax
push 0
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
mov edx, dword [ebp - 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 4

Function at 0x49fbc0
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov dword [ebp - 4], ecx
push 0x44
push 0
lea eax, [ebp - 0x58]
push eax
call fcn.00433ca0
add esp, 0xc
push 0x10
push 0
lea ecx, [ebp - 0x14]
push ecx
call fcn.00433ca0
add esp, 0xc
mov dword [ebp - 0x58], 0x44
push 0
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x58]
push ecx
push 0
push 0
push 0x4000004
push 0
push 0
push 0
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.00403ed0
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov esp, ebp
pop ebp
ret 8
Function at 0x49fc30
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b213f
mov eax, dword fs:[0]
push eax
sub esp, 0x350
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34c], ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x344], eax
cmp dword [ebp - 0x344], 0xffffffff
jne 0x49fc7f
jmp 0x49fdba
push 0x22c
push 0
lea eax, [ebp - 0x23c]
push eax
call fcn.00433ca0
add esp, 0xc
mov dword [ebp - 0x23c], 0x22c
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x340]
call fcn.00419d60
mov dword [ebp - 0x354], eax
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x358], edx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x358]
call fcn.00418e30
push eax
lea ecx, [ebp - 0x350]
call fcn.004096a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x340]
call fcn.00419d00
lea eax, [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x344]
push ecx
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
mov dword [ebp - 0x348], eax
cmp dword [ebp - 0x348], 0
je 0x49fd9b
mov dword [ebp - 0x35c], 0
lea edx, [ebp - 0x35c]
push edx
mov eax, dword [ebp - 0x234]
push eax
lea ecx, [ebp - 0x350]
call sym.Install_adv.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
mov ecx, dword [ebp - 0x34c]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::GetModuleAddr_wchar_t_const___unsigned_long_int__unsigned_char___
movzx ecx, al
test ecx, ecx
je 0x49fd66
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x344]
push eax
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x348], eax
jmp 0x49fd07
mov ecx, dword [ebp - 0x234]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x34c]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::InjectProc_char_const___int_
lea eax, [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x344]
push ecx
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x348], eax
jmp 0x49fd07
mov edx, dword [ebp - 0x344]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x350]
call fcn.00409680
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 4
Function at 0x49fde0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b2172
mov eax, dword fs:[0]
push eax
sub esp, 0x244
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x250], ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0xffffffff
jne 0x49fe31
xor al, al
jmp 0x49ff28
push 0x22c
push 0
lea eax, [ebp - 0x23c]
push eax
call fcn.00433ca0
add esp, 0xc
mov dword [ebp - 0x23c], 0x22c
lea ecx, [ebp - 0x23c]
push ecx
mov edx, dword [ebp - 0x244]
push edx
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0
je 0x49ff19
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x248]
call fcn.004096a0
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x248]
call fcn.00419c50
test eax, eax
jne 0x49fee8
mov edx, dword [ebp - 0x234]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x250]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::InjectProc_char_const___int_
mov ecx, dword [ebp - 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x23d], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00409680
mov al, byte [ebp - 0x23d]
jmp 0x49ff28
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x244]
push eax
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00409680
jmp 0x49fe6b
mov ecx, dword [ebp - 0x244]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 8
Function at 0x49ff50
Capabilities:
Create thread
Inject dll
Inject thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov dword [ebp - 0xc], ecx
push 1
mov ecx, dword [ebp - 0xc]
call sym.Install_adv.exe_public:_void___thiscall_CNsHook::AdjustTokenPrivilegesForNT_bool_
mov eax, dword [ebp + 0xc]
push eax
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x49ff84
xor al, al
jmp 0x4a00a4
mov ecx, dword [ebp - 4]
push ecx
mov ecx, dword [ebp - 0xc]
call sym.Install_adv.exe_public:_int___thiscall_CNsHook::IsWow64ProcessEx_void__
test eax, eax
je 0x49ffa5
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
jmp 0x4a00a4
push 0x4d0924
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x14], eax
push str.LoadLibraryA
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x18], eax
push 4
push 0x3000
push 0x200
push 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 8], eax
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.0043d010
add esp, 4
add eax, 1
push eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 0
push 0
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x18]
push ecx
push 0
push 0
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4a005b
push 0x4000
push 0x200
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xc]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::InjectProcEx_char_const___int_
jmp 0x4a00a4
push 0x1f4
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x102
je 0x4a008e
push 0x4000
push 0x200
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov esp, ebp
pop ebp
ret 8
Function at 0x4a0370
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x244
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x240], ecx
push 0
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0xffffffff
jne 0x4a03a7
jmp 0x4a0504
push 0x22c
push 0
lea eax, [ebp - 0x230]
push eax
call fcn.00433ca0
add esp, 0xc
mov dword [ebp - 0x230], 0x22c
push 1
mov ecx, dword [ebp - 0x240]
call sym.Install_adv.exe_public:_void___thiscall_CNsHook::AdjustTokenPrivilegesForNT_bool_
lea ecx, [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
je 0x4a04f7
mov eax, dword [ebp - 0x228]
push eax
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0
jne 0x4a043a
lea ecx, [ebp - 0x230]
push ecx
mov edx, dword [ebp - 0x234]
push edx
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x238], eax
jmp 0x4a03ee
mov eax, dword [ebp - 0x23c]
push eax
mov ecx, dword [ebp - 0x240]
call sym.Install_adv.exe_public:_int___thiscall_CNsHook::IsWow64ProcessEx_void__
test eax, eax
je 0x4a047c
mov ecx, dword [ebp - 0x23c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0x230]
push edx
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x238], eax
jmp 0x4a03ee
mov dword [ebp - 0x244], 0
lea ecx, [ebp - 0x244]
push ecx
mov edx, dword [ebp - 0x228]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x240]
call sym.Install_adv.exe_public:_bool___thiscall_CNsHook::GetModuleAddr_wchar_t_const___unsigned_long_int__unsigned_char___
movzx ecx, al
test ecx, ecx
jne 0x4a04c9
lea edx, [ebp - 0x230]
push edx
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x238], eax
jmp 0x4a03ee
push 0
mov ecx, dword [ebp - 0x23c]
push ecx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
lea edx, [ebp - 0x230]
push edx
mov eax, dword [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_Process32NextW]
mov dword [ebp - 0x238], eax
jmp 0x4a03ee
mov ecx, dword [ebp - 0x234]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 4
Function at 0x4a1490
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x121c
call fcn.0047ad70
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x121c], ecx
mov eax, dword [ebp + 8]
push eax
call sym.Install_adv.exe_long_long___int64____cdecl_FileSize_wchar_t_const__
add esp, 4
mov dword [ebp - 0x1218], eax
cmp dword [ebp - 0x1218], 0x480
jge 0x4a14d2
xor al, al
jmp 0x4a167c
push 0x4d0c10
mov ecx, dword [ebp + 8]
push ecx
call fcn.0043ce99
add esp, 8
mov dword [ebp - 0x1214], eax
cmp dword [ebp - 0x1214], 0
jne 0x4a14f9
xor al, al
jmp 0x4a167c
mov byte [ebp - 0x1209], 0
push 0
push 0x480
mov edx, dword [ebp - 0x1214]
push edx
call fcn.0043fa80
add esp, 0xc
mov dword [ebp - 0x1210], 0x200
mov eax, dword [ebp - 0x1210]
push eax
push 0
lea ecx, [ebp - 0x204]
push ecx
call fcn.00433ca0
add esp, 0xc
lea edx, [ebp - 0x204]
push edx
call sym.Install_adv.exe_public:_static_bool___cdecl_CNsSysInfo::GetCPUID_wchar_t__
add esp, 4
mov eax, dword [ebp - 0x1210]
push eax
push 0
lea ecx, [ebp - 0x404]
push ecx
call fcn.00433ca0
add esp, 0xc
lea edx, [ebp - 0x404]
push edx
call sym.Install_adv.exe_public:_static_bool___cdecl_CNsSysInfo::GetHostname_wchar_t__
add esp, 4
mov eax, dword [ebp - 0x1210]
push eax
push 0
lea ecx, [ebp - 0x604]
push ecx
call fcn.00433ca0
add esp, 0xc
lea edx, [ebp - 0x604]
push edx
call sym.Install_adv.exe_public:_static_bool___cdecl_CNsSysInfo::GetMac_wchar_t__
add esp, 4
mov dword [ebp - 0x1210], 0xc00
mov eax, dword [ebp - 0x1210]
add eax, 1
push eax
push 0
lea ecx, [ebp - 0x1208]
push ecx
call fcn.00433ca0
add esp, 0xc
push 0x200
lea edx, [ebp - 0x204]
push edx
lea eax, [ebp - 0x1208]
push eax
call fcn.00434120
add esp, 0xc
push 0x200
lea ecx, [ebp - 0x404]
push ecx
lea edx, [ebp - 0x1008]
push edx
call fcn.00434120
add esp, 0xc
push 0x200
lea eax, [ebp - 0x604]
push eax
lea ecx, [ebp - 0xe08]
push ecx
call fcn.00434120
add esp, 0xc
push 1
push 0x600
lea edx, [ebp - 0x1208]
push edx
mov eax, dword [ebp - 0x121c]
add eax, 0xc
push eax
call sym.Install_adv.exe_void___cdecl_NsEncode_char_const__const__char___int__int_
add esp, 0x10
lea ecx, [ebp - 0x1208]
push ecx
call fcn.0043d010
add esp, 4
cmp eax, 0xc00
jne 0x4a1667
mov edx, dword [ebp - 0x1214]
push edx
mov eax, dword [ebp - 0x1210]
push eax
push 1
lea ecx, [ebp - 0x1208]
push ecx
call fcn.0043ccbf
add esp, 0x10
mov byte [ebp - 0x1209], 1
mov edx, dword [ebp - 0x1214]
push edx
call fcn.0043cf8f
add esp, 4
mov al, byte [ebp - 0x1209]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 4
Function at 0x4a3b40
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b258f
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x4ec00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xa8]
add eax, 0x18
push eax
lea ecx, [ebp - 0xb8]
call fcn.004a8200
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0xa8]
call sym.Install_adv.exe_private:_bool___thiscall_CNsLog::isLog_void_
movzx ecx, al
test ecx, ecx
jne 0x4a3bc6
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb8]
call fcn.004a8230
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004195f0
jmp 0x4a3d41
mov ecx, dword [ebp - 0xa8]
add ecx, 0x10
call fcn.00412880
movzx edx, al
test edx, edx
je 0x4a3be6
mov ecx, dword [ebp - 0xa8]
call sym.Install_adv.exe_private:_bool___thiscall_CNsLog::GetDefLogPath_void_
push 0x4d0d10
mov ecx, dword [ebp - 0xa8]
add ecx, 0x10
call sym.Install_adv.exe_public:_char_const____thiscall_Json::StaticString::operator_char_const__void_const
push eax
call fcn.0043ce99
add esp, 8
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x4a3d23
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0xfde9
mov ecx, dword [ebp + 0x24]
push ecx
lea ecx, [ebp - 0xa4]
call fcn.00425d90
mov dword [ebp - 0xbc], eax
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xc0], edx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xc0]
call fcn.00418e30
push eax
lea ecx, [ebp - 0xb4]
call fcn.004199f0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xa4]
call fcn.00419d00
lea ecx, [ebp - 0xac]
call fcn.00425b00
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0xb4]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
lea ecx, [ebp + 8]
call fcn.00419530
push eax
movzx edx, word [ebp - 0x14]
push edx
movzx eax, word [ebp - 0x16]
push eax
movzx ecx, word [ebp - 0x18]
push ecx
movzx edx, word [ebp - 0x1a]
push edx
movzx eax, word [ebp - 0x1e]
push eax
movzx ecx, word [ebp - 0x20]
push ecx
push 0x4d0d24
lea edx, [ebp - 0xac]
push edx
call fcn.00425b20
add esp, 0x2c
mov eax, dword [ebp - 0xb0]
push eax
lea ecx, [ebp - 0xac]
call fcn.00418e30
push eax
call fcn.0043d010
add esp, 4
push eax
push 1
lea ecx, [ebp - 0xac]
call fcn.00418e30
push eax
call fcn.0043ccbf
add esp, 0x10
mov ecx, dword [ebp - 0xb0]
push ecx
call fcn.0043cf8f
add esp, 4
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xac]
call fcn.004199d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb4]
call fcn.004199d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xb8]
call fcn.004a8230
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004195f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042f10e
mov esp, ebp
pop ebp
ret 0x20