joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10095030
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x1017b688
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cc114]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov eax, dword [esp + 0x5c]
cmp eax, 2
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x60]
jne 0x100950af
mov esi, dword [ebp + 0x3304]
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
jbe 0x10095086
call fcn.101196b5
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 8]
jbe 0x10095093
call fcn.101196b5
push edi
push esi
push ebx
push esi
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.10071010
mov ebp, ebp
mov eax, 1
jmp 0x100951d1
cmp eax, 1
jne 0x100950d5
add ebp, 0x3300
push ebp
push 0x101817e0
push esi
call fcn.10119c85
add esp, 0xc
mov ah, ah
mov eax, 1
jmp 0x100951d1
xor ebx, ebx
cmp eax, ebx
jne 0x100951cf
mov cl, 0x25
mov al, 0x64
mov dl, 0x2c
mov byte [esp + 0x38], cl
mov byte [esp + 0x39], al
mov byte [esp + 0x3a], dl
mov byte [esp + 0x3b], cl
mov byte [esp + 0x3c], al
mov byte [esp + 0x3d], dl
mov byte [esp + 0x3e], cl
mov byte [esp + 0x3f], al
mov byte [esp + 0x40], dl
mov byte [esp + 0x41], cl
mov byte [esp + 0x42], al
mov byte [esp + 0x43], bl
mov ecx, ecx
xchg ebx, eax
xchg ebx, eax
lea ecx, [esp + 0x24]
call fcn.1010c8ec
mov dword [esp + 0x50], ebx
mov ecx, ecx
push ebx
lea ecx, [esp + 0x28]
push ecx
push 0x10181488
push esi
call fcn.1005eb40
add esp, 0x10
mov edi, eax
xchg ebx, eax
xchg ebx, eax
mov bh, bh
xor esi, esi
cmp edi, ebx
jle 0x100951b2
jmp 0x10095150
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov ch, ch
cmp esi, ebx
jl 0x100951ca
cmp esi, dword [esp + 0x2c]
jge 0x100951ca
mov edx, dword [esp + 0x28]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x48]
push ecx
push eax
call fcn.10119c85
add esp, 0x18
push edx
pop edx
mov ecx, dword [ebp + 0x3304]
lea edx, [esp + 0x14]
push edx
call fcn.1007d980
mov cl, cl
add esi, 1
cmp esi, edi
jl 0x10095150
mov dword [esp + 0x50], 0xffffffff
lea ecx, [esp + 0x24]
call fcn.1010cc34
mov eax, 1
jmp 0x100951d1
jmp fcn.1010967c
xor eax, eax
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.10117937
add esp, 0x40
ret
Function at 0x100951f0
Capabilities:
Create thread

Disassembly:
sub esp, 0x210
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x20c], eax
push esi
mov esi, dword [esp + 0x21c]
push edi
mov edi, dword [esp + 0x21c]
push 0x1ff
lea eax, [esp + 0x19]
push 0
push eax
mov dword [esp + 0x1c], edi
mov byte [esp + 0x20], 0
call fcn.101183f0
add esp, 0xc
push edx
pop edx
push esi
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.10057f00
add esp, 0xc
xchg ebx, eax
xchg ebx, eax
lea eax, [esp + 0x14]
lea edx, [eax + 1]
jmp 0x10095250
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10095250
sub eax, edx
add eax, 1
push eax
call fcn.10117399
add esp, 4
mov esi, eax
mov edi, edi
test esi, esi
je 0x100952da
lea eax, [esp + 0x14]
mov edx, esi
mov ecx, eax
sub edx, ecx
lea esp, [esp]
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10095280
push ebp
mov edi, edi
mov dword [esp + 0xc], 0
mov bh, bh
call fcn.1003f2b0
mov ebp, eax
push edx
pop edx
lea edx, [esp + 0xc]
push edx
push 0
push esi
push 0x10067940
push 0
push 0
call fcn.10119b6f
add esp, 0x18
mov edi, eax
mov edi, edi
push ebp
call fcn.1003f370
add esp, 4
mov dh, dh
test edi, edi
pop ebp
jne 0x100952f3
push esi
call fcn.1011745c
add esp, 4
mov bl, bl
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x20c]
xor ecx, esp
call fcn.10117937
add esp, 0x210
ret
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ch, ch
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
lea ecx, [esp + 0xc]
push ecx
mov ecx, dword [edx + 0x3288]
mov dword [esp + 0x10], eax
call fcn.1007db70
mov al, al
mov ecx, dword [esp + 0x214]
mov eax, dword [esp + 8]
pop edi
pop esi
xor ecx, esp
call fcn.10117937
add esp, 0x210
ret
Function at 0x1009e320
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x14
push edi
mov ah, ah
push edx
pop edx
push edx
pop edx
mov edi, dword [esp + 0x1c]
push 5
push edi
call fcn.100688d0
add esp, 8
push ebx
pop ebx
test eax, eax
jne 0x1009e346
mov eax, edi
pop edi
add esp, 0x14
ret
push ebx
push ebp
push esi
push 0
push eax
call fcn.100688d0
add esp, 8
mov esi, eax
mov al, al
mov edi, edi
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [esp + 0x10], eax
push ecx
pop ecx
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1009e414
mov ebx, dword [esp + 0x34]
mov ebp, dword [sym.imp.USER32.dll_GetWindowRect]
nop
mov edi, esi
mov dh, dh
test ebx, ebx
jne 0x1009e393
push esi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x1009e3b8
push ebx
pop ebx
lea eax, [esp + 0x14]
push eax
push esi
call ebp
mov esi, esi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
push edx
lea eax, [esp + 0x1c]
push eax
call dword [sym.imp.USER32.dll_PtInRect]
test eax, eax
jne 0x1009e3f4
push 2
push esi
call fcn.100688d0
add esp, 8
mov esi, eax
mov dl, dl
cmp edi, esi
je 0x1009e414
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov edi, edi
sub eax, dword [esp + 0x10]
cmp eax, dword [0x101b7908]
jae 0x1009e410
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1009e380
pop esi
pop ebp
pop ebx
mov eax, edi
pop edi
add esp, 0x14
ret
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ebx
push ecx
push edx
push esi
call fcn.1009e320
add esp, 0x10
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x14
ret
xor edi, edi
push eax
pop eax
pop esi
pop ebp
pop ebx
mov eax, edi
pop edi
add esp, 0x14
ret
Function at 0x1009eb00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x18
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x14], eax
push esi
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x10], 0
push edi
mov edi, dword [esp + 0x28]
jne 0x1009eb96
cmp dword [esi], 0
je 0x1009eb96
mov al, 0x69
mov dl, 0x54
mov cl, 0x6f
mov byte [esp + 8], 0x53
mov byte [esp + 9], 0x77
mov byte [esp + 0xa], al
mov byte [esp + 0xb], 0x74
mov byte [esp + 0xc], 0x63
mov byte [esp + 0xd], 0x68
mov byte [esp + 0xe], dl
mov byte [esp + 0xf], cl
mov byte [esp + 0x10], dl
mov byte [esp + 0x11], 0x68
mov byte [esp + 0x12], al
mov byte [esp + 0x13], 0x73
mov byte [esp + 0x14], 0x57
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0x6e
mov byte [esp + 0x17], 0x64
mov byte [esp + 0x18], cl
mov byte [esp + 0x19], 0x77
mov byte [esp + 0x1a], 0
mov cl, cl
mov ecx, dword [esi]
lea eax, [esp + 8]
push eax
push ecx
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov dword [esi + 0x10], eax
push eax
pop eax
mov esi, dword [esi + 0x10]
test esi, esi
je 0x1009ebba
push 1
push edi
call esi
mov ch, ch
pop edi
mov eax, 1
pop esi
mov ecx, dword [esp + 0x14]
xor ecx, esp
call fcn.10117937
add esp, 0x18
ret
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
xor ecx, esp
xor eax, eax
call fcn.10117937
add esp, 0x18
ret

Function at 0x1009ebd0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x34
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
push esi
push edi
xor edi, edi
push edx
pop edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], 0x14
mov dword [esp + 0x10], 0xf
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov byte [esp + 0x1c], 0x75
mov byte [esp + 0x1d], 0x73
mov byte [esp + 0x1e], 0x65
mov byte [esp + 0x1f], 0x72
mov byte [esp + 0x20], 0x33
mov byte [esp + 0x21], 0x32
mov byte [esp + 0x22], 0x2e
mov byte [esp + 0x23], 0x64
mov byte [esp + 0x24], 0x6c
mov byte [esp + 0x25], 0x6c
mov byte [esp + 0x26], 0
mov ebp, ebp
lea edx, [esp + 0x1c]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov esi, eax
push edx
pop edx
test esi, esi
je 0x1009eccd
mov byte [esp + 0x28], 0x46
mov byte [esp + 0x29], 0x6c
mov byte [esp + 0x2a], 0x61
mov byte [esp + 0x2b], 0x73
mov byte [esp + 0x2c], 0x68
mov byte [esp + 0x2d], 0x57
mov byte [esp + 0x2e], 0x69
mov byte [esp + 0x2f], 0x6e
mov byte [esp + 0x30], 0x64
mov byte [esp + 0x31], 0x6f
mov byte [esp + 0x32], 0x77
mov byte [esp + 0x33], 0x45
mov byte [esp + 0x34], 0x78
mov byte [esp + 0x35], 0
push eax
pop eax
lea eax, [esp + 0x28]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov esi, esi
test eax, eax
je 0x1009ecc4
lea ecx, [esp + 8]
push ecx
call eax
push ebx
pop ebx
mov edi, 1
mov al, al
push esi
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
mov ah, ah
mov ecx, dword [esp + 0x38]
mov eax, edi
pop edi
pop esi
xor ecx, esp
call fcn.10117937
add esp, 0x34
ret
Function at 0x1009f370
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x5c
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
xor edi, edi
mov bl, bl
mov cl, 0x50
mov al, 0x4c
mov byte [esp + 0x44], cl
mov byte [esp + 0x45], 0x53
mov byte [esp + 0x46], 0x41
mov byte [esp + 0x47], cl
mov byte [esp + 0x48], 0x49
mov byte [esp + 0x49], 0x2e
mov byte [esp + 0x4a], 0x44
mov byte [esp + 0x4b], al
mov byte [esp + 0x4c], al
mov byte [esp + 0x4d], 0
xchg ebx, eax
xchg ebx, eax
mov byte [esp + 0x53], cl
mov cl, 0x72
mov al, 0x65
mov byte [esp + 0x55], cl
mov bl, 0x66
mov dl, 0x6f
mov byte [esp + 0x58], cl
mov cl, 0x6e
mov byte [esp + 0x50], 0x47
mov byte [esp + 0x51], al
mov byte [esp + 0x52], 0x74
mov byte [esp + 0x54], al
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], dl
mov byte [esp + 0x59], 0x6d
mov byte [esp + 0x5a], 0x61
mov byte [esp + 0x5b], cl
mov byte [esp + 0x5c], 0x63
mov byte [esp + 0x5d], al
mov byte [esp + 0x5e], 0x49
mov byte [esp + 0x5f], cl
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], dl
mov byte [esp + 0x62], 0
mov ecx, ecx
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov esi, eax
mov dl, dl
test esi, esi
jne 0x1009f43d
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.10117937
add esp, 0x5c
ret
lea ecx, [esp + 0x50]
push ecx
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov ebx, eax
mov al, al
mov ch, ch
push 0x38
lea edx, [esp + 0x10]
push 0
push edx
call fcn.101183f0
add esp, 0xc
mov ebp, ebp
push 0x38
lea eax, [esp + 0x10]
push eax
call ebx
test eax, eax
je 0x1009f475
mov edi, dword [esp + 0x34]
mov ecx, ecx
push esi
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
mov ebx, ebx
mov ecx, dword [esp + 0x64]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10117937
add esp, 0x5c
ret
Function at 0x1009fbe0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x14
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dl, 0x54
mov byte [esp], 0x45
mov byte [esp + 1], 0x6c
mov byte [esp + 2], 0x47
mov byte [esp + 3], dl
mov byte [esp + 4], 0x4b
mov byte [esp + 5], 0x43
mov byte [esp + 6], 0x41
mov byte [esp + 7], dl
mov byte [esp + 8], 0x6c
mov byte [esp + 9], 0x6a
mov byte [esp + 0xa], 0x71
mov byte [esp + 0xb], 0x75
mov byte [esp + 0xc], 0
mov ch, ch
test eax, eax
je 0x1009fc5a
push eax
lea eax, [esp + 4]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetPropA]
mov ebp, ebp
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.10117937
add esp, 0x14
ret
lea edx, [esp]
push edx
push ecx
call dword [sym.imp.USER32.dll_RemovePropA]
mov bh, bh
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.10117937
add esp, 0x14
ret
Function at 0x100a2900
Capabilities:
Log keystrokes

Disassembly:
mov eax, dword [esp + 4]
push esi
push eax
call fcn.100a26b0
add esp, 4
mov esi, eax
mov dl, dl
test esi, esi
je 0x100a2966
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x100a2966
push ebx
push ebp
push edi
mov edi, edi
push 0
push esi
call fcn.10068890
add esp, 8
mov esi, eax
push eax
pop eax
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov edi, eax
mov edi, edi
mov ebx, dword [sym.imp.USER32.dll_AttachThreadInput]
push 1
push esi
push edi
call ebx
mov ebx, ebx
call dword [sym.imp.USER32.dll_GetFocus]
mov ebp, eax
mov bl, bl
push 0
push esi
push edi
call ebx
push edx
pop edx
pop edi
mov eax, ebp
pop ebp
pop ebx
pop esi
ret
xor eax, eax
pop esi
ret
Function at 0x100a32f0
Capabilities:
Check for time delay via gettickcount
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x1017bdfb
mov eax, dword fs:[0]
push eax
sub esp, 0x134
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x130], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cc114]
xor eax, esp
push eax
lea eax, [esp + 0x148]
mov dword fs:[0], eax
mov eax, dword [esp + 0x15c]
xor ebx, ebx
cmp eax, ebx
jne 0x100a3344
call dword [sym.imp.USER32.dll_GetDesktopWindow]
nop
jmp 0x100a34ea
cmp eax, 1
jne 0x100a34e8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push ebx
pop ebx
push 5
push eax
call fcn.100688d0
add esp, 8
mov ch, ch
push ebx
push eax
call fcn.100688d0
add esp, 8
mov ebp, eax
push ecx
pop ecx
mov edi, ebp
mov dh, dh
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [esp + 0x14], eax
mov ebp, ebp
mov al, 0x6c
mov byte [esp + 0x34], 0x53
mov byte [esp + 0x35], 0x68
mov byte [esp + 0x36], 0x65
mov byte [esp + 0x37], al
mov byte [esp + 0x38], al
mov byte [esp + 0x39], 0x5f
mov byte [esp + 0x3a], 0x54
mov byte [esp + 0x3b], 0x72
mov byte [esp + 0x3c], 0x61
mov byte [esp + 0x3d], 0x79
mov byte [esp + 0x3e], 0x57
mov byte [esp + 0x3f], 0x6e
mov byte [esp + 0x40], 0x64
mov byte [esp + 0x41], bl
mov dh, dh
cmp ebp, ebx
je 0x100a34e4
nop
mov ebp, edi
mov ecx, ecx
push edi
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x100a34b1
push edi
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x100a34b1
push 0xff
lea eax, [esp + 0x49]
push ebx
push eax
mov byte [esp + 0x50], bl
call fcn.101183f0
add esp, 0xc
mov ecx, ecx
push ebx
lea esi, [esp + 0x1c]
call fcn.100a2540
add esp, 4
mov dword [esp + 0x150], ebx
mov esi, 0x10
cmp dword [eax + 0x18], esi
jb 0x100a342e
mov ecx, dword [eax + 4]
jmp 0x100a3431
lea ecx, [eax + 4]
lea edx, [esp + 0x44]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
cmp al, bl
jne 0x100a3435
mov dword [esp + 0x150], 0xffffffff
cmp dword [esp + 0x30], esi
jb 0x100a3461
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.1010959d
add esp, 4
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x1c], bl
mov ecx, ecx
push edi
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, ecx
cmp eax, ebx
jne 0x100a34b1
lea ecx, [esp + 0x34]
lea eax, [esp + 0x44]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100a34a8
cmp dl, bl
je 0x100a34a4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100a34a8
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x100a3488
xor eax, eax
jmp 0x100a34ad
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x100a34e4
push 2
push edi
call fcn.100688d0
add esp, 8
mov edi, eax
mov edi, edi
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push ecx
pop ecx
sub eax, dword [esp + 0x14]
cmp eax, dword [0x101b7908]
jae 0x100a34e0
cmp edi, ebx
jne 0x100a33d0
mov eax, ebp
jmp 0x100a34ea
xor ebp, ebp
mov ebp, ebp
mov eax, ebp
jmp 0x100a34ea
xor eax, eax
mov ecx, dword [esp + 0x148]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x130]
xor ecx, esp
call fcn.10117937
add esp, 0x140
ret
Function at 0x100a3830
Capabilities:
Log keystrokes

Disassembly:
push edi
mov edi, dword [esp + 0xc]
test edi, edi
jne 0x100a384a
mov eax, dword [esp + 8]
push eax
call fcn.100a26b0
add esp, 4
mov edi, eax
mov ebp, ebp
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100a3857
pop edi
ret
push ebx
push ebp
push esi
push 5
push edi
call fcn.100688d0
add esp, 8
test eax, eax
je 0x100a38e3
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov esi, eax
push ecx
pop ecx
push 0
push edi
call fcn.10068890
add esp, 8
mov ebx, eax
mov edx, edx
push 1
push ebx
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov ecx, ecx
call dword [sym.imp.USER32.dll_GetFocus]
mov ebp, eax
mov ebp, ebp
push 0
push ebx
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
mov edi, edi
mov ebx, dword [sym.imp.USER32.dll_IsWindow]
push ebp
call ebx
test eax, eax
je 0x100a38e3
push ebp
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x100a38e3
mov esi, ebp
push ebx
pop ebx
push ebp
call ebx
test eax, eax
je 0x100a38e3
cmp esi, edi
je 0x100a38df
push esi
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
mov al, al
push esi
call ebx
test eax, eax
jne 0x100a38c7
jmp 0x100a38e3
mov edi, ebp
mov ch, ch
mov ebp, dword [esp + 0x1c]
mov eax, ebp
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100a38f0
sub eax, edx
mov ebx, eax
xchg ebx, eax
xchg ebx, eax
mov al, al
xor esi, esi
test ebx, ebx
jle 0x100a392e
jmp 0x100a3910
movzx ecx, byte [esi + ebp]
push 0x4000001
push ecx
push 0x102
push edi
call fcn.100688c0
mov bh, bh
add esi, 1
cmp esi, ebx
jl 0x100a3910
pop esi
pop ebp
pop ebx
mov eax, 1
pop edi
ret

Function at 0x100a3940
Capabilities:
Log keystrokes

Disassembly:
push ebx
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x100a395a
mov eax, dword [esp + 8]
push eax
call fcn.100a26b0
add esp, 4
mov ebx, eax
mov ecx, ecx
push ebx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100a3967
pop ebx
ret
push 5
push ebx
call fcn.100688d0
add esp, 8
test eax, eax
je 0x100a39ff
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.DLL_GetCurrentThreadId]
mov esi, eax
mov ebx, ebx
push 0
push ebx
call fcn.10068890
add esp, 8
mov edi, eax
push eax
pop eax
push 1
push edi
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
push edx
pop edx
call dword [sym.imp.USER32.dll_GetFocus]
mov ebp, eax
push ebx
pop ebx
push 0
push edi
push esi
call dword [sym.imp.USER32.dll_AttachThreadInput]
push ecx
pop ecx
mov edi, dword [sym.imp.USER32.dll_IsWindow]
push ebp
call edi
test eax, eax
je 0x100a39fc
push ebp
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x100a39fc
mov esi, ebp
mov edx, edx
push ebp
call edi
test eax, eax
je 0x100a39fc
jmp 0x100a39e0
cmp esi, ebx
je 0x100a39f8
push esi
call dword [sym.imp.USER32.dll_GetParent]
mov esi, eax
mov ebp, ebp
push esi
call edi
test eax, eax
jne 0x100a39e0
jmp 0x100a39fc
mov ebx, ebp
push ebx
pop ebx
pop edi
pop esi
pop ebp
push 0
push 0
push 0x302
push ebx
call fcn.100688c0
mov bl, bl
mov eax, 1
pop ebx
ret
Function at 0x100a43c0
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov eax, dword [esp + 4]
sub esp, 8
push 5
push eax
call fcn.100688d0
add esp, 8
xchg ebx, eax
xchg ebx, eax
test eax, eax
jne 0x100a43dc
add esp, 8
ret
push ebx
push ebp
push esi
push edi
push 0
push eax
call fcn.100688d0
add esp, 8
mov esi, eax
nop
push eax
pop eax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov dword [esp + 0x14], eax
mov edx, edx
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x100a44a4
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x10], esi
mov eax, eax
push edi
push ebx
mov ecx, ebp
mov edx, esi
call fcn.100a3d20
add esp, 8
test eax, eax
je 0x100a444b
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, esi
call fcn.100a3d20
add esp, 8
test eax, eax
jne 0x100a44ae
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
push edi
push ebx
push ebp
push esi
call fcn.100a43c0
add esp, 0x1c
mov cl, cl
test eax, eax
jne 0x100a44a6
push 2
push esi
call fcn.100688d0
add esp, 8
mov esi, eax
push edx
pop edx
cmp dword [esp + 0x10], esi
je 0x100a44a4
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ch, ch
sub eax, dword [esp + 0x14]
cmp eax, dword [0x101b7908]
jae 0x100a44a4
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100a4417
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 8
ret
Function at 0x100c5b80
Capabilities:
Access peb ldr_data

Disassembly:
push ecx
cmp dword [0x102e22a4], 0
jne 0x100c5b9f
mov eax, dword [0x101cdaac]
push eax
call fcn.100441a0
add esp, 4
mov dword [0x102e22a4], eax
push ecx
pop ecx
mov edx, dword [0x101cdaac]
push ecx
pop ecx
xchg ebx, eax
xchg ebx, eax
mov bh, bh
mov bh, bh
mov eax, dword fs:[0x30]
mov ecx, dword [eax + 0xc]
mov dword [esp], ecx
mov ecx, dword [esp]
add ecx, 0xc
mov esi, esi
mov eax, dword [ecx]
mov edx, edx
push ecx
pop ecx
cmp edx, dword [eax + 0x18]
je 0x100c5bd9
mov eax, dword [eax]
mov edx, edx
cmp ecx, eax
jne 0x100c5bc5
jmp 0x100c5c6d
mov dword [0x102dd5fc], eax
mov dl, dl
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
mov dword [0x102dd600], edx
push ebx
pop ebx
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov dword [0x102dd604], edx
mov ecx, ecx
mov ecx, dword [eax + 0x14]
mov edx, dword [ecx]
mov dword [0x102dd608], edx
mov bh, bh
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + 4]
mov dword [0x102dd60c], edx
push edx
pop edx
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov dword [0x102dd610], edx
push eax
pop eax
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 4]
mov dword [0x102dd614], edx
mov dh, dh
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ecx], edx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov cl, cl
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov dword [ecx], edx
mov eax, eax
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [ecx + 4], edx
push ecx
pop ecx
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov dword [ecx], edx
mov eax, eax
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov dword [ecx + 4], edx
mov ah, ah
mov edi, edi
pop ecx
ret

Function at 0x100c6f20
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x820
mov eax, dword [0x101cc114]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ah, ah
push 0x800
push 0
lea eax, [ebp - 0x810]
push eax
call fcn.101183f0
add esp, 0xc
mov eax, eax
lea ecx, [ebp - 0x810]
push ecx
push 0x800
call dword [sym.imp.KERNEL32.DLL_GetLogicalDriveStringsA]
mov dword [ebp - 0xc], eax
push eax
pop eax
cmp dword [ebp - 0xc], 0
jne 0x100c6f71
xor eax, eax
jmp 0x100c6ff9
mov dword [ebp - 4], 0
push edx
pop edx
lea edx, [ebp - 0x810]
mov dword [ebp - 8], edx
mov ebp, ebp
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x100c6ff6
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov ebp, ebp
mov eax, dword [ebp - 8]
mov dword [ebp - 0x814], eax
mov ecx, dword [ebp - 0x814]
add ecx, 1
mov dword [ebp - 0x818], ecx
mov edx, dword [ebp - 0x814]
mov al, byte [edx]
mov byte [ebp - 0x819], al
add dword [ebp - 0x814], 1
cmp byte [ebp - 0x819], 0
jne 0x100c6fb2
mov ecx, dword [ebp - 0x814]
sub ecx, dword [ebp - 0x818]
mov dword [ebp - 0x820], ecx
mov edx, dword [ebp - 0x820]
mov eax, dword [ebp - 8]
lea ecx, [eax + edx + 1]
mov dword [ebp - 8], ecx
mov dh, dh
jmp 0x100c6f85
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10117937
mov esp, ebp
pop ebp
ret