joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44f160
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
jmp 0x44f160
sub esp, 0x130
mov eax, dword [0x7ce4f0]
xor eax, esp
mov dword [esp + 0x12c], eax
push ebx
push esi
mov esi, dword [esp + 0x13c]
xor ebx, ebx
mov dword [esp + 0x24], esi
cmp esi, ebx
je 0x44f312
cmp byte [esi], bl
je 0x44f312
lea eax, [esp + 0x10]
push eax
push 0x20019
push ebx
push str.SYSTEMCurrentControlSetControlClass4D36E972_E325_11CE_BFC1_08002BE10318
push 0x80000002
mov dword [esp + 0x24], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x44f312
mov edx, dword [esp + 0x10]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [esp + 0x28]
push ecx
push ebx
push ebx
push ebx
push edx
mov dword [esp + 0x3c], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
test eax, eax
je 0x44f1e4
mov dword [esp + 0xc], 0x64
push edi
xor edi, edi
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x10], ebx
jbe 0x44f300
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea esp, [esp]
xor eax, eax
push edi
push str._04u
mov dword [esp + 0x38], eax
mov byte [esp + 0x3c], al
lea eax, [esp + 0x38]
push 5
push eax
call fcn.00401faa
mov eax, dword [esp + 0x28]
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
push 0x20019
push ebx
lea edx, [esp + 0x3c]
push edx
push eax
mov dword [esp + 0x24], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x44f2d9
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x28]
push eax
push ebx
push str.NetCfgInstanceId
push ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], 0x104
call ebp
test eax, eax
je 0x44f27f
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x44f2d9
push esi
lea eax, [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x44f29c
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x44f2d9
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
push ebx
push str.Characteristics
push edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], 4
call ebp
mov esi, eax
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp esi, ebx
je 0x44f2f7
mov esi, dword [esp + 0x2c]
inc edi
cmp edi, dword [esp + 0x14]
jb 0x44f200
mov edx, dword [esp + 0x18]
pop ebp
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x24]
pop edi
jmp 0x44f314
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
pop ebp
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x24]
pop edi
jmp 0x44f314
xor eax, eax
mov ecx, dword [esp + 0x134]
pop esi
pop ebx
xor ecx, esp
call fcn.006376f4
add esp, 0x130
ret 4
Function at 0x4e1010
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], ecx
cmp dword [ebp + 8], 1
jne 0x4e1053
mov eax, dword [0x7e2f50]
add eax, 0x1d4c0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x238], eax
mov ecx, dword [ebp - 4]
add ecx, 0x284
call fcn.004102a3
push str.ANRaster.tga
mov ecx, dword [ebp - 4]
add ecx, 0x284
call fcn.00402d38
jmp 0x4e106c
mov ecx, dword [ebp - 4]
add ecx, 0x284
call fcn.004102a3
push str.ANRaster.tga
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 4]
call fcn.0040f178
mov esp, ebp
pop ebp
ret 4
Function at 0x50dac0
Capabilities:
Enumerate processes

Disassembly:
jmp 0x50dac0
sub esp, 0x1ac
mov eax, dword [0x7ce4f0]
xor eax, esp
mov dword [esp + 0x1a8], eax
push ebx
mov ebx, dword [sym.imp.WINMM.dll_timeGetTime]
push esi
mov esi, ecx
call ebx
cmp dword [esi + 0xf4], 0
jne 0x50daef
mov dword [esi + 0xf4], eax
sub eax, dword [esi + 0xf4]
cmp eax, 0x1388
jbe 0x50dbcb
mov ecx, dword [esi + 0xd0]
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xe4], eax
test ecx, ecx
jle 0x50db25
test eax, eax
je 0x50db22
mov eax, dword [eax]
mov dword [esi + 0xe4], eax
dec ecx
jne 0x50db16
push edi
push 0
push 2
mov dword [esp + 0x14], 0x128
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
cmp edi, 0xffffffff
je 0x50dbca
lea ecx, [esp + 0xc]
push ecx
push edi
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x50dbbb
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x138]
push 0x671e1c
push eax
call fcn.00637c09
add esp, 0xc
lea ecx, [esp + 0x134]
push ecx
mov ecx, esi
call fcn.00404d22
test eax, eax
je 0x50dbac
mov ecx, 0x7f55f8
call fcn.0040db07
push 0x230
mov ecx, 0x7e4388
call fcn.004107c1
push eax
push 1
push 0x179e
push 0x7e1258
call fcn.00408a3a
add esp, 0x10
lea edx, [esp + 0xc]
push edx
push edi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x50db51
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call ebx
mov dword [esi + 0xf4], eax
pop edi
mov ecx, dword [esp + 0x1b0]
pop esi
pop ebx
xor ecx, esp
call fcn.006376f4
add esp, 0x1ac
ret
Function at 0x56ff70
Capabilities:
Read file on windows

Disassembly:
jmp 0x56ff70
sub esp, 0x18
mov eax, dword [0x7ce4f0]
xor eax, esp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push ebx
push esi
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push eax
mov ebx, ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x570048
push edi
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
lea eax, [esp + 0x10]
push eax
push 4
lea ecx, [esp + 0x1c]
push ecx
push esi
call edi
test eax, eax
je 0x56ffd0
cmp dword [esp + 0x10], 0x6060801
je 0x56ffeb
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.006376f4
add esp, 0x18
ret 4
push 0
lea edx, [esp + 0x10]
push edx
push 0xc
lea eax, [esp + 0x20]
push eax
push esi
call edi
push esi
test eax, eax
je 0x56ffd1
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebx + 0x1c], 0
je 0x570047
mov ecx, dword [0x7e1d24]
test ecx, ecx
je 0x570047
mov edx, dword [esp + 0x18]
push edx
call fcn.00407f81
mov eax, dword [esp + 0x14]
mov ecx, dword [0x7e1d24]
push eax
call fcn.00406ba9
fld dword [esp + 0x1c]
push 0
push ecx
fstp dword [esp]
push 0
mov ecx, 0x818158
call fcn.00408d00
pop edi
mov ecx, dword [esp + 0x1c]
pop esi
pop ebx
xor ecx, esp
call fcn.006376f4
add esp, 0x18
ret 4

Function at 0x570060
Capabilities:
Write file on windows

Disassembly:
jmp 0x570060
sub esp, 0x18
mov eax, dword [0x7ce4f0]
xor eax, esp
mov dword [esp + 0x14], eax
mov ecx, dword [0x7e1d24]
push esi
mov esi, dword [esp + 0x20]
test ecx, ecx
je 0x5700fa
call fcn.00401f7d
fld dword [0x818198]
push 0
push 0x80
push 2
push 0
mov dword [esp + 0x20], eax
mov eax, dword [0x7e1d24]
mov cx, word [eax + 0x688]
fstp dword [esp + 0x24]
push 0
push 0x40000000
push esi
mov word [esp + 0x28], cx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x5700fa
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
push 0
lea edx, [esp + 0xc]
push edx
push 4
lea eax, [esp + 0x18]
push eax
push esi
mov dword [esp + 0x20], 0x6060801
call edi
push 0
lea ecx, [esp + 0xc]
push ecx
push 0xc
lea edx, [esp + 0x1c]
push edx
push esi
call edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov ecx, dword [esp + 0x18]
pop esi
xor ecx, esp
call fcn.006376f4
add esp, 0x18
ret 4
Function at 0x570fd0
Capabilities:
Create directory

Disassembly:
jmp 0x570fd0
sub esp, 0x108
mov eax, dword [0x7ce4f0]
xor eax, esp
mov dword [esp + 0x104], eax
push ebx
mov ebx, dword [esp + 0x110]
push esi
mov esi, ecx
test ebx, ebx
je 0x5710b9
push ebp
push edi
push 0
mov ecx, 0x818c58
call fcn.00404778
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea eax, [esp + 0x14]
push str._sData
push eax
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add esp, 0xc
push 0
lea ecx, [esp + 0x14]
push ecx
call ebp
mov edx, dword [esi + 0x18]
push edx
push 0
mov ecx, 0x818c58
call fcn.00404778
push eax
lea eax, [esp + 0x18]
push str._sData_d
push eax
call edi
add esp, 0x10
push 0
lea ecx, [esp + 0x14]
push ecx
call ebp
test bl, 1
je 0x571085
mov eax, dword [esi + 0x18]
push eax
push eax
push 0
mov ecx, 0x818c58
call fcn.00404778
push eax
lea edx, [esp + 0x1c]
push str._sData_d_d.UII
push edx
call edi
add esp, 0x14
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call fcn.0040cf2c
test bl, 2
je 0x5710b7
mov eax, dword [esi + 0x18]
push eax
push eax
push 0
mov ecx, 0x818c58
call fcn.00404778
push eax
lea ecx, [esp + 0x1c]
push str._sData_d_d.UIS
push ecx
call edi
add esp, 0x14
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.0040745f
pop edi
pop ebp
mov ecx, dword [esp + 0x10c]
pop esi
pop ebx
xor ecx, esp
call fcn.006376f4
add esp, 0x108
ret 4
Function at 0x58ee00
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3e8
mov eax, dword [0x7ce4f0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x3e8], ecx
push 0xff
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea ecx, [ebp - 0x108]
push ecx
call fcn.0063da60
add esp, 8
mov byte [eax + 1], 0
push str.._Ini_AdvancedSet_Cfg.ini
lea edx, [ebp - 0x108]
push edx
call fcn.00638280
add esp, 8
push 0xff
lea eax, [ebp - 0x308]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea ecx, [ebp - 0x308]
push ecx
call fcn.0063da60
add esp, 8
mov byte [eax + 1], 0
push str.._Ini_AdvancedSet_Config.ini
lea edx, [ebp - 0x308]
push edx
call fcn.00638280
add esp, 8
lea eax, [ebp - 0x308]
push eax
push str.admin
lea ecx, [ebp - 0x108]
push ecx
call fcn.0040effc
add esp, 0xc
push 0xc8
push 0
lea edx, [ebp - 0x3d0]
push edx
call fcn.00637530
add esp, 0xc
push str.._Ini_AdvancedSet_Config.ini
lea eax, [ebp - 0x3d0]
push eax
push str.Power
push str.AddPoint
call fcn.00406b2c
add esp, 0x10
lea ecx, [ebp - 0x3d0]
push ecx
call fcn.00638397
add esp, 4
mov edx, dword [ebp - 0x3e8]
mov dword [edx + 0x24c], eax
push 0xc8
push 0
lea eax, [ebp - 0x3d0]
push eax
call fcn.00637530
add esp, 0xc
push str.._Ini_AdvancedSet_Config.ini
lea ecx, [ebp - 0x3d0]
push ecx
push 0x6850cc
push str.AddPoint
call fcn.00406b2c
add esp, 0x10
lea edx, [ebp - 0x3d0]
push edx
call fcn.00638397
add esp, 4
mov ecx, dword [ebp - 0x3e8]
mov dword [ecx + 0x250], eax
push 0xc8
push 0
lea edx, [ebp - 0x3d0]
push edx
call fcn.00637530
add esp, 0xc
push str.._Ini_AdvancedSet_Config.ini
lea eax, [ebp - 0x3d0]
push eax
push 0x6850c8
push str.AddPoint
call fcn.00406b2c
add esp, 0x10
lea ecx, [ebp - 0x3d0]
push ecx
call fcn.00638397
add esp, 4
mov edx, dword [ebp - 0x3e8]
mov dword [edx + 0x254], eax
push 0xc8
push 0
lea eax, [ebp - 0x3d0]
push eax
call fcn.00637530
add esp, 0xc
push str.._Ini_AdvancedSet_Config.ini
lea ecx, [ebp - 0x3d0]
push ecx
push 0x6850c4
push str.AddPoint
call fcn.00406b2c
add esp, 0x10
lea edx, [ebp - 0x3d0]
push edx
call fcn.00638397
add esp, 4
mov ecx, dword [ebp - 0x3e8]
mov dword [ecx + 0x258], eax
lea edx, [ebp - 0x308]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006376f4
mov esp, ebp
pop ebp
ret
Function at 0x5915e0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x14], ecx
mov byte [ebp - 1], 0
mov dword [ebp - 8], 0
push 0x685390
mov eax, dword [ebp + 8]
push eax
call fcn.00637bab
add esp, 8
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x5916ee
mov ecx, dword [ebp - 8]
push ecx
push 0x118
push 1
mov edx, dword [ebp - 0x14]
add edx, 0x14
push edx
call fcn.00638029
add esp, 0x10
cmp eax, 0x118
je 0x591638
jmp 0x5916e0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x118]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x11c]
lea ecx, [eax + ecx*2]
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x120], ecx
je 0x59165d
jmp 0x5916e0
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x124]
push ecx
call fcn.0063661a
add esp, 4
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xc]
mov dword [edx + 0x10], eax
cmp dword [ebp - 0xc], 0
jne 0x591683
jmp 0x5916e0
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x124]
push eax
push 1
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00638029
add esp, 0x10
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x124], eax
je 0x5916af
jmp 0x5916e0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x118]
mov dword [edx + 4], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x11c]
mov dword [edx + 8], ecx
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x124]
mov dword [edx + 0xc], ecx
mov byte [ebp - 1], 1
mov edx, dword [ebp - 8]
push edx
call fcn.006378aa
add esp, 4
jmp 0x5916f2
xor al, al
jmp 0x591731
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x591722
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x10], 0
je 0x591722
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.006375b5
add esp, 4
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x10], 0
mov eax, dword [ebp - 0x14]
mov cl, byte [ebp - 1]
mov byte [eax + 0x128], cl
mov al, byte [ebp - 1]
mov esp, ebp
pop ebp
ret 4
Function at 0x59ba20
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x7ce4f0]
xor eax, ebp
mov dword [ebp - 4], eax
push 0xff
lea eax, [ebp - 0x108]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
lea ecx, [ebp - 0x108]
push ecx
call fcn.0063da60
add esp, 8
mov byte [eax + 1], 0
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.00638280
add esp, 8
lea ecx, [ebp - 0x108]
push ecx
push 0xff
mov edx, dword [ebp + 0x10]
push edx
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006376f4
mov esp, ebp
pop ebp
ret

Function at 0x59d740
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
mov dword [eax], vtable.PingManager.0
mov ecx, dword [ebp - 0xc]
add ecx, 8
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov dword [edx], 0
mov eax, dword [ebp - 4]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 8], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0xc], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x10], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x14], 0
push 0x1e
mov ecx, dword [ebp - 0xc]
add ecx, 8
call fcn.00407ae5
mov edx, dword [ebp - 0xc]
mov dword [edx + 0x2c], 1
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x30], 0
push 0
push 0
push 0
push 0x401ff0
push 0
push 0
call fcn.0063dfa2
add esp, 0x18
mov ecx, dword [ebp - 0xc]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret

Function at 0x59e2d0
Capabilities:
Create raw socket
Initialize winsock library
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov eax, dword [0x7ce4f0]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x1a4], ecx
xor eax, eax
mov word [ebp - 0x198], ax
push 0x18e
push 0
lea ecx, [ebp - 0x196]
push ecx
call fcn.00637530
add esp, 0xc
lea edx, [ebp - 0x198]
push edx
push 0x102
call sub.WSOCK32.dll_WSAStartup
test eax, eax
je 0x59e324
xor al, al
jmp 0x59e3cb
push 1
push 3
push 2
call sub.WSOCK32.dll_socket
mov ecx, dword [ebp - 0x1a4]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x1a4]
cmp dword [edx + 4], 0xffffffff
jne 0x59e34b
xor al, al
jmp 0x59e3cb
mov dword [ebp - 0x19c], 0x7d0
push 4
lea eax, [ebp - 0x19c]
push eax
push 0x1006
push 0xffff
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ecx + 4]
push edx
call sub.WSOCK32.dll_setsockopt
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0xffffffff
jne 0x59e38a
xor al, al
jmp 0x59e3cb
mov dword [ebp - 0x19c], 0x7d0
push 4
lea eax, [ebp - 0x19c]
push eax
push 0x1005
push 0xffff
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ecx + 4]
push edx
call sub.WSOCK32.dll_setsockopt
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 0xffffffff
jne 0x59e3c9
xor al, al
jmp 0x59e3cb
mov al, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006376f4
mov esp, ebp
pop ebp
ret
Function at 0x5ac3f0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74c
mov eax, dword [0x7ce4f0]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x748], ecx
mov eax, dword [ebp - 0x748]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x748]
push edx
mov eax, dword [ecx + 0x20]
call eax
test eax, eax
je 0x5ac447
push 0x7c9
mov ecx, 0x7e4388
call fcn.004107c1
push eax
push 0x1d
push 0x7e4388
call fcn.004018f2
add esp, 0xc
xor eax, eax
jmp 0x5ac671
mov dword [ebp - 4], 0
mov ecx, dword [0x8158a0]
mov edx, dword [ecx]
mov eax, dword [0x8158a0]
push eax
mov ecx, dword [edx + 0x10]
call ecx
mov dword [ebp - 0x74c], eax
lea edx, [ebp - 4]
push edx
push 0x686580
mov eax, dword [ebp - 0x74c]
push eax
mov ecx, dword [ebp - 0x74c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x134]
call eax
test eax, eax
jne 0x5ac492
xor eax, eax
jmp 0x5ac671
mov ecx, dword [ebp - 0x748]
xor edx, edx
cmp dword [ecx + 0xc], 0
setne dl
test edx, edx
jne 0x5ac4fd
push str.bdcap32.dll
mov ecx, dword [ebp - 0x748]
call fcn.00404b1f
test eax, eax
jge 0x5ac4df
push 0x7ca
mov ecx, 0x7e4388
call fcn.004107c1
push eax
push 0x1d
push 0x7e4388
call fcn.004018f2
add esp, 0xc
xor eax, eax
jmp 0x5ac671
push str.e5b68af6
push str.EYA_LUNAPLUS_20100218
mov eax, dword [ebp - 0x748]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x748]
push edx
mov eax, dword [ecx + 0xc]
call eax
mov ecx, dword [ebp - 0x748]
xor edx, edx
cmp dword [ecx + 0xc], 0
setne dl
test edx, edx
je 0x5ac66c
lea ecx, [ebp - 0x378]
call fcn.004084d6
push 0x3c
push 0x1e
mov eax, dword [ebp - 0x748]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x748]
push edx
mov eax, dword [ecx + 0x40]
call eax
mov ecx, dword [ebp - 0x748]
call fcn.0040fec0
push 0
mov ecx, 0x818c58
call fcn.00404778
push eax
push str._sScreenShot
lea ecx, [ebp - 0x480]
push ecx
call fcn.00637c09
add esp, 0xc
push 0
lea edx, [ebp - 0x480]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x5ac5a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x5ac5a9
push 0x7cc
mov ecx, 0x7e4388
call fcn.004107c1
push eax
push 0x1d
push 0x7e4388
call fcn.004018f2
add esp, 0xc
xor eax, eax
jmp 0x5ac671
lea eax, [ebp - 0x534]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
push 0x6867ac
movzx ecx, word [ebp - 0x526]
push ecx
movzx edx, word [ebp - 0x528]
push edx
movzx eax, word [ebp - 0x52a]
push eax
movzx ecx, word [ebp - 0x52c]
push ecx
movzx edx, word [ebp - 0x52e]
push edx
movzx eax, word [ebp - 0x532]
push eax
movzx ecx, word [ebp - 0x534]
push ecx
push str.Capture
lea edx, [ebp - 0x480]
push edx
push str._s_s__d__02d__02d__02d__02d__02d__03d._s
push 0x104
lea eax, [ebp - 0x110]
push eax
call fcn.00637ca9
add esp, 0x34
lea ecx, [ebp - 0x110]
push ecx
push 0x7cd
mov ecx, 0x7e4388
call fcn.004107c1
push eax
push 0x1d
push 0x7e4388
call fcn.004018f2
add esp, 0x10
mov edx, dword [ebp - 4]
push edx
push 4
push 0
lea eax, [ebp - 0x110]
push eax
mov ecx, dword [ebp - 0x748]
push ecx
call fcn.00407766
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
jge 0x5ac66c
xor eax, eax
jmp 0x5ac671
mov eax, 1
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.006376f4
mov esp, ebp
pop ebp
ret
Function at 0x5af360
Capabilities:
Read file on windows

Disassembly:
jmp 0x5af360
sub esp, 0x208
mov eax, dword [0x7ce4f0]
xor eax, esp
mov dword [esp + 0x204], eax
push esi
push edi
mov edi, dword [esp + 0x214]
mov esi, ecx
mov dword [esp + 8], edi
test edi, edi
jne 0x5af38e
xor eax, eax
jmp 0x5af44a
push 0x6719d4
push edi
call fcn.00637bab
lea edx, [esi + 0x30]
add esp, 8
mov dword [esi + 4], eax
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5af3a6
mov eax, dword [esi + 4]
test eax, eax
je 0x5af387
push ebx
push ebp
push 2
push 0
push eax
call fcn.0063e0cc
mov eax, dword [esi + 4]
push eax
call fcn.0063e414
mov ecx, dword [esi + 4]
push 0
push 0
push ecx
mov ebx, eax
call fcn.0063e0cc
add esp, 0x1c
mov ecx, esi
call fcn.00409eee
mov edx, dword [esi + 4]
push edx
push 1
lea edi, [esi + 0x18]
push 0xc
push edi
call fcn.00638029
mov eax, dword [edi]
sub eax, dword [esi + 0x1c]
add esp, 0x10
sub eax, dword [esi + 0x20]
lea ecx, [esi + 0x148]
push eax
call fcn.00406a5a
test eax, eax
jne 0x5af463
push eax
push 0x38
push str.MHFile.cpp
call fcn.00409a0c
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push str.Bin_File_Version_Error_____s
push edx
call fcn.00637c09
add esp, 0x18
push 0
push 0
lea eax, [esp + 0x1c]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop ebp
pop ebx
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
xor ecx, esp
call fcn.006376f4
add esp, 0x208
ret 4
lea ecx, [esi + 0x148]
call fcn.00401456
test eax, eax
je 0x5af507
lea edi, [ebx - 0xe]
push edi
call fcn.0063661a
add esp, 4
mov dword [esi + 0x28], eax
test eax, eax
jne 0x5af49b
push eax
push 0x49
push str.MHFile.cpp
call fcn.00409a0c
add esp, 0xc
jmp 0x5af446
push edi
push 0
push eax
call fcn.00637530
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x28]
mov eax, dword [esi + 4]
add esp, 0xc
push ecx
push edi
push edx
push eax
lea ecx, [esi + 0x148]
call fcn.00402388
test eax, eax
jne 0x5af4e7
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push str.File_Open_Error_:__s
push edx
call fcn.00637c09
add esp, 0xc
push 0
push 0
lea eax, [esp + 0x1c]
jmp 0x5af43d
mov ecx, dword [esi + 4]
push ecx
call fcn.006378aa
mov eax, 1
add esp, 4
mov dword [esi + 4], 0
mov dword [esi + 0x2c], eax
jmp 0x5af448
mov edx, dword [esi + 4]
push edx
push 1
lea eax, [esi + 0x24]
push 1
push eax
call fcn.00638029
mov eax, dword [esi + 0x20]
add esp, 0x10
test eax, eax
je 0x5af53e
push eax
call fcn.0063661a
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x20]
push ecx
push edx
push 1
push eax
mov dword [esi + 0x28], eax
call fcn.00638029
add esp, 0x14
mov eax, dword [esi + 4]
push eax
push 1
lea ecx, [esi + 0x25]
push 1
push ecx
call fcn.00638029
mov edx, dword [esi + 4]
push edx
call fcn.006378aa
add esp, 0x14
mov ecx, esi
mov dword [esi + 4], 0
call fcn.00409cf0
test eax, eax
je 0x5af446
call fcn.0040e27d
test eax, eax
je 0x5af446
mov eax, 1
mov dword [esi + 0x2c], eax
jmp 0x5af448