joyce8/EMBER2024-capa huggingface dataset:
Function at 0xfb7f10
Capabilities:
Get disk information

Disassembly:
push 0xffffffffffffffff
push 0xfcc9fb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov esi, dword [esp + 0x2c]
xor ebp, ebp
mov dword [esp + 0x10], eax
xor ebx, ebx
mov eax, 1
mov ecx, ebx
shl eax, cl
mov ecx, dword [esp + 0x10]
test ecx, eax
je 0xfb8002
lea edx, [ebx + 0x41]
lea eax, [esp + 0x14]
push edx
push str._c:_
push eax
call fcn.00fbbdff
add esp, 0xc
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDriveTypeW]
cmp eax, 3
jne 0xfb8002
lea edx, [esp + 0x14]
push edx
push str.Mounting__s_n
call fcn.00fb36e0
lea eax, [esp + 0x1c]
lea edi, [esi + 0x1048]
push eax
push edi
mov word [esp + 0x28], bp
call fcn.00fbc20b
push 0x10
call fcn.00fbc1d3
add esp, 0x14
mov dword [esp + 0x2c], eax
cmp eax, ebp
mov dword [esp + 0x24], ebp
je 0xfb7fc5
mov cx, word [edi]
push ecx
mov ecx, eax
call fcn.00fa81c0
jmp 0xfb7fc7
xor eax, eax
push esi
mov dword [esp + 0x28], 0xffffffff
mov dword [esi], eax
call fcn.00fb7b80
mov edi, dword [esi]
add esp, 4
cmp edi, ebp
je 0xfb7ff0
mov ecx, edi
call fcn.00fa82c0
push edi
call fcn.00fbc1c8
add esp, 4
mov edx, dword [esi + 0x1024]
push ebp
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0xfb8021
inc ebx
cmp ebx, 0x20
jb 0xfb7f3e
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret
Function at 0xfb9250
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xfcd808
push 0xfbd288
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x28], ebx
xor esi, esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 0x24], bl
mov dword [ebp - 4], ebx
mov byte [ebp - 0x34], bl
mov byte [ebp - 0x33], bl
mov byte [ebp - 0x32], bl
mov byte [ebp - 0x31], bl
mov byte [ebp - 0x30], bl
mov byte [ebp - 0x2f], 5
lea eax, [ebp - 0x1c]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x12
push 1
lea ecx, [ebp - 0x34]
push ecx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0xfb9329
lea edx, [ebp - 0x28]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0xfb9329
mov dword [ebp - 0x2c], ebx
lea eax, [ebp - 0x2c]
push eax
push ebx
push ebx
push 1
mov ecx, dword [ebp - 0x28]
push ecx
mov edi, dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
call edi
mov edx, dword [ebp - 0x2c]
push edx
call fcn.00fbc1d3
add esp, 4
mov esi, eax
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x20], esi
cmp esi, ebx
je 0xfb9329
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
push esi
push 1
mov edx, dword [ebp - 0x28]
push edx
call edi
test eax, eax
je 0xfb9329
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [esi]
push ecx
call dword [sym.imp.ADVAPI32.dll_EqualSid]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 0x24], al
jmp 0xfb932c
mov al, byte [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call fcn.00fb9351
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0xfb9d20
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
mov edx, dword [esp + 8]
push esi
mov esi, dword [esp + 0x10]
lea eax, [esp + 4]
push eax
mov eax, dword [ecx + 4]
push esi
push 0
push 0
push edx
push eax
mov dword [esp + 0x1c], 8
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0xfb9d58
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esi], ecx
mov dword [esi + 4], edx
pop esi
pop ecx
ret 0x10

Function at 0xfb9d60
Capabilities:
Query or enumerate registry value

Disassembly:
mov edx, dword [esp + 4]
push esi
mov esi, dword [esp + 0xc]
lea eax, [esp + 0x10]
push eax
mov eax, dword [ecx + 4]
push esi
push 0
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
je 0xfb9d94
mov eax, dword [esp + 0x14]
test eax, eax
je 0xfb9d94
push eax
push esi
call fcn.00fbc20b
add esp, 8
pop esi
ret 0x10

Function at 0xfb9da0
Capabilities:
Query or enumerate registry value

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x24
lea eax, [esp + 0x28]
push eax
mov eax, dword [ecx + 4]
push 0x20019
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0xfb9e22
push ebx
mov ebx, dword [esp + 0x30]
push esi
xor esi, esi
test ebx, ebx
jbe 0xfb9e15
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push edi
mov edi, dword [esp + 0x40]
push esi
lea ecx, [esp + 0x18]
push 0xfd2320
push ecx
mov dword [esp + 0x1c], 4
call fcn.00fbbdff
mov ecx, dword [esp + 0x44]
add esp, 0xc
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
push edx
push edi
push 0
push 0
push eax
push ecx
call ebp
inc esi
add edi, 4
cmp esi, ebx
jb 0xfb9dda
pop edi
pop ebp
mov edx, dword [esp + 0x30]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
pop ebx
add esp, 0x24
ret 0xc

Function at 0xfb9e30
Capabilities:
Query or enumerate registry value

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x28
lea eax, [esp + 0x2c]
push eax
mov eax, dword [ecx + 4]
push 0x20019
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0xfb9ec2
push ebp
mov ebp, dword [esp + 0x34]
push esi
xor esi, esi
test ebp, ebp
jbe 0xfb9eb5
push ebx
mov ebx, dword [esp + 0x40]
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push esi
lea ecx, [esp + 0x1c]
push 0xfd2320
push ecx
mov dword [esp + 0x1c], 4
call fcn.00fbbdff
add esp, 0xc
lea edx, [esp + 0x10]
lea eax, [esp + 0x14]
lea ecx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x40]
push eax
push 0
push 0
push ecx
push edx
call edi
test eax, eax
jne 0xfb9eab
mov ax, word [esp + 0x14]
mov word [ebx], ax
inc esi
add ebx, 2
cmp esi, ebp
jb 0xfb9e6a
pop edi
pop ebx
mov ecx, dword [esp + 0x34]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
pop ebp
add esp, 0x28
ret 0xc
Function at 0xfba000
Capabilities:
Get file version info

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push ebp
push esi
lea eax, [esp + 0xc]
push edi
push eax
push ebx
call sub.VERSION.dll_GetFileVersionInfoSizeW
mov esi, eax
test esi, esi
je 0xfba131
push esi
call fcn.00fbd145
add esp, 4
mov edi, eax
push edi
push esi
push 0
push ebx
call sub.VERSION.dll_GetFileVersionInfoW
push 0
push 0x80
push 3
push 0
push 0
push 0xc0000000
push ebx
call fcn.00fac080
mov ebp, eax
add esp, 0x1c
cmp ebp, 0xffffffff
je 0xfba131
push 0
push ebp
call fcn.00fac3a0
push 0
push 0
push 0
push 4
push 0
push ebp
mov ebx, eax
call fcn.00fac260
add esp, 0x20
mov dword [esp + 0x18], eax
test eax, eax
jne 0xfba08b
push ebp
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
push 0
push 0
push 0
push 6
push eax
call fcn.00fac2f0
mov esi, eax
add esp, 0x14
test esi, esi
je 0xfba121
push 0xfd2918
push edi
call fcn.00fbb3f0
push eax
push ebx
push esi
call fcn.00fb9f60
push 0xfd28f8
push edi
call fcn.00fbb3f0
push eax
push ebx
push esi
call fcn.00fb9f60
push 0xfd28d8
push edi
call fcn.00fbb3f0
push eax
push ebx
push esi
call fcn.00fb9f60
push 0xfd28c0
push edi
call fcn.00fbb3f0
add esp, 0x44
push eax
push ebx
push esi
call fcn.00fb9f60
push 0xfd28a0
push edi
call fcn.00fbb3f0
push eax
push ebx
push esi
call fcn.00fb9f60
push 0xfd2888
push edi
call fcn.00fbb3f0
push eax
push ebx
push esi
call fcn.00fb9f60
add esp, 0x34
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov ecx, dword [esp + 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
push ebp
call esi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0xfbb1b0
Capabilities:
Acquire debug privileges

Disassembly:
push ecx
lea eax, [esp]
mov dword [esp], 0
push eax
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp]
push 1
push str.SeBackupPrivilege
push ecx
call fcn.00fbb140
mov edx, dword [esp + 0xc]
push 1
push str.SeDebugPrivilege
push edx
call fcn.00fbb140
mov eax, dword [esp + 0x18]
push 1
push str.SeRestorePrivilege
push eax
call fcn.00fbb140
mov ecx, dword [esp + 0x24]
push 1
push str.SeSecurityPrivilege
push ecx
call fcn.00fbb140
mov edx, dword [esp + 0x30]
add esp, 0x30
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
pop ecx
ret

Function at 0xfbbbfa
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
lea eax, [ebp - 4]
push eax
push 0x20019
xor esi, esi
push esi
push str.CLSIDADB880A6_D8FF_11CF_9377_00AA003B7A11InprocServer32
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0xfbbc50
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
mov dword [ebp - 8], 0x104
push esi
push esi
push 0xfcd87c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0xfbbc43
inc esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0xfbbc52
xor eax, eax
pop esi
leave
ret 4
Function at 0x10001450
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10007860
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x1000c040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x1000c7a0], 1
jne 0x10001515
push 0xb0
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push ecx
lea ecx, [ebp - 0xc0]
call fcn.10002340
mov edx, str._n_AntiHacker:
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xc0]
call fcn.100026e0
mov edx, str.File_integrity_violated_
lea ecx, [ebp - 0xc0]
call fcn.100026e0
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xbc]
call fcn.10002260
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
cmp dword [0x1000c7a4], 2
push 0
jne 0x10001540
push 0
push 0
push 0x10001430
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0x100015d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100078a0
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x1000c040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push esi
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
je 0x100016dc
cmp dword [0x1000c7a0], 1
jne 0x100016a6
push 0xb0
lea eax, [ebp - 0xc0]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push ecx
lea ecx, [ebp - 0xc0]
call fcn.10002340
mov edx, str._n_AntiHacker:
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xc0]
call fcn.100026e0
mov edx, esi
lea ecx, [ebp - 0xc0]
call fcn.100026e0
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc0], vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xc4], eax
lea ecx, [ebp - 0xbc]
call fcn.10002260
lea ecx, [ebp - 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [0x1000c7a4]
cmp eax, 2
jne 0x100016d5
push 0
push 0
push 0
push 0x100015b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [0x1000c7a4]
test eax, eax
sete al
jmp 0x100016de
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret
Function at 0x100020e0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x1000c040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
cmp ebx, 0xffffffff
jne 0x10002110
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x20]
push edi
mov ecx, dword [eax]
test ecx, ecx
je 0x1000214c
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
lea eax, [edi + ecx]
cmp ecx, eax
jae 0x1000214c
lea ecx, [edi - 1]
mov eax, ebx
mov dword [edx], ecx
mov edx, dword [esi + 0x20]
pop edi
mov esi, dword [edx]
lea ecx, [esi + 1]
mov dword [edx], ecx
mov byte [esi], bl
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x4c], 0
je 0x10002223
mov edi, dword [esi + 0xc]
lea eax, [esi + 0x3c]
cmp dword [edi], eax
jne 0x10002174
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
sub edx, ecx
mov dword [edi], ecx
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x2c]
mov dword [eax], edx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x10002180
movsx eax, bl
jmp 0x100021b8
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x25], bl
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x25]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::out_struct__Mbstatet___char_const___char_const___char_const____char___char___char___const]
sub eax, 0
je 0x100021e2
sub eax, 1
je 0x100021e2
sub eax, 2
jne 0x10002223
movsx eax, byte [ebp - 0x25]
push dword [esi + 0x4c]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
add esp, 8
or ecx, 0xffffffff
cmp eax, ecx
cmove ebx, ecx
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x10002200
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x10002223
lea ecx, [ebp - 0x25]
mov byte [esi + 0x3d], 1
or eax, 0xffffffff
cmp dword [ebp - 0x30], ecx
pop edi
pop esi
cmovne eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10006933
mov esp, ebp
pop ebp
ret 4
Function at 0x10002610
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x1000c040]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x100026cc
cmp byte [esi + 0x3d], 0
je 0x100026cc
mov eax, dword [esi]
push edi
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x100026ba
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [sym.imp.MSVCP140.dll_public:_int___thiscall_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet___char___char___char___const]
sub eax, 0
je 0x10002681
sub eax, 1
je 0x10002685
sub eax, 2
jne 0x100026ba
mov byte [esi + 0x3d], al
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x100026a3
push dword [esi + 0x4c]
push edi
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
cmp edi, eax
jne 0x100026ba
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10006933
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.10006933
mov esp, ebp
pop ebp
ret
Function at 0x10002da0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [0x1000c040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1000c6e4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1000c718]
cmp eax, dword [ecx + 4]
jle 0x10002e03
push 0x1000c718
call fcn.100069f3
add esp, 4
cmp dword [0x1000c718], 0xffffffff
jne 0x10002e03
push 0x10007aa0
mov dword [0x1000c71c], 0x100087b4
call fcn.10006d5c
push 0x1000c718
call fcn.100069a2
add esp, 8
push esi
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 8]
push eax
push 0x40
push 4
push 0x445f40
mov dword [ebp - 8], 0
call esi
test eax, eax
je 0x10002e3e
lea eax, [ebp - 8]
mov dword [0x445f40], 0x1000c808
push eax
push dword [ebp - 8]
push 4
push 0x445f40
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 4
push 0x473096
call esi
test eax, eax
je 0x10002e72
lea eax, [ebp - 8]
mov dword [0x473096], 0x1000c808
push eax
push dword [ebp - 8]
push 4
push 0x473096
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 4
push 0x565b54
call esi
test eax, eax
je 0x10002ea6
lea eax, [ebp - 8]
mov dword [0x565b54], 0x1000c808
push eax
push dword [ebp - 8]
push 4
push 0x565b54
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x445f30
call esi
test eax, eax
je 0x10002ed7
lea eax, [ebp - 8]
mov byte [0x445f30], 0x32
push eax
push dword [ebp - 8]
push 1
push 0x445f30
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x565b49
call esi
test eax, eax
je 0x10002f08
lea eax, [ebp - 8]
mov byte [0x565b49], 0x32
push eax
push dword [ebp - 8]
push 1
push 0x565b49
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x472c84
call esi
test eax, eax
je 0x10002f39
lea eax, [ebp - 8]
mov byte [0x472c84], 0x32
push eax
push dword [ebp - 8]
push 1
push 0x472c84
call esi
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x40
push 1
push 0x4ad834
call esi
test eax, eax
je 0x10002f6a
lea eax, [ebp - 8]
mov byte [0x4ad834], 0xeb
push eax
push dword [ebp - 8]
push 1
push 0x4ad834
call esi
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.10006933
mov esp, ebp
pop ebp
ret
Function at 0x10002fd0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push esi
push edi
cmp eax, 1
jne 0x100031fc
push str.ws2_32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.recv
push str.ws2_32.dll
call edi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
push str.send
push str.ws2_32.dll
mov dword [0x1000cd24], eax
call edi
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0
push 6
push 0x1000cd2c
push dword [0x1000cd24]
mov dword [0x1000cd28], eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push eax
call esi
push 0
push 6
push 0x1000cd1c
push dword [0x1000cd28]
call edi
push eax
call esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x10001240
push 0
push 0
call esi
push 0
push 0
push 0
push 0x10003670
push 0
push 0
call esi
push 0
push 0
push 0
push 0x10001590
push 0
push 0
call esi
call fcn.10001700
push 0
push 0
push 0
push 0x100017d0
push 0
push 0
call esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
push str.shell32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp dword [ebp + 0x10], 0
mov byte [0x1000c721], 0
jne 0x100031f4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1000c6e4]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x1000d228]
cmp eax, dword [esi + 4]
jle 0x1000311b
push 0x1000d228
call fcn.100069f3
add esp, 4
cmp dword [0x1000d228], 0xffffffff
jne 0x1000311b
push 0x10007ab0
mov dword [0x1000d22c], 0x10008810
call fcn.10006d5c
push 0x1000d228
call fcn.100069a2
add esp, 8
mov eax, dword [0x1000d218]
cmp eax, dword [esi + 4]
jle 0x1000315f
push 0x1000d218
call fcn.100069f3
add esp, 4
cmp dword [0x1000d218], 0xffffffff
jne 0x1000315f
push 0x10007a90
mov dword [0x1000d21c], 0x10008790
call fcn.10006d5c
push 0x1000d218
call fcn.100069a2
add esp, 8
call fcn.10002d20
mov edi, dword [sym.imp.USER32.dll_MessageBoxA]
test al, al
je 0x100031e4
mov eax, dword [0x1000d224]
cmp eax, dword [esi + 4]
jle 0x100031b2
push 0x1000d224
call fcn.100069f3
add esp, 4
cmp dword [0x1000d224], 0xffffffff
jne 0x100031b2
push 0x10007a80
mov dword [0x1000d220], 0x100087a0
call fcn.10006d5c
push 0x1000d224
call fcn.100069a2
add esp, 8
call fcn.10003b00
test al, al
je 0x100031e4
call fcn.10003270
test al, al
jne 0x100031d1
call fcn.10003320
test al, al
je 0x10003261
push 0x200030
push str.Info
push str.Detectado_Maquina_Virtual
push 0
call edi
push 0
push str.Erro:_ClientPatch.dll
push 0x100087d8
push 0
call edi
pop edi
xor eax, eax
pop esi
pop ebp
ret 0xc
test eax, eax
jne 0x100031f4
cmp dword [ebp + 0x10], eax
je 0x100031f4
mov eax, dword fs:[0x2c]
mov ecx, dword [0x1000c6e4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1000d228]
cmp eax, dword [ecx + 4]
jle 0x10003258
push 0x1000d228
call fcn.100069f3
add esp, 4
cmp dword [0x1000d228], 0xffffffff
jne 0x10003258
push 0x10007ab0
mov dword [0x1000d22c], 0x10008810
call fcn.10006d5c
push 0x1000d228
call fcn.100069a2
add esp, 8
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop edi
mov eax, 1
pop esi
pop ebp
ret 0xc
Function at 0x100067d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x4c
mov eax, dword [0x1000c040]
xor eax, esp
mov dword [esp + 0x48], eax
cmp dword [ebp + 0x10], 0
push esi
mov esi, dword [ebp + 8]
jne 0x10006899
mov eax, 0x20d
cmp word [esi + 4], ax
jne 0x10006899
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.RPCRT4.dll_UuidCreateSequential]
movzx eax, byte [esp + 0x1f]
xorps xmm0, xmm0
push eax
movzx eax, byte [esp + 0x22]
push eax
movzx eax, byte [esp + 0x25]
push eax
movzx eax, byte [esp + 0x28]
push eax
movzx eax, byte [esp + 0x2b]
push eax
movzx eax, byte [esp + 0x2e]
push eax
lea eax, [esp + 0x38]
movaps xmmword [esp + 0x38], xmm0
push str._02X:_02X:_02X:_02X:_02X:_02X
push eax
mov word [esp + 0x50], 0
call fcn.10002c70
lea ecx, [esp + 0x40]
add esp, 0x20
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10006858
sub ecx, edx
cmp ecx, 0xc
jge 0x1000686e
push 1
call dword [sym.imp.KERNEL32.dll_ExitProcess]
lea edx, [esi + 0x54]
xorps xmm0, xmm0
lea eax, [esp + 0x20]
movups xmmword [edx], xmm0
mov ecx, eax
mov word [edx + 0x10], 0
sub edx, ecx
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [eax + edx - 1], cl
test cl, cl
jne 0x10006885
mov dword [esi + 0x50], 0x7be72
mov ecx, dword [esp + 0x4c]
pop esi
xor ecx, esp
call fcn.10006933
mov esp, ebp
pop ebp
ret