joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10008d40
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov eax, 1
test eax, eax
je 0x10008e61
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 0
je 0x10008d7b
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 4]
call fcn.10008e80
jmp 0x10008e75
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 4]
call fcn.100068f0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], edx
cmp dword [ebp + 0x10], 0
jl 0x10008e0f
jg 0x10008da3
cmp dword [ebp + 0xc], 0
jbe 0x10008e0f
cmp dword [ebp - 0x10], 0
jl 0x10008e0f
jg 0x10008db1
cmp dword [ebp - 0x14], 0
jbe 0x10008e0f
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp - 0x10]
jg 0x10008dcf
jl 0x10008dc3
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [ebp - 0x14]
jae 0x10008dcf
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 4]
call fcn.10007f60
push eax
call fcn.10002400
add esp, 0xc
mov eax, dword [ebp - 0x14]
add eax, dword [ebp + 8]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0xc]
sub eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x10]
sbb ecx, dword [ebp - 0x10]
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], ecx
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 4]
call fcn.10007f20
cmp dword [ebp + 0x10], 0
jl 0x10008e51
jg 0x10008e1d
cmp dword [ebp + 0xc], 0
jbe 0x10008e51
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4c], 0
je 0x10008e51
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x4c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.100449a1
add esp, 0x10
xor ecx, ecx
mov edx, dword [ebp + 0xc]
sub edx, eax
mov eax, dword [ebp + 0x10]
sbb eax, ecx
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp + 0xc]
mov edx, dword [ebp - 8]
sbb edx, dword [ebp + 0x10]
jmp 0x10008e75
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 4]
call fcn.10008e80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10009be0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x10077154]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x24], 0x5a
mov byte [ebp - 0x23], 0x11
mov byte [ebp - 0x22], 0x95
mov byte [ebp - 0x21], 0x42
mov byte [ebp - 0x20], 0xdb
mov byte [ebp - 0x1f], 0xff
mov byte [ebp - 0x1e], 0xfb
mov byte [ebp - 0x1d], 0x46
mov byte [ebp - 0x1c], 0xa6
mov byte [ebp - 0x1b], 0xc4
mov byte [ebp - 0x1a], 0x12
mov byte [ebp - 0x19], 0x77
mov byte [ebp - 0x18], 0x35
mov byte [ebp - 0x17], 0x56
mov byte [ebp - 0x16], 0xc8
mov byte [ebp - 0x15], 0x50
mov byte [ebp - 0x14], 0xa3
mov byte [ebp - 0x13], 0xee
mov byte [ebp - 0x12], 0x89
mov byte [ebp - 0x11], 0x2e
mov byte [ebp - 0x10], 0xa
mov byte [ebp - 0xf], 0x38
mov byte [ebp - 0xe], 0x9e
mov byte [ebp - 0xd], 0x64
mov byte [ebp - 0xc], 0x40
mov byte [ebp - 0xb], 0x1a
mov byte [ebp - 0xa], 0x58
mov byte [ebp - 9], 0xcf
mov byte [ebp - 8], 0xef
mov byte [ebp - 7], 0xa7
mov byte [ebp - 6], 0x7b
mov byte [ebp - 5], 0x58
mov byte [ebp - 0x44], 0x58
mov byte [ebp - 0x43], 0xfe
mov byte [ebp - 0x42], 0xf6
mov byte [ebp - 0x41], 0x8a
mov byte [ebp - 0x40], 0x7e
mov byte [ebp - 0x3f], 0xe2
mov byte [ebp - 0x3e], 0x40
mov byte [ebp - 0x3d], 0x9c
mov byte [ebp - 0x3c], 0x8c
mov byte [ebp - 0x3b], 0x59
mov byte [ebp - 0x3a], 0x5a
mov byte [ebp - 0x39], 0x1c
mov byte [ebp - 0x38], 0x6c
mov byte [ebp - 0x37], 0xc4
mov byte [ebp - 0x36], 0x1c
mov byte [ebp - 0x35], 0x3e
mov byte [ebp - 0x34], 0x17
mov byte [ebp - 0x33], 0xa1
mov byte [ebp - 0x32], 0x5c
mov byte [ebp - 0x31], 0xc0
mov byte [ebp - 0x30], 0x5e
mov byte [ebp - 0x2f], 0xfd
mov byte [ebp - 0x2e], 0xc2
mov byte [ebp - 0x2d], 0x4a
mov byte [ebp - 0x2c], 0x8a
mov byte [ebp - 0x2b], 0xe0
mov byte [ebp - 0x2a], 0x58
mov byte [ebp - 0x29], 0xab
mov byte [ebp - 0x28], 0xe9
mov byte [ebp - 0x27], 0x1a
mov byte [ebp - 0x26], 0xd9
mov byte [ebp - 0x25], 0xb3
mov byte [ebp - 0x45], 0
jmp 0x10009d04
mov al, byte [ebp - 0x45]
add al, 1
mov byte [ebp - 0x45], al
movsx eax, byte [ebp - 0x45]
movsx ecx, byte [ebp + 0xc]
cmp eax, ecx
jge 0x10009d5e
movsx eax, byte [ebp - 0x45]
movsx ecx, byte [ebp - 0x45]
imul edx, ecx, 0x2c
and edx, 0x1c
movzx ecx, byte [ebp + edx - 0x24]
mov edx, dword [ebp + 8]
movsx eax, byte [edx + eax]
xor eax, ecx
movsx ecx, byte [ebp - 0x45]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
movsx eax, byte [ebp - 0x45]
movsx ecx, byte [ebp - 0x45]
imul edx, ecx, 0x63
and edx, 0x1f
movzx ecx, byte [ebp + edx - 0x44]
mov edx, dword [ebp + 8]
movsx eax, byte [edx + eax]
xor eax, ecx
movsx ecx, byte [ebp - 0x45]
mov edx, dword [ebp + 8]
mov byte [edx + ecx], al
jmp 0x10009cfc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027fbe
mov esp, ebp
pop ebp
ret
Function at 0x10009dd0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [ebp + 0xc]
add eax, 2
push eax
call fcn.100095c0
add esp, 4
mov word [ebp - 4], ax
movsx eax, word [ebp - 4]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0x41f
je 0x10009e17
cmp dword [ebp - 0x60], 0x2742
je 0x10009ec4
cmp dword [ebp - 0x60], 0x2746
je 0x10009e40
jmp 0x10009fee
mov ecx, dword [0x100792ac]
call fcn.1000af40
call fcn.1001c1b0
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
call fcn.100095e0
add esp, 4
mov dword [0x100affc8], eax
jmp 0x10009fee
cmp dword [0x100affa0], 0
je 0x10009eba
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
call fcn.100095c0
add esp, 4
mov word [ebp - 8], ax
mov eax, dword [ebp + 0xc]
add eax, 6
push eax
call fcn.100095c0
add esp, 4
mov word [ebp - 0xc], ax
movzx eax, word [ebp - 0xc]
push eax
push 8
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10009d70
add esp, 0xc
mov dword [ebp - 0x10], eax
push 0
push 0
movsx eax, word [ebp - 8]
push eax
push 0x100098c0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x40010
push str.Error
mov eax, dword [ebp - 0x10]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
call fcn.10009280
jmp 0x10009ebf
call fcn.10009280
jmp 0x10009fee
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
call fcn.100095e0
add esp, 4
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x32
jne 0x10009f0c
mov eax, dword [ebp + 0xc]
add eax, 8
push eax
call fcn.100095c0
add esp, 4
mov word [ebp - 0x18], ax
movzx eax, word [ebp - 0x18]
push eax
push 0xa
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10009d70
add esp, 0xc
mov dword [0x100affdc], eax
jmp 0x10009fee
cmp dword [ebp - 0x14], 0x3c
jne 0x10009f57
push 3
push 8
mov eax, dword [ebp + 0xc]
push eax
call fcn.10009d70
add esp, 0xc
mov dword [0x100affa4], eax
mov eax, dword [ebp + 0xc]
add eax, 0xb
push eax
call fcn.100095c0
add esp, 4
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x1c]
push eax
push 0xd
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.10009d70
add esp, 0xc
mov dword [0x100affe0], eax
jmp 0x10009fee
cmp dword [ebp - 0x14], 0xa
jne 0x10009f92
mov ecx, dword [0x100792ac]
call fcn.1000afa0
mov dword [0x100affa0], 1
cmp dword [0x100792b0], 0
jne 0x10009f90
push 0
push 0
push 0
push 0x1000a1f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
jmp 0x10009fee
cmp dword [ebp - 0x14], 0x50
jne 0x10009f9f
call fcn.100096f0
jmp 0x10009fee
cmp dword [ebp - 0x14], 0x14
jne 0x10009fc4
cmp dword [0x100792b0], 0
je 0x10009fc2
cmp dword [0x100affa0], 0
je 0x10009fc2
mov ecx, dword [0x100792b0]
call fcn.1001f710
jmp 0x10009fee
cmp dword [ebp - 0x14], 0x1e
jne 0x10009fda
cmp dword [0x100affa0], 0
je 0x10009fd8
call fcn.1001d430
jmp 0x10009fee
cmp dword [ebp - 0x14], 0x46
jne 0x10009fee
cmp dword [0x100affa0], 0
je 0x10009fee
call fcn.1001e3d0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call dword [0x100792d0]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1000a090
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [0x100792c8], eax
mov eax, dword [ebp + 0xc]
add eax, 2
push eax
call fcn.100095c0
add esp, 4
mov word [ebp - 4], ax
movsx eax, word [ebp - 4]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x41c
je 0x1000a136
cmp dword [ebp - 0x4c], 0x606
je 0x1000a0d2
jmp 0x1000a182
push 0x100affa8
call fcn.100437f0
add esp, 4
mov dword [ebp - 8], eax
push 0x7a0
mov eax, dword [ebp + 0xc]
add eax, 2
push eax
call fcn.10009600
add esp, 8
movzx eax, word [ebp - 8]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 0x48
push ecx
call fcn.10009600
add esp, 8
movzx eax, byte [ebp - 8]
push eax
push 0x100affa8
call fcn.10009be0
add esp, 8
push 0x49
movzx eax, word [ebp - 8]
push eax
push 0x100affa8
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.1000a1a0
add esp, 0x10
jmp 0x1000a182
push 0x2747
mov eax, dword [ebp + 0xc]
add eax, 2
push eax
call fcn.10009600
add esp, 8
mov eax, dword [0x100affc8]
push eax
mov ecx, dword [ebp + 0xc]
add ecx, 4
push ecx
call fcn.10009620
add esp, 8
push 0
push 0
push 0
push 0x1000a010
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
call fcn.1001d970
push eax
call fcn.1000a060
add esp, 4
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
call dword [0x100792cc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x1000a480
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
mov eax, dword [0x10077154]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
cmp dword [0x100792bc], 0
jne 0x1000a594
push 0x1005f8bc
push str.._Co9.dat
call fcn.100483f4
add esp, 8
mov dword [ebp - 0x20c], eax
push 0x1005f8cc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call fcn.100483f4
add esp, 8
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x20c]
push eax
push 0x200
push 1
lea ecx, [ebp - 0x208]
push ecx
call fcn.10044339
add esp, 0x10
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1000a52b
mov eax, dword [ebp - 8]
push eax
lea ecx, [ebp - 0x208]
push ecx
call fcn.1000a400
add esp, 8
mov eax, dword [ebp - 0x210]
push eax
mov ecx, dword [ebp - 8]
push ecx
push 1
lea edx, [ebp - 0x208]
push edx
call fcn.100449a1
add esp, 0x10
jmp 0x1000a4d4
mov dword [0x100792bc], 1
mov eax, dword [ebp - 0x210]
push eax
call fcn.10043adc
add esp, 4
mov eax, dword [ebp - 0x20c]
push eax
call fcn.10043adc
add esp, 4
lea eax, [ebp - 0x208]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
push ecx
call fcn.10027fcf
add esp, 4
mov byte [ebp - 0x214], 0xeb
mov byte [ebp - 0x213], 0
push 2
lea eax, [ebp - 0x214]
push eax
mov ecx, dword [0x100792b4]
push ecx
call fcn.1000a670
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027fbe
mov esp, ebp
pop ebp
ret
Function at 0x1000a5b0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
push str.xxxxx
push 0x1005f8d8
call fcn.1000a310
add esp, 8
mov dword [0x100792b4], eax
push str.xxxxxxxx
push 0x1005f8ec
call fcn.1000a310
add esp, 8
mov dword [0x100792b8], eax
call fcn.10025300
call fcn.10026d50
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.10027220
push 0x1000a630
push 0x100792b8
call fcn.100267e0
call fcn.10026db0
test eax, eax
je 0x1000a61c
push 0
call fcn.10048018
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x1000a670
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
lea eax, [ebp - 4]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x1000abd0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
push ebx
push esi
push edi
cmp dword [0x100aff9c], 0
je 0x1000abf8
mov dword [0x100792d0], 0x741797
mov dword [0x100792cc], 0x7414f0
jmp 0x1000ac0c
mov dword [0x100792d0], 0x741f57
mov dword [0x100792cc], 0x741cb0
call fcn.10025300
call fcn.10026d50
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.10027220
push 0x1000acb0
push 0x100792cc
call fcn.100267e0
call fcn.10026db0
test eax, eax
je 0x1000ac43
push 0
call fcn.10048018
jmp 0x1000ac78
call fcn.10025300
call fcn.10026d50
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.10027220
push 0x1000ac80
push 0x100792d0
call fcn.100267e0
call fcn.10026db0
test eax, eax
je 0x1000ac78
push 0
call fcn.10048018
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1000b130
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x10077154]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov ecx, 0xb
mov esi, str._pipediscord_ipc_0
lea edi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [ebp - 0x3c], 0x15
mov eax, 2
imul ecx, eax, 0x15
mov edx, 0x30
mov word [ebp + ecx - 0x38], dx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
push 0
push 0
push 3
push 0
push 0
push 0xc0000000
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x40]
cmp dword [eax + 4], 0xffffffff
je 0x1000b1ab
mov eax, dword [ebp - 0x40]
mov byte [eax], 1
mov al, 1
jmp 0x1000b21c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 2
jne 0x1000b1ee
mov eax, 2
imul ecx, eax, 0x15
movzx edx, word [ebp + ecx - 0x38]
cmp edx, 0x39
jge 0x1000b1ec
mov eax, 2
imul ecx, eax, 0x15
mov dx, word [ebp + ecx - 0x38]
add dx, 1
mov eax, 2
imul ecx, eax, 0x15
mov word [ebp + ecx - 0x38], dx
jmp 0x1000b179
jmp 0x1000b213
cmp dword [ebp - 0x44], 0xe7
jne 0x1000b213
push 0x2710
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_WaitNamedPipeW]
test eax, eax
jne 0x1000b20e
xor al, al
jmp 0x1000b21c
jmp 0x1000b179
xor al, al
jmp 0x1000b21c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027fbe
mov esp, ebp
pop ebp
ret

Function at 0x1000b230
Capabilities:
Read file on windows
Read pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
cmp dword [ebp + 8], 0
jne 0x1000b249
xor al, al
jmp 0x1000b2dc
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1000b25c
xor al, al
jmp 0x1000b2dc
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0xffffffff
jne 0x1000b269
xor al, al
jmp 0x1000b2dc
mov dword [ebp - 0xc], 0
push 0
lea eax, [ebp - 0xc]
push eax
push 0
push 0
push 0
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
push edx
call dword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x1000b2d2
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp + 0xc]
jb 0x1000b2d0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp eax, 1
jne 0x1000b2c8
mov al, 1
jmp 0x1000b2dc
mov ecx, dword [ebp - 4]
call fcn.1000b080
jmp 0x1000b2da
mov ecx, dword [ebp - 4]
call fcn.1000b080
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x1000b2f0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
cmp dword [ebp + 0xc], 0
jne 0x1000b306
mov al, 1
jmp 0x1000b375
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x1000b316
xor al, al
jmp 0x1000b375
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0xffffffff
jne 0x1000b323
xor al, al
jmp 0x1000b375
cmp dword [ebp + 8], 0
jne 0x1000b32d
xor al, al
jmp 0x1000b375
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x10], 0
push 0
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, 1
jne 0x1000b36b
mov edx, dword [ebp - 0x10]
cmp edx, dword [ebp - 0xc]
jne 0x1000b36b
mov dword [ebp - 0x54], 1
jmp 0x1000b372
mov dword [ebp - 0x54], 0
mov al, byte [ebp - 0x54]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x1000b7c0
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0
cmp dword [ebp + 0xc], 0
je 0x1000b824
mov eax, 2
imul ecx, eax, 0
mov edx, dword [ebp + 0xc]
movzx eax, word [edx + ecx]
test eax, eax
je 0x1000b824
push 0
lea eax, [ebp - 8]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x1000b81e
mov eax, dword [ebp - 0xc]
jmp 0x1000b85e
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x1c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
push 0
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 8], 0
je 0x1000b85b
mov eax, dword [ebp - 8]
cmp eax, dword [ebp + 8]
je 0x1000b85b
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1000b920
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc20
mov eax, dword [0x10077154]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x20
lea eax, [ebp - 0x44]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x20
lea eax, [ebp - 0x84]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea eax, [ebp - 0x88]
push eax
push 0x20019
push 0
push str.SoftwareValveSteam
push getpeername
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x1000b9b5
push str.Error_opening_Steam_key_n
push 2
call fcn.1004399c
add esp, 4
push eax
call fcn.1000bba0
add esp, 8
jmp 0x1000babe
mov dword [ebp - 0x298], 0x208
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x294]
push ecx
push 0
push 0
push str.SteamExe
mov edx, dword [ebp - 0x88]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x8c], 0
jne 0x1000ba08
cmp dword [ebp - 0x298], 1
jae 0x1000ba25
push str.Error_reading_SteamExe_key_n
push 2
call fcn.1004399c
add esp, 4
push eax
call fcn.1000bba0
add esp, 8
jmp 0x1000babe
mov eax, dword [ebp - 0x298]
shr eax, 1
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x2a0], 0
jmp 0x1000ba4e
mov eax, dword [ebp - 0x2a0]
add eax, 1
mov dword [ebp - 0x2a0], eax
mov eax, dword [ebp - 0x2a0]
cmp eax, dword [ebp - 0x29c]
jae 0x1000ba84
mov eax, dword [ebp - 0x2a0]
movzx ecx, word [ebp + eax*2 - 0x294]
cmp ecx, 0x2f
jne 0x1000ba82
mov eax, 0x5c
mov ecx, dword [ebp - 0x2a0]
mov word [ebp + ecx*2 - 0x294], ax
jmp 0x1000ba3f
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x294]
push ecx
push str.__s__steam:__rungameid__s
push 0x800
lea edx, [ebp - 0xaa0]
push edx
call fcn.1000b660
add esp, 0x14
lea eax, [ebp - 0xaa0]
push eax
lea ecx, [ebp - 0x44]
push ecx
call fcn.1000b380
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027fbe
mov esp, ebp
pop ebp
ret

Function at 0x1001c210
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x10], 0
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax + 0x10], 0
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp - 4]
mov dword [edx + ecx], 0x67452301
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 4]
mov dword [ecx + eax], 0xefcdab89
mov eax, 4
shl eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + eax], 0x98badcfe
mov eax, 4
imul ecx, eax, 3
mov edx, dword [ebp - 4]
mov dword [edx + ecx], 0x10325476
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1001d3a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x10077154]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov byte [ebp - 0x10], 0x25
mov byte [ebp - 0xf], 0x4b
mov byte [ebp - 0xe], 0x34
mov byte [ebp - 0xd], 0x3a
mov byte [ebp - 0xc], 0x2b
mov byte [ebp - 0xb], 0x44
mov byte [ebp - 0xa], 0x4c
mov byte [ebp - 9], 0x13
mov byte [ebp - 8], 0x62
mov byte [ebp - 7], 0x2f
mov dword [ebp - 0x14], 0
jmp 0x1001d3ed
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp + 0xc]
jge 0x1001d41b
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov eax, dword [ebp - 0x14]
xor edx, edx
mov esi, 0xa
div esi
movzx edx, byte [ebp + edx - 0x10]
xor ecx, edx
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x14]
mov byte [eax], cl
jmp 0x1001d3e4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10027fbe
mov esp, ebp
pop ebp
ret

Function at 0x1001d510
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push ebx
push esi
push edi
lea eax, [ebp - 4]
push eax
push 0x40
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret