joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4f3ac0
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66141f
mov eax, dword fs:[0]
push eax
sub esp, 0xc
mov eax, dword [0x7060c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::TObjRefImpl_struct_IObjRef_::constructor_void_]
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x10]
mov dword [eax], vtable.SOUI::STileView2ItemLocator.0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 8], 0x64
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x14]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov byte [ebp - 4], 1
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0xc
push ecx
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingleton_void_]
add eax, 0x10
mov ecx, eax
call dword [sym.imp.soui.dll_public:_class_SOUI::SLayoutSize___thiscall_SOUI::SResProviderMgr::GetLayoutSize_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits__const__]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x18]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::constructor_wchar_t_const__]
mov byte [ebp - 4], 2
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x14
push ecx
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingleton_void_]
add eax, 0x10
mov ecx, eax
call dword [sym.imp.soui.dll_public:_class_SOUI::SLayoutSize___thiscall_SOUI::SResProviderMgr::GetLayoutSize_class_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits__const__]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x18]
call dword [sym.imp.utilities.dll_public:_void___thiscall_SOUI::TStringT_wchar_t__struct_SOUI::wchar_traits_::destructor_void_]
push 0
push ecx
xorps xmm0, xmm0
movss dword [esp], xmm0
mov ecx, dword [ebp - 0x10]
add ecx, 0x1c
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SLayoutSize::constructor_float__enum_SOUI::SLayoutSize::Unit_]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x10]
mov dword [edx + 0x24], eax
mov ecx, dword [ebp + 0x14]
mov dword [edx + 0x28], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x18]
mov dword [edx + 0x2c], eax
mov ecx, dword [ebp + 0x1c]
mov dword [edx + 0x30], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0x20]
mov dword [edx + 0x34], eax
mov ecx, dword [ebp + 0x24]
mov dword [edx + 0x38], ecx
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x3c], 1
mov ecx, dword [ebp - 0x10]
add ecx, 0x40
call fcn.004f2870
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x20
Function at 0x4f9670
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x661a86
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x7060c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x50], ecx
push 0xffffffffffffffff
push str.game_logo
mov ecx, dword [ebp - 0x50]
add ecx, 4
call fcn.00489f30
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
jne 0x4f96bb
jmp 0x4f97dd
lea ecx, [ebp - 0x40]
call fcn.00446de0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00446de0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.0054db90
mov byte [ebp - 4], 2
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x398]
push eax
lea ecx, [ebp - 0x48]
call fcn.0054df90
lea ecx, [ebp - 0x28]
call fcn.0043d500
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4f973b
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.0054dbb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0043c8a0
jmp 0x4f97d0
lea ecx, [ebp - 0x28]
call fcn.0043d500
push eax
call dword [sym.imp.soui.dll_public:_static_struct_SOUI::IBitmap____cdecl_SOUI::SResLoadFromFile::LoadImageW_wchar_t_const__]
add esp, 4
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x4f977f
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.0054dbb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0043c8a0
jmp 0x4f97d0
push 3
mov ecx, dword [ebp - 0x44]
push ecx
mov ecx, dword [ebp - 0x4c]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SImageWnd::SetImage_struct_SOUI::IBitmap___enum_SOUI::FilterLevel_]
mov ecx, dword [ebp - 0x44]
add ecx, 4
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 4]
mov edx, dword [eax + 4]
call edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x48]
call fcn.0054dbb0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0043c8a0
jmp 0x4f97dd
push 0
push 0
mov ecx, dword [ebp - 0x4c]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SImageWnd::SetImage_struct_SOUI::IBitmap___enum_SOUI::FilterLevel_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c4766
mov esp, ebp
pop ebp
ret 4
Function at 0x524de0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x664f48
mov eax, dword fs:[0]
push eax
sub esp, 0x18
mov eax, dword [0x7060c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
call fcn.0058d150
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18], esp
call fcn.00446de0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x20], esp
push 0x711780
call fcn.00446bf0
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0xffffffff
call fcn.00455c50
add esp, 0x34
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 0x14]
call dword [sym.imp.soui.dll_protected:_void___thiscall_SOUI::SHostDialog::OnOK_void_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret

Function at 0x529c00
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6659f0
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x7060c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x58], ecx
lea ecx, [ebp - 0x28]
call fcn.00446de0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.0054db90
mov byte [ebp - 4], 1
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x48]
call fcn.0054e390
lea ecx, [ebp - 0x28]
call fcn.0043d500
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x529ce2
push 1
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x5c], esp
push 0x68f9cc
push 0x711708
push 0x68f9cc
lea edx, [ebp - 0x40]
push edx
call fcn.00444420
add esp, 0xc
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x50]
push ecx
push esi
call fcn.004443a0
add esp, 0xc
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x60], edx
mov byte [ebp - 4], 3
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x64], esp
lea eax, [ebp - 0x28]
push eax
call fcn.00446bf0
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 2
call fcn.00455c50
add esp, 0x34
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.0043c8a0
cmp dword [ebp + 0xc], 1
je 0x529d1a
push 0
mov ecx, dword [ebp + 0xc]
push ecx
push 0xfb8
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.0054dbb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
jmp 0x529d53
xor eax, eax
mov byte [ebp - 0x41], al
lea ecx, [ebp - 0x41]
call fcn.00529910
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00469f10
mov ecx, eax
call fcn.0046dbc0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.0054dbb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c4766
mov esp, ebp
pop ebp
ret 8
Function at 0x5339c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66676b
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x7060c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
lea ecx, [ebp + 0x20]
call fcn.0043d500
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x533a2e
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.004919c0
jmp 0x533b11
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.0054d0a0
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.0054cad0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.00544c70
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.0054d0a0
push eax
lea ecx, [ebp - 0x18]
call fcn.00548850
movzx ecx, al
test ecx, ecx
je 0x533aaa
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.004919c0
jmp 0x533b11
xor edx, edx
mov byte [ebp - 0xd], dl
lea eax, [ebp + 0x3c]
push eax
lea ecx, [ebp + 0x38]
push ecx
lea edx, [ebp + 0x20]
push edx
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xe]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.0052a1b0
mov ecx, eax
call fcn.00543a20
lea ecx, [ebp - 0x2c]
call fcn.00529370
lea eax, [ebp + 8]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 4
call fcn.0054d170
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.004919c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x5c
Function at 0x533b30
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66679e
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x7060c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
lea ecx, [ebp + 0x20]
call fcn.0043d500
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x533b9e
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.004919c0
jmp 0x533c81
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x10
call fcn.0054d0a0
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x10
call fcn.0054cad0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.00544c70
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x10
call fcn.0054d0a0
push eax
lea ecx, [ebp - 0x18]
call fcn.00548850
movzx ecx, al
test ecx, ecx
je 0x533c1a
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.004919c0
jmp 0x533c81
xor edx, edx
mov byte [ebp - 0xd], dl
lea eax, [ebp + 0x3c]
push eax
lea ecx, [ebp + 0x38]
push ecx
lea edx, [ebp + 0x20]
push edx
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0xe]
push ecx
lea edx, [ebp - 0x2c]
push edx
call fcn.0052a1b0
mov ecx, eax
call fcn.00544750
lea ecx, [ebp - 0x2c]
call fcn.00529370
lea eax, [ebp + 8]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x10
call fcn.0054d170
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x3c]
call fcn.004919c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x5c
Function at 0x533d40
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x666804
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x7060c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], 2
lea ecx, [ebp + 0x20]
call fcn.0043d500
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x533dae
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x40]
call fcn.00548550
jmp 0x533e95
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
call fcn.0054d0a0
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
call fcn.0054cad0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.00544c70
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
call fcn.0054d0a0
push eax
lea ecx, [ebp - 0x18]
call fcn.00548850
movzx ecx, al
test ecx, ecx
je 0x533e2a
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x40]
call fcn.00548550
jmp 0x533e95
xor edx, edx
mov byte [ebp - 0xd], dl
lea eax, [ebp + 0x40]
push eax
lea ecx, [ebp + 0x3c]
push ecx
lea edx, [ebp + 0x38]
push edx
lea eax, [ebp + 0x20]
push eax
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0xe]
push edx
lea eax, [ebp - 0x2c]
push eax
call fcn.0052a1b0
mov ecx, eax
call fcn.00544200
lea ecx, [ebp - 0x2c]
call fcn.00529370
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x14]
add ecx, 0x1c
call fcn.0054d170
mov byte [ebp - 4], 1
lea ecx, [ebp + 8]
call fcn.0043c8a0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x20]
call fcn.0043c8a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x40]
call fcn.00548550
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 0x60
Function at 0x54d380
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x54d3a3
xor eax, eax
jmp 0x54d453
mov edx, dword [ebp - 0xc]
push edx
call fcn.005ed028
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x54d3bf
xor eax, eax
jmp 0x54d453
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp - 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call sub.VERSION.dll_GetFileVersionInfoW
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 4]
push edx
push 0x690f68
mov eax, dword [ebp - 8]
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x54d442
cmp dword [ebp - 0x14], 0x34
jb 0x54d442
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
and edx, 0xffff
mov eax, dword [ebp + 0x18]
mov word [eax], dx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
shr edx, 0x10
and edx, 0xffff
mov eax, dword [ebp + 0x14]
mov word [eax], dx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
and edx, 0xffff
mov eax, dword [ebp + 0x10]
mov word [eax], dx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 8]
shr edx, 0x10
and edx, 0xffff
mov eax, dword [ebp + 0xc]
mov word [eax], dx
mov ecx, dword [ebp - 8]
push ecx
call fcn.005ed023
add esp, 4
mov eax, 1
mov esp, ebp
pop ebp
ret

Function at 0x54e1c0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66a061
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x7060c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x70], ecx
call fcn.005a1040
add eax, 0x30
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.004426d0
add esp, 8
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp + 0xc]
call fcn.00447ac0
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x40]
push eax
call fcn.004500c0
add esp, 8
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x64]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.00448330
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0043c8a0
push 0x6911b8
mov ecx, dword [ebp + 0xc]
call fcn.00448350
push 0x7117e0
mov ecx, dword [ebp + 0x10]
call fcn.00462e90
push str.game_path_plat_
mov ecx, dword [ebp + 0x10]
call fcn.00448350
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x58]
push ecx
call fcn.004500c0
add esp, 8
mov dword [ebp - 0x68], eax
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00448330
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.0043c8a0
push 0x6911e8
mov ecx, dword [ebp + 0x10]
call fcn.00448350
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c4766
mov esp, ebp
pop ebp
ret 0xc
Function at 0x553050
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66a6bc
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x7060c4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x34], ecx
cmp dword [ebp + 8], 0
jne 0x553086
jmp 0x55318e
mov ecx, dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_unsigned_long_int___thiscall_SOUI::SWindow::GetUserData_void_]
cmp eax, dword [ebp + 0xc]
je 0x553099
jmp 0x55318e
lea ecx, [ebp - 0x28]
call fcn.00446de0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0054db90
mov byte [ebp - 4], 1
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x30]
call fcn.0054e0d0
lea ecx, [ebp - 0x28]
call fcn.0043d500
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5530f7
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0054dbb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
jmp 0x553181
lea ecx, [ebp - 0x28]
call fcn.0043d500
push eax
call dword [sym.imp.soui.dll_public:_static_struct_SOUI::IBitmap____cdecl_SOUI::SResLoadFromFile::LoadImageW_wchar_t_const__]
add esp, 4
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x55312f
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0054dbb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
jmp 0x553181
push 3
mov edx, dword [ebp - 0x2c]
push edx
mov ecx, dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SImageWnd::SetImage_struct_SOUI::IBitmap___enum_SOUI::FilterLevel_]
push 1
push 1
mov ecx, dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SWindow::SetVisible_int__int_]
mov ecx, dword [ebp - 0x2c]
add ecx, 4
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x30]
call fcn.0054dbb0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.0043c8a0
jmp 0x55318e
push 0
push 0
mov ecx, dword [ebp + 8]
call dword [sym.imp.soui.dll_public:_void___thiscall_SOUI::SImageWnd::SetImage_struct_SOUI::IBitmap___enum_SOUI::FilterLevel_]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c4766
mov esp, ebp
pop ebp
ret 8
Function at 0x553a00
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x66a804
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x7060c4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0
je 0x553a39
mov eax, dword [ebp - 0x10]
add eax, 4
mov dword [ebp - 0x14], eax
jmp 0x553a40
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x38]
call fcn.0057a300
mov dword [ebp - 4], 0
lea edx, [ebp - 0x38]
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 4]
mov eax, dword [edx + 0x94]
call eax
push 0
push 0
push 0
push 2
mov ecx, dword [ebp - 0x10]
add ecx, 4
call dword [sym.imp.soui.dll_public:_long_int___thiscall_SOUI::SWindow::SSendMessage_unsigned_int__unsigned_int__long_int__int__]
mov ecx, dword [ebp - 0x10]
cmp dword [ecx + 0x30c], 0
je 0x553adf
mov edx, dword [ebp - 0x10]
mov eax, dword [edx + 0x30c]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x74]
call eax
mov ecx, eax
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::SMessageLoop::RemoveMessageFilter_struct_SOUI::IMessageFilter__]
call dword [sym.imp.soui.dll_public:_static_class_SOUI::SApplication____cdecl_SOUI::SSingleton_class_SOUI::SApplication_::getSingleton_void_]
mov ecx, eax
call dword [sym.imp.soui.dll_public:_struct_SOUI::IToolTipFactory____thiscall_SOUI::SApplication::GetToolTipFactory_void_]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x30c]
push edx
mov eax, dword [ebp - 0x18]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x18]
mov eax, dword [edx + 0x10]
call eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x30c], 0
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x258], 0
je 0x553b0d
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x258]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::IsWindow_void_]
test eax, eax
je 0x553b0d
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ecx + 0x258]
call dword [sym.imp.soui.dll_public:_int___thiscall_SOUI::CSimpleWnd::DestroyWindow_void_]
push 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x314
call fcn.0057b4f0
push 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x310
call fcn.0057b480
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x38]
call fcn.0057b3b0
call fcn.0058d150
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret