joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10035510
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x1007e274]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x10034970
push 0
push 0
call dword [0x100651b8]
mov dword [0x1007fbdc], eax
cmp dword [0x1007fbdc], 0
jne 0x1003560c
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.1001c250
mov eax, dword [0x1007fbdc]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003eb3c
mov esp, ebp
pop ebp
ret
Function at 0x10035620
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x1007e274]
xor eax, ebp
mov dword [ebp - 4], eax
push 0
push 0
push 0
push 0x10034d10
push 0
push 0
call dword [0x100651b8]
mov dword [0x1007fbd4], eax
cmp dword [0x1007fbd4], 0
jne 0x1003571c
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.1001c250
mov eax, dword [0x1007fbd4]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003eb3c
mov esp, ebp
pop ebp
ret
Function at 0x10037ed5
Capabilities:
Contain obfuscated stackstrings

Disassembly:
jae 0x10037e68
jmp 0x10037e63
call fcn.10037e6a
jae 0x10037e63
add esp, 4
jmp 0x10037e6f
dec dword [esp]
jno 0x10037e74
jns 0x10037e5f
jp 0x10037e78
add esp, 4
popf
jmp 0x10037e7f
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10037e98
jne 0x10037e98
call 0x1fc3b1ec
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
push 0
push 0
push 0
push 0x10038020
push 0
push 0
call dword [0x100651b8]
mov dword [ebp - 0x38], eax
clc
jae 0x10037ec6
pop ss
add byte [esi - 0x64], ah
pushf
push 0xa
jae 0x10037ed3
jmp 0x10037ece
call 0x10037ed5
jae 0x10037ece
add esp, 4
jmp 0x10037eda
dec dword [esp]
jno 0x10037edf
jns 0x10037eca
jp 0x10037ee3
add esp, 4
popf
jmp 0x10037eea
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10037f03
jne 0x10037f03
add byte [ebx + eax - 0x15], bh
add eax, dword [eax]
jl 0x10037f08
jmp 0x10037f0a
je 0x10037f05
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x10037f24
jne 0x10037f23
call 0x93076fab
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10037f32
jne 0x10037f32
call 0x10cbfcb9
cmp dword [ebp - 0x38], 0
jne 0x10038001
mov byte [ebp - 0x34], 0x45
mov byte [ebp - 0x33], 0x52
mov byte [ebp - 0x32], 0x52
mov byte [ebp - 0x31], 0x4f
mov byte [ebp - 0x30], 0x52
mov byte [ebp - 0x2f], 0x21
mov byte [ebp - 0x2e], 0x20
mov byte [ebp - 0x2d], 0x54
mov byte [ebp - 0x2c], 0x68
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x65
mov byte [ebp - 0x29], 0x61
mov byte [ebp - 0x28], 0x64
mov byte [ebp - 0x27], 0x20
mov byte [ebp - 0x26], 0x63
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x61
mov byte [ebp - 0x22], 0x74
mov byte [ebp - 0x21], 0x69
mov byte [ebp - 0x20], 0x6f
mov byte [ebp - 0x1f], 0x6e
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x66
mov byte [ebp - 0x1c], 0x61
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x65
mov byte [ebp - 0x18], 0x64
mov byte [ebp - 0x17], 0x2c
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x54
mov byte [ebp - 0x14], 0x68
mov byte [ebp - 0x13], 0x72
mov byte [ebp - 0x12], 0x65
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x64
mov byte [ebp - 0xf], 0x20
mov byte [ebp - 0xe], 0x43
mov byte [ebp - 0xd], 0x6f
mov byte [ebp - 0xc], 0x64
mov byte [ebp - 0xb], 0x65
mov byte [ebp - 0xa], 0x20
mov byte [ebp - 9], 0x30
mov byte [ebp - 8], 0x78
mov byte [ebp - 7], 0x35
mov byte [ebp - 6], 0x21
mov byte [ebp - 5], 0
call fcn.1001c250
mov eax, dword [ebp - 0x38]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003eb3c
mov esp, ebp
pop ebp
ret
Function at 0x10039930
Capabilities:
Hook routines via microsoft detours

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10039d20
add esp, 0xc
mov dword [ebp - 4], 0
cmp dword [0x1007fc1c], 0
jne 0x1003996d
cmp dword [0x1007fc18], 0
je 0x1003996d
mov eax, dword [0x1007fc18]
mov dword [0x1007fc1c], eax
cmp dword [0x1007fc1c], 0
je 0x100399ea
mov ecx, dword [0x1007fc1c]
cmp dword [ecx + 8], 0
je 0x100399ea
mov edx, dword [0x1007fc1c]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0x10]
jb 0x100399ea
mov ecx, dword [0x1007fc1c]
mov edx, dword [ecx + 8]
cmp edx, dword [ebp - 0xc]
ja 0x100399ea
mov eax, dword [0x1007fc1c]
mov ecx, dword [eax + 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x10]
jb 0x100399b9
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc]
jbe 0x100399c0
xor eax, eax
jmp 0x10039b09
mov ecx, dword [0x1007fc1c]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x40]
mov dword [ecx + 8], eax
push 0x48
push 0xcc
mov ecx, dword [ebp - 4]
push ecx
call fcn.100406a0
add esp, 0xc
mov eax, dword [ebp - 4]
jmp 0x10039b09
mov edx, dword [0x1007fc18]
mov dword [0x1007fc1c], edx
jmp 0x10039a06
mov eax, dword [0x1007fc1c]
mov ecx, dword [eax + 4]
mov dword [0x1007fc1c], ecx
cmp dword [0x1007fc1c], 0
je 0x10039a46
cmp dword [0x1007fc1c], 0
je 0x10039a44
mov edx, dword [0x1007fc1c]
cmp dword [edx + 8], 0
je 0x10039a44
mov eax, dword [0x1007fc1c]
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp - 0x10]
jb 0x10039a44
mov edx, dword [0x1007fc1c]
mov eax, dword [edx + 8]
cmp eax, dword [ebp - 0xc]
ja 0x10039a44
jmp 0x1003999e
jmp 0x100399f8
mov ecx, dword [ebp + 8]
and ecx, 0xffff
mov edx, dword [ebp + 8]
sub edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10039b10
add esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x10039b07
mov eax, dword [ebp - 0x18]
mov dword [0x1007fc1c], eax
mov ecx, dword [0x1007fc1c]
mov dword [ecx], 0x52727464
mov edx, dword [0x1007fc1c]
mov dword [edx + 8], 0
mov eax, dword [0x1007fc1c]
mov ecx, dword [0x1007fc18]
mov dword [eax + 4], ecx
mov edx, dword [0x1007fc1c]
mov dword [0x1007fc18], edx
mov dword [ebp - 0x14], 0
mov eax, dword [0x1007fc1c]
add eax, 0x48
mov dword [ebp - 4], eax
mov dword [ebp - 8], 0x38c
jmp 0x10039ad7
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 1
jle 0x10039af7
imul edx, dword [ebp - 8], 0x48
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov dword [eax + edx + 0x40], ecx
imul edx, dword [ebp - 8], 0x48
add edx, dword [ebp - 4]
mov dword [ebp - 0x14], edx
jmp 0x10039ace
mov eax, dword [0x1007fc1c]
mov ecx, dword [ebp - 0x14]
mov dword [eax + 8], ecx
jmp 0x1003999e
xor eax, eax
mov esp, ebp
pop ebp
ret

Function at 0x10054599
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.1005440f
Function at 0x1026e6e1
Capabilities:
Execute anti-debugging instructions

Disassembly:
jmp 0x1043047e
sub esp, 4
mov dword [esp], ebp
push eax
mov eax, 0x77c413e3
mov dword [esp + 4], eax
pop eax
mov dword [esp], ebx
mov dword [esp], ebp
jmp 0x10430593
jmp 0x104323c3
jmp fcn.104324e8
Function at 0x10009020
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push esi
push dword [0x1010e28c]
mov esi, ecx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x100090f6
cmp byte [0x1010e16e], al
je 0x100090f6
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
test ecx, ecx
je 0x100090f6
call fcn.10008830
cmp dword [eax], 0
jne 0x100090f6
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x100090f6
cmp eax, 8
je 0x100090f6
call fcn.10008550
test dword [eax], 0x400
jne 0x100090f6
cmp byte [0x1010ac85], 0
jne 0x100090ae
cmp byte [0x1010ac7e], 0
je 0x100090ae
or dword [esi + 0x30], 2
mov byte [0x1010ac7e], 0
pop esi
mov esp, ebp
pop ebp
ret
test byte [esi + 0x30], 2
je 0x100090e8
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
call fcn.10008550
test byte [eax], 1
je 0x100090d8
mov al, 1
mov byte [0x1010ac7e], 1
mov byte [0x1010ac85], al
pop esi
mov esp, ebp
pop ebp
ret
and dword [esi + 0x30], 0xfffffffd
xor al, al
mov byte [0x1010ac85], al
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x1010ac85], 0
mov byte [0x1010ac7e], 0
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1000a1a0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
cmp byte [0x1010ac40], 0
push esi
lea esi, [ecx + 0x30]
je 0x1000a1b9
or dword [esi], 4
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x1000a33a
cmp eax, 8
je 0x1000a33a
call fcn.10008550
mov eax, dword [eax]
mov dword [0x1010ea38], eax
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
call fcn.10008cd0
mov ecx, dword [0x1010abcc]
push str.sv_gravity
movss xmm0, dword [eax + 8]
mov eax, dword [ecx]
movss dword [0x1010eab4], xmm0
mov eax, dword [eax + 0x44]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
fmul dword [0x100cab0c]
mov eax, dword [0x1010abfc]
push dword [0x1010e278]
fstp dword [esp + 0xc]
movss xmm0, dword [esp + 0xc]
mulss xmm0, dword [eax + 0x20]
movss dword [0x10105998], xmm0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1000a25b
cmp byte [0x1010ac94], 0
je 0x1000a25b
mov eax, dword [0x1010eaa8]
mov dword [esi], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10105654]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1010eab8]
cmp eax, dword [ecx + 4]
jle 0x1000a2aa
push 0x1010eab8
call fcn.10096a77
add esp, 4
cmp dword [0x1010eab8], 0xffffffff
jne 0x1000a2aa
movss xmm0, dword [0x1010eab4]
push 0x1010eab8
movss dword [0x1010eac8], xmm0
call fcn.10096a26
add esp, 4
movss xmm0, dword [0x10105998]
xorps xmm0, xmmword [0x100cba30]
comiss xmm0, dword [0x1010eac8]
jbe 0x1000a323
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
call fcn.10008cd0
push ecx
fld dword [eax + 8]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [esp + 0x10]
fld dword [0x10105998]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm0, dword [esp + 0x10]
add esp, 4
fstp dword [esp + 8]
movss xmm1, dword [esp + 8]
xorps xmm1, xmmword [0x100cba30]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000a323
mov eax, dword [0x1010e030]
mov eax, dword [eax]
cmp dword [eax + 0x25c], 9
je 0x1000a323
mov al, 1
jmp 0x1000a325
xor al, al
movss xmm0, dword [0x1010eab4]
mov byte [0x1010ac94], al
movss dword [0x1010eac8], xmm0
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1000b8b0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push esi
push dword [0x1010e738]
mov esi, ecx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1000b961
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
test ecx, ecx
je 0x1000b961
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x1000b961
cmp eax, 8
je 0x1000b961
call fcn.10008550
test byte [eax], 1
mov eax, dword [0x1010abfc]
je 0x1000b918
cmp byte [0x1010ea48], 0
jne 0x1000b918
mov ecx, dword [eax + 0x1c]
mov dword [0x1010eb14], ecx
mov byte [0x1010ea48], 1
jmp 0x1000b91e
mov ecx, dword [0x1010eb14]
mov eax, dword [eax + 0x1c]
sub eax, ecx
cmp eax, dword [0x1010e930]
jle 0x1000b95a
mov eax, dword [0x1010e030]
mov byte [0x1010ea48], 0
mov byte [0x1010ac8c], 1
mov ecx, dword [eax]
call fcn.10008550
test byte [eax], 1
je 0x1000b961
or dword [esi + 0x30], 2
mov byte [0x1010ea48], 0
pop esi
mov esp, ebp
pop ebp
ret
mov byte [0x1010ac8c], 0
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10022b20
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0x100c69a4
push dword [ebp + 8]
lea eax, [ebp + 8]
mov edi, ecx
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x10022c09
push 2
push 0
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebx, eax
add esp, 0x10
test ebx, ebx
je 0x10022c09
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x10022b77
lea esi, [eax + 1]
jmp 0x10022b83
xor esi, esi
mov ecx, 1
test eax, eax
cmove esi, ecx
lea eax, [esi + ebx]
push eax
call fcn.100969cf
push 0
push 0
push dword [ebp + 8]
mov dword [ebp - 4], eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push dword [ebp + 8]
push ebx
push 1
push dword [ebp - 4]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x20
cmp eax, ebx
jne 0x10022c09
test esi, esi
je 0x10022bc7
mov eax, dword [ebp - 4]
push esi
add eax, ebx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [ebp + 8]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov ebx, dword [ebp - 4]
add esp, 4
mov ecx, edi
push dword [ebp + 0xc]
push ebx
call fcn.10022d40
push ebx
call fcn.10096672
mov eax, dword [edi + 0x28]
add esp, 4
mov ecx, dword [eax]
test ecx, ecx
je 0x10022c02
cmp ecx, 0x20
jne 0x10022c14
mov ecx, dword [eax + 4]
add eax, 4
test ecx, ecx
jne 0x10022bf3
mov dword [edi + 0x2c], 0
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [edi + 0x2c], eax
test eax, eax
je 0x10022c09
push 0x20
call fcn.10096677
xorps xmm0, xmm0
mov dword [ebp + 0xc], eax
add esp, 4
movq qword [eax], xmm0
lea ecx, [eax + 0xc]
mov dword [eax + 8], 0
mov dword [eax + 4], 1
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_class_valve_parser::node_.0
mov dword [ecx], vtable.valve_parser::node.0
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 4], edi
mov esi, dword [edi + 0x34]
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], eax
test esi, esi
je 0x10022c99
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10022c99
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], ebx
dec ebx
jne 0x10022c99
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x10037110
Capabilities:
Enumerate gui resources
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10098d4d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
push ebx
push esi
push edi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
push 0
push 2
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x1c], eax
push ecx
push eax
mov dword [ebp - 0x268], 0x22c
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
jne 0x10037180
xor bl, bl
jmp 0x1003725a
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x34]
call fcn.100396c0
mov edi, eax
cmp dword [edi + 0x14], 7
mov eax, dword [edi + 0x10]
jbe 0x1003719c
mov edi, dword [edi]
cmp eax, 0xb
jne 0x100371c8
mov esi, eax
mov eax, str.spotify.exe
sub edi, eax
nop word [eax + eax]
movzx edx, word [edi + eax]
movzx ecx, word [eax]
cmp dx, cx
jne 0x100371c8
add eax, 2
sub esi, 1
jne 0x100371b0
mov bl, 1
jmp 0x100371ca
xor bl, bl
mov ecx, dword [ebp - 0x20]
cmp ecx, 7
jbe 0x10037204
mov edx, dword [ebp - 0x34]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100371fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037283
push ecx
push edx
call fcn.100969c1
add esp, 8
test bl, bl
je 0x1003722e
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0x10]
je 0x1003721e
mov eax, dword [ebp - 0x260]
mov dword [ecx], eax
add dword [ebp - 0x14], 4
jmp 0x1003722e
lea eax, [ebp - 0x260]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.1003a400
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x10037180
lea eax, [ebp - 0x18]
push eax
push 0x10036f70
call dword [sym.imp.USER32.dll_EnumWindows]
test eax, eax
setne bl
mov edx, dword [ebp - 0x18]
test edx, edx
je 0x10037293
mov ecx, dword [ebp - 0x10]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10037289
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10037289
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100969c1
add esp, 8
mov ecx, dword [ebp - 0xc]
mov al, bl
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1003bee0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
mov eax, dword [0x1010e030]
push esi
push edi
mov dword [esp + 0xc], ecx
cmp dword [eax], 0
je 0x1003c0a4
mov edi, dword [ebp + 8]
lea eax, [esp + 0x40]
push 0x40
push 0
push eax
mov esi, dword [edi + 4]
mov byte [0x101059ad], 1
call sub.VCRUNTIME140.dll_memset
mov eax, 0x20
mov dword [esp + 0x34], 0x67452301
mov dword [esp + 0x44], eax
lea ecx, [esp + 0x4c]
shr eax, 3
mov edx, 0x3f
and eax, 0x3f
mov dword [esp + 0x38], 0xefcdab89
add ecx, eax
mov dword [esp + 0x3c], 0x98badcfe
mov dword [esp + 0x40], 0x10325476
sub edx, eax
mov dword [esp + 0x48], 0
add esp, 0xc
mov dword [esp + 0x40], esi
mov byte [ecx], 0x80
inc ecx
cmp edx, 8
jae 0x1003bf90
push edx
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea edx, [esp + 0x40]
lea ecx, [esp + 0x28]
call fcn.10095220
push 0x38
push 0
lea eax, [esp + 0x48]
push eax
jmp 0x1003bf97
lea eax, [edx - 8]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x44]
lea edx, [esp + 0x4c]
add esp, 0xc
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x28]
mov dword [esp + 0x7c], eax
call fcn.10095220
movups xmm0, xmmword [esp + 0x28]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x28], 0
movups xmmword [esp + 0x10], xmm0
mov ecx, dword [esp + 0x16]
mov eax, dword [esi + 0xc0]
and ecx, 0x7fffffff
mov dword [eax], ecx
mov ecx, dword [0x1010abfc]
mov eax, dword [ecx + 0x10]
mov dword [esi], eax
mov eax, dword [ecx + 0x14]
mov dword [esi + 4], eax
mov eax, dword [0x1010e030]
mov ecx, dword [eax]
call fcn.1003bc30
mov ecx, dword [0x1010abfc]
movd xmm0, dword [eax]
movss xmm1, dword [ecx + 0x20]
cvtdq2ps xmm0, xmm0
movss dword [ecx + 0x14], xmm1
mulss xmm0, xmm1
movss dword [ecx + 0x10], xmm0
mov ecx, dword [0x1010de88]
mov eax, dword [0x1010e030]
mov edx, dword [ecx]
push dword [eax]
call dword [edx + 0xc]
push 0xb8
add esi, 8
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x1010de7c]
add esp, 0xc
mov eax, dword [0x1010e030]
mov edx, dword [ecx]
push dword [eax]
call dword [edx + 4]
mov ecx, dword [0x1010ac3c]
mov eax, dword [0x1010e030]
push esi
push dword [0x1010de7c]
mov edx, dword [ecx]
push edi
push dword [eax]
mov eax, dword [edx + 0x50]
call eax
mov ecx, dword [0x1010de88]
mov eax, dword [0x1010e030]
push esi
mov edx, dword [ecx]
push dword [eax]
call dword [edx + 4]
mov ecx, dword [0x1010ac3c]
mov eax, dword [0x1010e030]
push esi
push edi
mov edx, dword [ecx]
push dword [eax]
mov eax, dword [edx + 0x54]
call eax
mov byte [0x101059ad], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4

Function at 0x1003d1a0
Capabilities:
Hash data with crc32

Disassembly:
push ebx
mov ebx, ecx
or eax, 0xffffffff
push esi
push edi
mov edi, 4
lea esi, [ebx + 4]
jmp dword [edi*4 + 0x1003e3e8]
Function at 0x10048fb0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 8]
test edi, edi
je 0x10048fc2
mov dword [edi], 0
mov edx, 0x100c69a4
call fcn.10048e00
mov esi, eax
test esi, esi
jne 0x10048fd6
pop edi
pop esi
pop ebp
ret
push ebx
push 2
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x1004908e
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov ebx, eax
add esp, 4
mov dword [ebp + 8], ebx
cmp ebx, 0xffffffff
je 0x1004908e
push 0
push 0
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x1004908e
mov eax, dword [0x10105adc]
test eax, eax
je 0x10049026
inc dword [eax + 0x374]
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x1004908e
push esi
push dword [ebp + 8]
push 1
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
push esi
cmp eax, dword [ebp + 8]
je 0x10049075
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, dword [0x10105adc]
add esp, 4
test eax, eax
je 0x10049064
dec dword [eax + 0x374]
push ebx
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add esp, 4
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
test edi, edi
je 0x10049087
mov eax, dword [ebp + 8]
mov dword [edi], eax
mov eax, ebx
pop ebx
pop edi
pop esi
pop ebp
ret
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret