joyce8/EMBER2024-capa huggingface dataset:
Function at 0x402f10
Capabilities:
Resolve dns

Disassembly:
push esi
mov esi, dword [esp + 8]
push esi
call dword [sym.imp.WS2_32.dll_inet_addr]
test eax, eax
jge 0x402f34
push esi
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x402f2d
pop esi
ret
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
mov eax, dword [ecx]
pop esi
ret

Function at 0x402fc0
Capabilities:
Get common file path

Disassembly:
sub esp, 0x104
lea eax, [esp]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea ecx, [esp]
push str.Program_FilesInternet_Exploreriexplore.exe
push ecx
mov byte [esp + 0xa], 0
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov eax, dword [esp + 0x108]
lea edx, [esp]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, 1
add esp, 0x104
ret

Function at 0x405400
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
sub esp, 0x10
push esi
push 0
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x40541e
or eax, eax
pop esi
add esp, 0x10
ret
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
push ecx
mov dword [esp + 0xc], eax
mov word [esp + 8], 2
call dword [sym.imp.WS2_32.dll_htons]
lea edx, [esp + 4]
push 0x10
push edx
push esi
mov word [esp + 0x12], ax
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x40545f
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
or eax, 0xffffffff
pop esi
add esp, 0x10
ret
mov eax, esi
pop esi
add esp, 0x10
ret
Function at 0x401110
Capabilities:
Access firewall settings via inetfwmgr

Disassembly:
push esi
push 2
push 0
mov esi, eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jge 0x401128
cmp eax, 0x80010106
jne 0x4011a6
push edi
push esi
push 0x6b5d70
push 1
push 0
push 0x6b5d60
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test edi, edi
jge 0x401157
push edi
push str.CoCreateInstance_NetFwMgr_failed:_0x_08lx_n
call fcn.005b8d40
add esp, 8
mov eax, edi
pop edi
pop esi
ret
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
push ebx
lea edi, [esi + 4]
push edi
push eax
call edx
mov ebx, eax
test ebx, ebx
jge 0x401180
push ebx
push str.get_LocalPolicy_failed:_0x_08lx_n
call fcn.005b8d40
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
ret
mov eax, dword [edi]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x1c]
add esi, 8
push esi
push eax
call edx
mov esi, eax
test esi, esi
jge 0x4011a4
push esi
push str.get_CurrentProfile_failed:_0x_08lx_n
call fcn.005b8d40
mov eax, esi
add esp, 8
pop ebx
pop edi
pop esi
ret

Function at 0x4014a0
Capabilities:
Access firewall policy via inetfwpolicy2

Disassembly:
push esi
push 2
push 0
mov esi, eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
jge 0x4014b8
cmp eax, 0x80010106
jne 0x40150c
push edi
push esi
push 0x6b5db0
push 1
push 0
push 0x6b5da0
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test edi, edi
jge 0x4014e7
push edi
push str.CoCreateInstance_NetFwPolicy2_failed:_0x_08lx_n
call fcn.005b8d40
add esp, 8
mov eax, edi
pop edi
pop esi
ret
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
add esi, 4
push esi
push eax
call edx
mov esi, eax
test esi, esi
jge 0x40150b
push esi
push str.get_Rules_failed:_0x_08lx_n
call fcn.005b8d40
mov eax, esi
add esp, 8
pop edi
pop esi
ret
Function at 0x401590
Capabilities:
Access firewall rule properties via inetfwrule

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0xc]
cmp dword [esi + 4], 0
jne 0x4015a6
mov eax, 0x80004001
pop esi
pop ecx
ret 0xc
push ebx
push ebp
push edi
push 0x82d748
call fcn.00401050
mov edi, eax
mov eax, dword [esp + 0x20]
push eax
call fcn.00401050
mov ecx, dword [esp + 0x28]
push ecx
mov ebp, eax
call fcn.00401050
mov dword [esp + 0x28], eax
add esp, 0xc
lea ebx, [esp + 0x20]
mov eax, esi
mov dword [esp + 0x10], 0
call fcn.00401510
mov esi, eax
test esi, esi
jge 0x401603
push esi
push str.IsAppEnabled_failed:_0x_08lx_n
call fcn.005b8d40
add esp, 8
pop edi
pop ebp
pop ebx
mov eax, esi
pop esi
pop ecx
ret 0xc
cmp dword [esp + 0x20], 0
je 0x401614
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
pop ecx
ret 0xc
lea edx, [esp + 0x10]
push edx
push 0x6b5dd0
push 1
push 0
push 0x6b5dc0
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
test esi, esi
jge 0x40163e
push esi
push str.CoCreateInstance_NetFwRule_failed:_0x_08lx_n
jmp 0x4016cd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
push edi
push eax
call edx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x30]
push ebp
push eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x40]
push 0x100
push eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x98]
push 6
push eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xa8]
push 1
push eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x88]
push 0xffffffffffffffff
push eax
call edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x20]
call eax
mov esi, eax
test esi, esi
jge 0x4016d5
push esi
push str.Firewall_Rule_Add_failed:_0x_08lx_n
call fcn.005b8d40
add esp, 8
push edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
push ebp
call edi
mov ecx, dword [esp + 0x1c]
push ecx
call edi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4016f8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
pop edi
pop ebp
pop ebx
mov eax, esi
pop esi
pop ecx
ret 0xc
Function at 0x401910
Capabilities:
Copy file

Disassembly:
sub esp, 0x614
mov eax, dword [0x6eff0c]
xor eax, esp
mov dword [esp + 0x610], eax
push esi
push edi
push 0x104
lea eax, [esp + 0x118]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x114]
push 0x5c
push ecx
call fcn.005deb30
mov esi, eax
inc esi
add esp, 8
cmp esi, 1
jne 0x40196b
push 0
push 0x14
push str..GenerateUpdaterXML.cpp
push str._DWORD_fname___1
call fcn.005b9050
add esp, 0x10
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x11c]
push ecx
call fcn.005b9a20
add esp, 0xc
test al, al
jne 0x40199e
lea edx, [esp + 0x114]
push edx
push str.failed_to_get_crc_for__s_n
call fcn.005b8f10
add esp, 8
push 0x82cf48
push esi
lea eax, [esp + 0x18]
push str._s__s.exe
push eax
call fcn.00401aa0
add esp, 0x10
push 0
lea ecx, [esp + 0x14]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x4019db
lea edx, [esp + 0x10]
push edx
push esi
push str.unable_to_copy__s___s_n
call fcn.005b8f10
add esp, 0xc
push 0x2f
push 0x82db48
call fcn.005deb30
mov esi, eax
add esp, 8
test esi, esi
jne 0x401a05
push eax
push 0x21
push str..GenerateUpdaterXML.cpp
push str.updater_file
call fcn.005b9050
add esp, 0x10
lea edi, [esi + 1]
push 0x6b5e60
push edi
call fcn.005b9f30
mov esi, eax
push str._p__n
push esi
call fcn.005deb5d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push eax
push 0x82cf48
push ecx
lea edx, [esp + 0x2c]
push edx
push 0x82dd48
push str.__u_url__s_s__crc__u__ver__s__size__u____n
push esi
call fcn.005deb5d
push str.__p__n
push esi
call fcn.005deb5d
push esi
call fcn.005decf0
lea eax, [esp + 0x48]
push eax
push edi
lea ecx, [esp + 0x258]
push str.XML__s_generated_nnew_exe:_s
push ecx
call fcn.00401ac0
add esp, 0x48
push 0
push str.Updater_XML
lea edx, [esp + 0x220]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [esp + 0x618]
pop edi
pop esi
xor ecx, esp
call fcn.005de867
add esp, 0x614
ret

Function at 0x402440
Capabilities:
Get cpu information
Query or enumerate registry value

Disassembly:
sub esp, 8
lea eax, [esp + 4]
push eax
push 0x20019
push 0
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40248c
mov edx, dword [esp + 0xc]
lea ecx, [esp]
push ecx
add edx, 0x88
push edx
push eax
push eax
mov eax, dword [esp + 0x14]
push str.MHz
push eax
mov dword [esp + 0x18], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
add esp, 8
ret 4
Function at 0x402bd0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
lea eax, [esp]
push eax
push 0xf003f
push 0
push str.SoftwareArktos_Entertainment_GroupWarZ
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x402bf8
mov al, 1
add esp, 0x10
ret
mov eax, dword [esp]
push esi
lea ecx, [esp + 8]
push ecx
lea edx, [esp + 0x10]
push edx
push 0
push 0
push str.UpdaterTime1
push eax
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 8
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [esp + 4]
push ecx
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x402c6a
push esi
call fcn.005df055
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add esp, 4
add esi, 0x2a300
adc ecx, 0
cmp edx, ecx
jg 0x402c6a
jl 0x402c63
cmp eax, esi
jae 0x402c6a
xor al, al
pop esi
add esp, 0x10
ret
mov al, 1
pop esi
add esp, 0x10
ret

Function at 0x402de0
Capabilities:
Get common file path

Disassembly:
sub esp, 0xb14
mov eax, dword [0x6eff0c]
xor eax, esp
mov dword [esp + 0xb10], eax
push 0x104
lea eax, [esp + 0x210]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp]
push ecx
lea edx, [esp + 0x10c]
push edx
push 0x104
lea eax, [esp + 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov eax, dword [esp]
test eax, eax
je 0x402e33
mov byte [eax - 1], 0
lea ecx, [esp + 4]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [esp + 4]
push edx
lea eax, [esp + 0x10c]
push eax
call fcn.005e21fc
add esp, 8
test eax, eax
je 0x402e95
lea ecx, [esp + 0x108]
push ecx
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x318]
push str.Updater_current_directory___s__is_different_from_working_directory___s_
push eax
call fcn.00406c80
add esp, 0x10
push 0x30
push 0x6c00c8
lea ecx, [esp + 0x318]
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [esp + 0xb10]
xor ecx, esp
mov al, 1
call fcn.005de867
add esp, 0xb14
ret
Function at 0x402f30
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x134
mov eax, dword [0x6eff0c]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push esi
push edi
push 0
push 0xf
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
lea eax, [esp + 0x10]
push eax
push esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], 0x128
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x402fe8
mov edi, dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, dword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
mov ecx, 0x82d548
lea eax, [esp + 0x34]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402fb0
test dl, dl
je 0x402fac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402fb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x402f90
xor eax, eax
jmp 0x402fb5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402fd5
mov ecx, dword [esp + 0x18]
push ecx
push eax
push 1
call edi
mov esi, eax
test esi, esi
je 0x402fd5
push 9
push esi
call ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, dword [esp + 0xc]
lea edx, [esp + 0x10]
push edx
push esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x402f80
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005de867
mov esp, ebp
pop ebp
ret

Function at 0x403010
Capabilities:
Inspect load icon resource
Terminate process

Disassembly:
call fcn.00402f30
push 0x82d548
call fcn.005df447
mov eax, dword [0x8318cc]
add esp, 4
push 5
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
push str._generate
push 0x8310b0
mov dword [0x8318d4], eax
mov dword [0x6eebfc], 0
call fcn.005df490
add esp, 8
test eax, eax
je 0x40306a
call fcn.00401910
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
ret
call fcn.00402d50
test al, al
jne 0x40305a
call fcn.00402de0
call fcn.00402eb0
test al, al
jne 0x4030a5
push 0x40
push 0x6c0178
push 0x6c0180
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
ret
call fcn.004077e0
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x8d6a10
push 0x6c00b0
push 0x17
push 0
push 0x693b14
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jge 0x4030d9
mov dword [0x8d6a10], 0
push str._cmdLine
push 0x8310b0
call fcn.005df490
add esp, 8
test eax, eax
je 0x4030f6
mov byte [0x8d6a0c], 1
push esi
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call esi
push 0x7f89
push 0
mov dword [0x8d6520], eax
call esi
push 0x209
push 0x8d6aa8
push 0x12f
push 0
mov dword [0x8d651c], eax
call dword [sym.imp.USER32.dll_LoadStringW]
pop esi
ret
Function at 0x403c60
Capabilities:
Hide graphical window
Inspect load icon resource

Disassembly:
push 0xffffffffffffffff
push 0x61243e
mov eax, dword fs:[0]
push eax
sub esp, 0x208
mov eax, dword [0x6eff0c]
xor eax, esp
mov dword [esp + 0x204], eax
push ebx
push esi
push edi
mov eax, dword [0x6eff0c]
xor eax, esp
push eax
lea eax, [esp + 0x218]
mov dword fs:[0], eax
call fcn.004149c0
cmp byte [0x8d6a0c], 0
je 0x403ced
call dword [sym.imp.KERNEL32.dll_AllocConsole]
call fcn.005dfbfb
add eax, 0x20
push eax
push 0x6c015c
push str.CONOUT_
call fcn.005dfbd5
call fcn.005dfbfb
push eax
push 0x6c047c
push str.CONIN_
call fcn.005dfbd5
add esp, 0x18
mov dword [0x831948], 1
jmp 0x403e74
mov eax, 0x8d7588
call fcn.004021c0
mov eax, dword [0x8318cc]
push 5
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov ecx, dword [0x8318d0]
push eax
push 0
push 0x80
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [0x8318d0]
push 0x800000
push 0
push edx
call fcn.005b7e10
mov eax, dword [0x8318d0]
push 0xc00000
push 0
push eax
call fcn.005b7e10
mov ecx, dword [0x8318d0]
add esp, 0x18
push 0x403ad0
push 0xfffffffffffffffc
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
call fcn.005c2ab0
push 0
push 0
push 0
push str.DISPLAY
call dword [sym.imp.GDI32.dll_CreateICA]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov esi, eax
push 8
push esi
call edi
push 0xa
push esi
mov ebx, eax
call edi
mov esi, eax
lea eax, [ebx - 0x311]
cdq
sub eax, edx
mov ecx, eax
push 0
lea eax, [esi - 0x28a]
cdq
push 0x28a
sub eax, edx
mov edx, dword [0x8318d0]
push 0x311
sar eax, 1
push eax
sar ecx, 1
push ecx
push 0
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x102660
call fcn.005bac30
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x220], 0
test eax, eax
je 0x403de0
mov ecx, eax
call fcn.005c0400
jmp 0x403de2
xor eax, eax
mov dword [esp + 0x220], 0xffffffff
mov ecx, dword [0x8318d0]
push 0
push ecx
mov ecx, eax
mov dword [0x831934], eax
call fcn.005bbdb0
call fcn.00403140
push 0x82d148
push 0x82cf48
lea edx, [esp + 0x1c]
push str.Launcher__s___s_
push edx
call fcn.00406ca0
mov ecx, dword [0x8318d0]
add esp, 0x10
lea eax, [esp + 0x14]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
call fcn.004034e0
mov edx, dword [0x8318d0]
push 5
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x5b7ac0
call fcn.005b7600
add esp, 4
push 0
call dword [sym.imp.USER32.dll_ClipCursor]
mov ecx, dword [0x83193c]
call fcn.005c6340
mov ecx, dword [0x831938]
call fcn.005c6580
mov ecx, dword [esp + 0x218]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x204]
xor ecx, esp
call fcn.005de867
add esp, 0x214
ret
Function at 0x4057b0
Capabilities:
Create process on windows

Disassembly:
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x30c30c31
imul ecx
sub esp, 0x30
sar edx, 4
push ebx
mov eax, edx
shr eax, 0x1f
push ebp
xor ebx, ebx
add eax, edx
push edi
je 0x4059df
xor edi, edi
mov dword [esp + 0xc], edi
jmp 0x4057e4
mov edi, dword [esp + 0xc]
cmp edi, 0x1a4
jae 0x4059df
cmp ebx, eax
jb 0x4057f9
call fcn.005dfaec
mov eax, dword [esi + 0xc]
lea eax, [edi + eax + 0x38]
mov ebp, 0x10
cmp dword [eax + 0x18], ebp
jb 0x40580f
mov eax, dword [eax + 4]
jmp 0x405812
add eax, 4
fld dword [esp + 0x44]
mov edx, dword [0x8d6a8c]
push eax
lea ecx, [esp + 0x20]
push ecx
sub esp, 8
fstp dword [esp + 4]
mov dword [esp + 0x2c], 0xfff3b656
fld dword [esp + 0x50]
fadd qword [0x6c2f28]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push edx
call fcn.005c2460
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x30c30c31
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0x14
cmp ebx, eax
jb 0x40586f
call fcn.005dfaec
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [eax + 0x18], ebp
jb 0x40587e
mov ebp, dword [eax + 4]
jmp 0x405881
lea ebp, [eax + 4]
mov edi, dword [0x8d6a8c]
push ebp
call fcn.00403f10
fld dword [esp + 0x44]
fstp dword [esp + 0x2c]
mov dword [esp + 0x24], eax
fld dword [esp + 0x48]
mov dword [esp + 0x28], edx
fstp dword [esp + 0x30]
add esp, 4
fild dword [esp + 0x20]
lea ecx, [esp + 0x28]
mov dword [esp + 0x10], 0xffffffff
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp + 0x30]
fild dword [esp + 0x24]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp + 0x34]
call fcn.00402ce0
test al, al
je 0x405980
fld1
push 0
push 0
lea ecx, [esp + 0x18]
push ecx
sub esp, 0x10
fstp dword [esp + 0xc]
mov dword [esp + 0x2c], 0xffffd800
fld dword [esp + 0x30]
fstp dword [esp + 8]
fld dword [esp + 0x34]
fadd dword [esp + 0x60]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fstp dword [esp + 4]
fld dword [esp + 0x5c]
fstp dword [esp]
call fcn.005c66e0
add esp, 0x1c
cmp dword [0x8d6a9c], 0
je 0x405980
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x30c30c31
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x40594f
call fcn.005dfaec
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0xc]
cmp dword [edx + ecx + 0x34], 0x10
lea eax, [edx + ecx + 0x1c]
jb 0x405966
mov eax, dword [eax + 4]
jmp 0x405969
add eax, 4
push 5
push 0
push 0x6c0472
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
fld dword [esp + 0x44]
mov ecx, dword [0x8d6a8c]
push ebp
push 0x6b6204
lea eax, [esp + 0x18]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x54]
fstp dword [esp]
push ecx
call fcn.005c2460
fld dword [esp + 0x5c]
mov ecx, dword [esi + 0x10]
fadd qword [0x6c2f20]
sub ecx, dword [esi + 0xc]
add dword [esp + 0x24], 0x54
mov eax, 0x30c30c31
fstp dword [esp + 0x5c]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
add esp, 0x18
cmp ebx, eax
jb 0x4057e0
pop edi
pop ebp
pop ebx
add esp, 0x30
ret
Function at 0x405d20
Capabilities:
Set registry value

Disassembly:
push ecx
push 0
lea eax, [esp + 4]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.SoftwareArktos_Entertainment_GroupWarZ
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
je 0x405d4d
xor al, al
pop ecx
ret
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x405d52
mov ecx, dword [esp]
sub eax, edx
inc eax
push eax
push esi
push 1
push 0
push str.LoginToken
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x405d49
mov edx, dword [esp]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
pop ecx
ret
Function at 0x407220
Capabilities:
Set console window title

Disassembly:
sub esp, 0x218
mov eax, dword [0x6eff0c]
xor eax, esp
mov dword [esp + 0x210], eax
push ebx
push esi
push edi
mov esi, ecx
call fcn.0040bcf0
call fcn.005b8a80
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
nop
call fcn.005b8ad0
call fcn.005b8a80
push 0x64
call edi
cmp dword [esi + 0x20dec], 3
jne 0x407271
mov dword [esi + 0x20dec], 5
cmp dword [esi + 0x20df0], 0
jne 0x4072f8
mov eax, dword [esi + 0x215f8]
mov ecx, dword [esi + 0x215fc]
mov dword [esp + 0x10], eax
or eax, ecx
mov dword [esp + 0x14], ecx
jne 0x407296
fldz
jmp 0x4072bf
fild qword [esi + 0x21600]
fild qword [esp + 0x10]
fdivp st(1)
fstp dword [esp + 0xc]
fld1
fcom dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x4072b9
fstp dword [esp + 0xc]
jmp 0x4072bb
fstp st(0)
fld dword [esp + 0xc]
fstp dword [esp + 0xc]
sub esp, 8
fld dword [esp + 0x14]
lea eax, [esi + 0x20df5]
fmul qword [0x6c2f50]
lea ecx, [esp + 0x20]
fstp qword [esp]
push eax
push str._s:__.1f__
push ecx
call fcn.00406ca0
add esp, 0x14
lea edx, [esp + 0x18]
push edx
call ebx
jmp 0x407250
mov eax, esi
call fcn.0040be20
mov eax, dword [esi + 0x20df0]
sub eax, 1
je 0x407342
sub eax, 1
je 0x40732c
sub eax, 1
je 0x40734f
push 0
push 0x37
push str..Main_CmdLine.cpp
push 0x6c0470
call fcn.005b9050
add esp, 0x10
jmp 0x40734f
add esi, 0x211f5
push esi
push str.Update_error_n_s_n_nPlease_retry_later
call fcn.005b8d40
add esp, 8
jmp 0x40734f
push str.Update_ok_n
call fcn.005b8d40
add esp, 4
push str._nPress_enter_to_exit...
call fcn.005b8d40
add esp, 4
call fcn.005dfdbd
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005de867
add esp, 0x218
ret
Function at 0x4077e0
Capabilities:
Copy file
Create process on windows
Delete file
Move file
Terminate process

Disassembly:
sub esp, 0x60c
mov eax, dword [0x6eff0c]
xor eax, esp
mov dword [esp + 0x608], eax
push 0x104
lea eax, [esp + 4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp]
push str..new.exe
push ecx
call fcn.005df490
add esp, 8
test eax, eax
jne 0x407859
lea edx, [esp]
push edx
lea eax, [esp + 0x108]
push str._s.new.exe
push eax
call fcn.00401aa0
add esp, 0xc
lea ecx, [esp + 0x104]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
xor al, al
mov ecx, dword [esp + 0x608]
xor ecx, esp
call fcn.005de867
add esp, 0x60c
ret
push str..exe_updated__moving_back_n
mov byte [0x8d6eba], 1
call fcn.005b8d40
add esp, 4
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax]
mov byte [esp + eax + 0x104], cl
inc eax
test cl, cl
jne 0x407880
lea eax, [esp]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407895
sub eax, edx
cmp eax, 8
ja 0x4078b9
push 0
push 0x31
push str..SelfUpdateEXE.cpp
push str.strlen_exeMain____8
call fcn.005b9050
add esp, 0x10
lea eax, [esp]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4078c0
push ebx
push ebp
push esi
sub eax, edx
push edi
lea edx, [esp + 0x10]
push edx
push str.exeMain:__s_n
mov byte [esp + eax + 0x10], cl
call fcn.005b8d40
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileA]
mov ebp, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 8
xor esi, esi
lea eax, [esp + 0x10]
push eax
call edi
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x118]
push edx
call ebx
test eax, eax
jne 0x40799b
push eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x11c]
push ecx
call ebp
test eax, eax
jne 0x40799b
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, 0xa
jl 0x4078f7
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x220]
push str.Failed_to_replace_updater_file_n_nPlease_manually_rename__s_to__s
push ecx
call fcn.00401ac0
add esp, 0x10
push 0x30
push str.Updater
lea edx, [esp + 0x220]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 5
push 0
push 0
push 0x6c025c
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor al, al
jmp 0x40799d
mov al, 1
mov ecx, dword [esp + 0x618]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.005de867
add esp, 0x60c
ret