joyce8/EMBER2024-capa huggingface dataset:
Function at 0x401920
Capabilities:
Copy file

Disassembly:
sub esp, 0x614
mov eax, dword [0x78f694]
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.0062ce90
mov esi, eax
inc esi
add esp, 8
cmp esi, 1
jne 0x40197b
push 0
push 0x14
push str..GenerateUpdaterXML.cpp
push str._DWORD_fname___1
call fcn.00606fa0
add esp, 0x10
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x11c]
push ecx
call fcn.006079b0
add esp, 0xc
test al, al
jne 0x4019ae
lea edx, [esp + 0x114]
push edx
push str.failed_to_get_crc_for__s_n
call fcn.00606e60
add esp, 8
push str.1.0.6
push esi
lea eax, [esp + 0x18]
push str._s__s.exe
push eax
call fcn.00401ab0
add esp, 0x10
push 0
lea ecx, [esp + 0x14]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x4019eb
lea edx, [esp + 0x10]
push edx
push esi
push str.unable_to_copy__s___s_n
call fcn.00606e60
add esp, 0xc
push 0x2f
push str.http:__43.255.241.201_wz_wzupd.xml
call fcn.0062ce90
mov esi, eax
add esp, 8
test esi, esi
jne 0x401a15
push eax
push 0x21
push str..GenerateUpdaterXML.cpp
push str.updater_file
call fcn.00606fa0
add esp, 0x10
lea edi, [esi + 1]
push 0x751440
push edi
call fcn.00607dd0
mov esi, eax
push str._p__n
push esi
call fcn.0062cebd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
push eax
push str.1.0.6
push ecx
lea edx, [esp + 0x2c]
push edx
push str.http:__43.255.241.201_wz_
push str.__u_url__s_s__crc__u__ver__s__size__u____n
push esi
call fcn.0062cebd
push str.__p__n
push esi
call fcn.0062cebd
push esi
call fcn.0062d050
lea eax, [esp + 0x48]
push eax
push edi
lea ecx, [esp + 0x258]
push str.XML__s_generated_nnew_exe:_s
push ecx
call fcn.00401ad0
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.0062cbd3
add esp, 0x614
ret

Function at 0x4024b0
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.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4024fc
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 0x402c40
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 reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x402c68
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 0x402cda
push esi
call fcn.0062d3b5
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
add esp, 4
add esi, 0x2a300
adc ecx, 0
cmp edx, ecx
jg 0x402cda
jl 0x402cd3
cmp eax, esi
jae 0x402cda
xor al, al
pop esi
add esp, 0x10
ret
mov al, 1
pop esi
add esp, 0x10
ret
Function at 0x4058f0
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 0x405b1f
xor edi, edi
mov dword [esp + 0xc], edi
jmp 0x405924
mov edi, dword [esp + 0xc]
cmp edi, 0x1a4
jae 0x405b1f
cmp ebx, eax
jb 0x405939
call fcn.0062e4c9
mov eax, dword [esi + 0xc]
lea eax, [edi + eax + 0x38]
mov ebp, 0x10
cmp dword [eax + 0x18], ebp
jb 0x40594f
mov eax, dword [eax + 4]
jmp 0x405952
add eax, 4
fld dword [esp + 0x44]
mov edx, dword [0x83d070]
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 [0x75ae58]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fstp dword [esp]
push edx
call fcn.00610920
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 0x4059af
call fcn.0062e4c9
mov eax, dword [esi + 0xc]
add eax, edi
cmp dword [eax + 0x18], ebp
jb 0x4059be
mov ebp, dword [eax + 4]
jmp 0x4059c1
lea ebp, [eax + 4]
mov edi, dword [0x83d070]
push ebp
call fcn.00404020
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.00402d50
test al, al
je 0x405ac0
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.00614e00
add esp, 0x1c
cmp dword [0x83d084], 0
je 0x405ac0
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 0x405a8f
call fcn.0062e4c9
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0xc]
cmp dword [edx + ecx + 0x34], 0x10
lea eax, [edx + ecx + 0x1c]
jb 0x405aa6
mov eax, dword [eax + 4]
jmp 0x405aa9
add eax, 4
push 5
push 0
push 0x7589ce
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
fld dword [esp + 0x44]
mov ecx, dword [0x83d070]
push ebp
push 0x751800
lea eax, [esp + 0x18]
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x54]
fstp dword [esp]
push ecx
call fcn.00610920
fld dword [esp + 0x5c]
mov ecx, dword [esi + 0x10]
fadd qword [0x75ae50]
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 0x405920
pop edi
pop ebp
pop ebx
add esp, 0x30
ret
Function at 0x406030
Capabilities:
Contain obfuscated stackstrings
Reference the vmware io port
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x77a338
push 0x63a150
mov eax, dword fs:[0]
push eax
add esp, 0xffffffe0
mov eax, dword [0x78f694]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
push eax
push ebx
push ecx
push edx
mov eax, 0x564d5868
mov ecx, 0x14
mov dx, 0x5658
in eax, dx
mov dword [ebp - 0x1c], eax
pop edx
pop ecx
pop ebx
pop eax
mov dword [ebp - 4], 0xfffffffe
jmp 0x4060a7
cmp dword [ebp - 0x1c], 0
jbe 0x406117
mov byte [ebp - 0x30], 0x56
mov byte [ebp - 0x2f], 0x4d
mov byte [ebp - 0x2e], 0x57
mov byte [ebp - 0x2d], 0x61
mov byte [ebp - 0x2c], 0x72
mov byte [ebp - 0x2b], 0x65
mov byte [ebp - 0x2a], 0x20
mov byte [ebp - 0x29], 0x64
mov byte [ebp - 0x28], 0x65
mov byte [ebp - 0x27], 0x74
mov byte [ebp - 0x26], 0x65
mov byte [ebp - 0x25], 0x63
mov byte [ebp - 0x24], 0x74
mov byte [ebp - 0x23], 0x65
mov byte [ebp - 0x22], 0x64
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x30]
push eax
call fcn.00606c90
add esp, 4
push 0
call fcn.0062e2d4
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.0062cbd3
mov esp, ebp
pop ebp
ret

Function at 0x406140
Capabilities:
Contain obfuscated stackstrings
Reference the vmware io port
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x77a318
push 0x63a150
mov eax, dword fs:[0]
push eax
add esp, 0xffffffdc
mov eax, dword [0x78f694]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 4], 0
push eax
push ebx
push ecx
push edx
mov eax, 0x564d5868
mov ecx, 0xa
mov dx, 0x5658
in eax, dx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], ecx
pop edx
pop ecx
pop ebx
pop eax
mov dword [ebp - 4], 0xfffffffe
jmp 0x4061b3
cmp dword [ebp - 0x1c], 0x564d5868
jne 0x406226
mov byte [ebp - 0x34], 0x56
mov byte [ebp - 0x33], 0x4d
mov byte [ebp - 0x32], 0x57
mov byte [ebp - 0x31], 0x61
mov byte [ebp - 0x30], 0x72
mov byte [ebp - 0x2f], 0x65
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x64
mov byte [ebp - 0x2c], 0x65
mov byte [ebp - 0x2b], 0x74
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x63
mov byte [ebp - 0x28], 0x74
mov byte [ebp - 0x27], 0x65
mov byte [ebp - 0x26], 0x64
mov byte [ebp - 0x25], 0
lea eax, [ebp - 0x34]
push eax
call fcn.00606c90
add esp, 4
push 0
call fcn.0062e2d4
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.0062cbd3
mov esp, ebp
pop ebp
ret
Function at 0x407ae0
Capabilities:
Set console window title

Disassembly:
sub esp, 0x218
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0x210], eax
push ebx
push esi
push edi
mov esi, ecx
call fcn.0040c490
call fcn.006069d0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
nop
call fcn.00606a20
call fcn.006069d0
push 0x64
call edi
cmp dword [esi + 0x20dec], 3
jne 0x407b31
mov dword [esi + 0x20dec], 5
cmp dword [esi + 0x20df0], 0
jne 0x407bb8
mov eax, dword [esi + 0x215f8]
mov ecx, dword [esi + 0x215fc]
mov dword [esp + 0x10], eax
or eax, ecx
mov dword [esp + 0x14], ecx
jne 0x407b56
fldz
jmp 0x407b7f
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 0x407b79
fstp dword [esp + 0xc]
jmp 0x407b7b
fstp st(0)
fld dword [esp + 0xc]
fstp dword [esp + 0xc]
sub esp, 8
fld dword [esp + 0x14]
lea eax, [esi + 0x20df5]
fmul qword [0x75aef8]
lea ecx, [esp + 0x20]
fstp qword [esp]
push eax
push str._s:__.1f__
push ecx
call fcn.00407400
add esp, 0x14
lea edx, [esp + 0x18]
push edx
call ebx
jmp 0x407b10
mov eax, esi
call fcn.0040c5c0
mov eax, dword [esi + 0x20df0]
sub eax, 1
je 0x407c02
sub eax, 1
je 0x407bec
sub eax, 1
je 0x407c0f
push 0
push 0x37
push str..Main_CmdLine.cpp
push 0x7589cc
call fcn.00606fa0
add esp, 0x10
jmp 0x407c0f
add esi, 0x211f5
push esi
push str.Update_error_n_s_n_nPlease_retry_later
call fcn.00606c90
add esp, 8
jmp 0x407c0f
push str.Update_ok_n
call fcn.00606c90
add esp, 4
push str._nPress_enter_to_exit...
call fcn.00606c90
add esp, 4
call fcn.0062e79a
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0062cbd3
add esp, 0x218
ret
Function at 0x4088a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0xffffffffffffffff
push 0x699ad8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push edi
mov eax, dword [0x78f694]
xor eax, esp
push eax
lea eax, [esp + 0x4c]
mov dword fs:[0], eax
fldz
lea ecx, [esp + 0x14]
fst dword [esi]
mov dword [esi + 8], 0
fstp dword [esi + 4]
call fcn.004665c0
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0
call fcn.004666e0
movzx eax, word [esp + 0x5c]
push 0x758eb0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
je 0x4089dd
push edi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
je 0x4089dd
push edi
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.00466850
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.004666f0
push eax
lea ecx, [esp + 0x1c]
call fcn.00466700
mov ecx, dword [0x797ec4]
push eax
add ecx, 0x50
call fcn.00609eb0
push eax
call sub.d3dx9_43.dll_D3DXCreateTextureFromFileInMemory
test eax, eax
jne 0x4089dd
mov ecx, dword [0x797ec4]
call fcn.00619910
push 1
push 1
push 0x16
push 4
push 4
mov ecx, eax
mov dword [esi + 8], eax
call fcn.0061b730
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 8]
push edx
call fcn.0061b560
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
lea edx, [esp + 0x28]
push edx
push 0
push eax
mov eax, dword [ecx + 0x44]
call eax
fild dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
fild dword [esp + 0x40]
test ecx, ecx
jge 0x4089be
fadd dword [0x75ae08]
fdivp st(1)
mov edx, dword [esp + 0x44]
fstp dword [esi]
fild dword [esp + 0x64]
fild dword [esp + 0x44]
test edx, edx
jge 0x4089d8
fadd dword [0x75ae08]
fdivp st(1)
fstp dword [esi + 4]
lea ecx, [esp + 0x14]
mov dword [esp + 0x54], 0xffffffff
call fcn.00466650
mov eax, esi
mov ecx, dword [esp + 0x4c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
add esp, 0x4c
ret 0xc
Function at 0x40a090
Capabilities:
Delete file
Terminate process
Write file on windows

Disassembly:
sub esp, 0x418
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0x414], eax
cmp byte [0x83d4a3], 1
push ebx
push ebp
mov ebp, dword [esp + 0x424]
je 0x40a0be
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
push esi
call fcn.006079b0
add esp, 0xc
test al, al
je 0x40a0e5
mov edx, dword [esp + 0x10]
cmp edx, dword [esi + 0x112]
je 0x40a1cb
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push esi
call dword [sym.imp.dbghelp.dll_MakeSureDirectoryPathExists]
push 0x7585ac
push esi
call fcn.0062d790
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x40a126
push esi
lea eax, [esp + 0x1c]
push str.Cant_replace_file__s_nPlease_delete_this_file_manually
push eax
call fcn.00401ad0
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
mov eax, edi
call fcn.004094c0
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x10]
push eax
mov ecx, ebp
call fcn.004666f0
push eax
mov ecx, ebp
call fcn.00466700
push eax
push esi
lea ecx, [edi + 0x4e0]
call fcn.00615a40
mov ecx, dword [esi + 0x10a]
cmp ecx, dword [esp + 8]
je 0x40a171
push 0
push 0x1a4
push str..Updater.cpp
push str.fe__size__out_size
call fcn.00606fa0
add esp, 0x10
lea ebp, [edi + 0x20dd4]
push ebp
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esp + 8]
mov eax, dword [esp + 0xc]
push ebx
push 1
push edx
push eax
call fcn.0062e901
push ebx
call fcn.0062d050
add esp, 0x14
push ebp
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push str.infestation.exe
push esi
call fcn.00630127
add esp, 8
test eax, eax
jne 0x40a1be
mov byte [edi + 0x21654], 1
call fcn.0040a450
mov ecx, dword [esp + 0xc]
push ecx
call fcn.006092e0
add esp, 4
mov ecx, dword [esp + 0x41c]
pop ebp
pop ebx
xor ecx, esp
call fcn.0062cbd3
add esp, 0x418
ret 4
Function at 0x40a2d0
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x69a8e8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x78f694]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [esp + 0x18]
xor ebx, ebx
push eax
xor esi, esi
mov dword [esp + 0x18], ebx
call fcn.0040c890
lea ecx, [esp + 0x18]
mov dword [esp + 0x38], esi
call fcn.0040c920
mov ecx, dword [edi + 0x5f8]
sub ecx, dword [edi + 0x5f4]
sar ecx, 2
test ecx, ecx
jbe 0x40a37f
mov ebp, 0x100000
mov edx, dword [edi + 0x5f8]
sub edx, dword [edi + 0x5f4]
sar edx, 2
cmp esi, edx
jb 0x40a348
call fcn.0062e4c9
mov eax, dword [edi + 0x5f4]
mov eax, dword [eax + esi*4]
test dword [eax + 0x116], ebp
jne 0x40a365
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.0040ca30
inc ebx
mov edx, dword [edi + 0x5f8]
sub edx, dword [edi + 0x5f4]
inc esi
sar edx, 2
cmp esi, edx
jb 0x40a330
mov dword [esp + 0x14], ebx
xor esi, esi
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x24]
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40a3f8
xor ebp, ebp
lea ebx, [edi + 0x5e4]
cmp esi, eax
jb 0x40a3ad
call fcn.0062e4c9
mov eax, dword [esp + 0x24]
lea edi, [eax + ebp]
push edi
mov ecx, ebx
call fcn.00617480
test byte [edi + 0x116], 1
je 0x40a3cc
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x24]
mov eax, 0xdd67c8a7
imul ecx
add edx, ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add ebp, 0x128
cmp esi, eax
jb 0x40a3ad
mov ebx, dword [esp + 0x14]
xor esi, esi
push ebx
push str.removed__d_files_n
call fcn.00606c90
mov eax, dword [esp + 0x2c]
add esp, 8
cmp eax, esi
je 0x40a417
push eax
call fcn.006092e0
add esp, 4
mov ecx, dword [esp + 0x18]
push ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
call fcn.006092e0
add esp, 4
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret

Function at 0x40a450
Capabilities:
Get common file path

Disassembly:
sub esp, 0x61c
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0x614], eax
lea eax, [esp + 0x108]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push str.infestation.exe
lea ecx, [esp + 0x10c]
push ecx
lea edx, [esp + 8]
push 0x7595d0
push edx
call fcn.00401ab0
push 0x83d720
lea eax, [esp + 0x224]
push str.Allow_network_traffic_for__s
push eax
call fcn.00401ad0
lea ecx, [esp + 0x22c]
add esp, 0x1c
push ecx
lea ecx, [esp + 4]
call fcn.00401720
mov ecx, dword [esp + 0x618]
add esp, 4
xor ecx, esp
call fcn.0062cbd3
add esp, 0x61c
ret
Function at 0x40ad60
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x69aa60
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x78f694]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
cmp dword [esi + 0x20dec], 0
je 0x40adb7
push 0
push 0x32f
push str..Updater.cpp
push str.status___STATUS_Checking
call fcn.00606fa0
add esp, 0x10
mov ecx, esi
call fcn.00409520
call fcn.00409710
test al, al
je 0x40ade2
mov ecx, esi
call fcn.00409780
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov byte [esi + 0x98], 1
call fcn.00409aa0
mov dword [esi + 0x20dec], eax
lea eax, [esi + 0x20df5]
push 0x7589ce
push eax
call fcn.00401ad0
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 8
mov ebx, 5
cmp dword [esi + 0x20dec], ebx
jne 0x40af0f
mov ecx, dword [esi + 0x21b5c]
mov eax, dword [0x83de70]
or eax, dword [0x83de74]
mov dword [0x83de60], ecx
mov edx, dword [esi + 0x21b60]
mov dword [0x83de64], edx
je 0x40ae6c
call fcn.00402c40
test al, al
je 0x40ae6c
push 0
push 0
push 0x83de60
push 0x402900
push 0
push 0
call fcn.0062d507
add esp, 0x18
mov dword [0x83e028], eax
call fcn.00409b00
call fcn.00409c50
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x5e4]
push ecx
push eax
push str.current_build_version_d__updater_data_version_d_n
call fcn.00606c90
mov eax, dword [esi + 0x5e4]
add esp, 0xc
cmp eax, dword [esi + 0x1c]
jne 0x40ae9e
call fcn.0040b2a0
mov ebx, esi
call fcn.00409ef0
mov ecx, esi
call fcn.0040a620
call fcn.0040acc0
push str.Validating_game_data_n
call fcn.00606c90
add esp, 4
lea edx, [esi + 0x20df5]
push str.Validating_game_data
push edx
call fcn.00401ad0
add esp, 8
lea eax, [esi + 0x21600]
push eax
lea ecx, [esi + 0x215f8]
push ecx
push 0
lea ecx, [esi + 0x4e0]
call fcn.00618f70
test al, al
jne 0x40aefd
push str.Game_data_is_damaged__please_restart_launcher_to_repair_damaged_files
mov eax, esi
call fcn.004094c0
push str.Validating_game_data___finished_n
call fcn.00606c90
add esp, 4
call fcn.0040b2a0
push 0x32
call edi
jmp 0x40ae13
Function at 0x40bbb0
Capabilities:
Create thread

Disassembly:
push esi
lea esi, [edi + 0x21660]
call fcn.00408aa0
push 0
push 0
push edi
push 0x40b7b0
push 0
push 0
call fcn.0062d507
add esp, 0x18
mov dword [edi + 0x21658], eax
pop esi
ret

Function at 0x40bde0
Capabilities:
Delete file
Terminate process

Disassembly:
push 0xffffffffffffffff
push 0x699f36
mov eax, dword fs:[0]
push eax
sub esp, 0x460
mov eax, dword [0x78f694]
xor eax, esp
mov dword [esp + 0x45c], eax
push ebp
push esi
push edi
mov eax, dword [0x78f694]
xor eax, esp
push eax
lea eax, [esp + 0x470]
mov dword fs:[0], eax
lea edi, [ebx + 0x4e0]
push 1
push 1
mov ecx, edi
mov dword [esp + 0x20], edi
call fcn.006155e0
mov eax, dword [ebx + 0x5f8]
sub eax, dword [ebx + 0x5f4]
xor esi, esi
sar eax, 2
mov dword [esp + 0x14], esi
test eax, eax
jbe 0x40bf6e
lea esp, [esp]
mov ecx, dword [ebx + 0x5f8]
sub ecx, dword [ebx + 0x5f4]
sar ecx, 2
cmp esi, ecx
jb 0x40be68
call fcn.0062e4c9
mov edx, dword [ebx + 0x5f4]
mov ebp, dword [edx + esi*4]
test byte [ebp + 0x116], 1
je 0x40bf4e
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
push ebp
call fcn.006079b0
add esp, 0xc
test al, al
je 0x40beb1
mov edx, dword [esp + 0x1c]
cmp edx, dword [ebp + 0x112]
jne 0x40beb1
mov eax, dword [esp + 0x20]
cmp eax, dword [ebp + 0x10a]
je 0x40bf4e
cmp byte [0x83d51c], 1
jne 0x40bf9c
mov edi, 0x151e36b4
lea esi, [esp + 0x27]
call fcn.0040d8d0
push ebp
push eax
mov dword [esp + 0x480], 0
call fcn.00606c90
xor eax, eax
add esp, 8
push ebp
mov dword [esp + 0x2b], eax
mov dword [esp + 0x2f], eax
mov dword [esp + 0x33], eax
mov word [esp + 0x37], ax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebp
call dword [sym.imp.dbghelp.dll_MakeSureDirectoryPathExists]
mov byte [esp + 0x11], 0x2e
mov byte [esp + 0x12], 0x5c
mov byte [esp + 0x13], 0
lea ecx, [esp + 0x11]
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
mov dword [esp + 0x480], 1
call fcn.00616430
test al, al
sete cl
xor eax, eax
mov dword [esp + 0x478], 0xffffffff
mov word [esp + 0x11], ax
mov byte [esp + 0x13], al
test cl, cl
jne 0x40bfa4
mov esi, dword [esp + 0x14]
mov edx, dword [ebx + 0x5f8]
sub edx, dword [ebx + 0x5f4]
inc esi
sar edx, 2
mov dword [esp + 0x14], esi
cmp esi, edx
jb 0x40be50
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.00615720
mov ecx, dword [esp + 0x470]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x45c]
xor ecx, esp
call fcn.0062cbd3
add esp, 0x46c
ret
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edi, 0x759ed8
sub edi, 0x89ce970
lea esi, [esp + 0x35]
call fcn.0040d910
push ebp
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00401ad0
push 0x37
mov ecx, esi
push 0
push ecx
call fcn.00630180
add esp, 0x18
lea edx, [esp + 0x6c]
push edx
mov eax, ebx
call fcn.004094c0
int3