joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100adb25
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b1e22
mov eax, dword fs:[0]
push eax
sub esp, 0x258
mov eax, dword [0x100dd3e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
and dword [ebp - 0x25c], 0
lea ecx, [ebp - 0x2c]
call fcn.100016d0
and dword [ebp - 4], 0
mov byte [ebp - 0x2d], 0
push 0x208
push 0
lea eax, [ebp - 0x23c]
push eax
call fcn.10070cb0
add esp, 0xc
push 1
movzx eax, byte [ebp + 0xc]
neg eax
sbb eax, eax
and eax, 0xfffffff7
add eax, 0x23
push eax
lea eax, [ebp - 0x23c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x100adc3f
lea eax, [ebp - 0x23c]
push eax
lea ecx, [ebp - 0x258]
call fcn.100016f9
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x260]
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 1
push dword [ebp - 0x264]
lea ecx, [ebp - 0x2c]
call fcn.10001792
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x258]
call fcn.10001767
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x100adc01
push 0x100c6d0c
lea ecx, [ebp - 0x2c]
call fcn.10004c93
jmp 0x100adc0e
push 0x100c6d34
lea ecx, [ebp - 0x2c]
call fcn.10004c93
lea eax, [ebp - 0x2c]
push eax
call fcn.100ac7a3
pop ecx
movzx eax, al
test eax, eax
jne 0x100adc2e
lea eax, [ebp - 0x2c]
push eax
call fcn.100ad6da
pop ecx
mov byte [ebp - 0x2d], al
jmp 0x100adc32
mov byte [ebp - 0x2d], 1
push 0x100c6d58
lea ecx, [ebp - 0x2c]
call fcn.10004c93
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 8]
call fcn.1000172f
mov eax, dword [ebp - 0x25c]
or eax, 1
mov dword [ebp - 0x25c], eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.10001767
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006e011
leave
ret
Function at 0x100adc80
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b1e52
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x100dd3e0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 0x31], 0
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.100adb25
pop ecx
pop ecx
and dword [ebp - 4], 0
push 0
push 0
push 2
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x30]
call fcn.10004d1a
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x100add1d
push 1
lea eax, [ebp - 0x50]
push eax
call fcn.100adb25
pop ecx
pop ecx
push 0
push 0
push 2
push 0
push 1
push 0x40000000
lea ecx, [ebp - 0x50]
call fcn.10004d1a
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x50]
call fcn.10001767
cmp dword [ebp - 0x10], 0xffffffff
je 0x100add4e
push 0
lea eax, [ebp - 0x54]
push eax
push 0x10
push dword [ebp + 8]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x100add45
cmp dword [ebp - 0x54], 0x10
jne 0x100add45
mov byte [ebp - 0x31], 1
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x31]
mov byte [ebp - 0x55], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10001767
mov al, byte [ebp - 0x55]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1006e011
leave
ret 4
Function at 0x100add7c
Capabilities:
Copy file
Delete file
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b1e7f
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x100dd3e0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x60], ecx
mov byte [ebp - 0x31], 0
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.100adb25
pop ecx
pop ecx
and dword [ebp - 4], 0
or dword [ebp - 0x10], 0xffffffff
push 0
push 0
push 3
push 0
push 1
push SysReAllocString
lea ecx, [ebp - 0x30]
call fcn.10004d1a
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0xffffffff
jne 0x100ade70
push 1
lea eax, [ebp - 0x50]
push eax
call fcn.100adb25
pop ecx
pop ecx
lea eax, [ebp - 0x30]
push eax
call fcn.100ab407
pop ecx
movzx eax, al
test eax, eax
jne 0x100ade47
lea eax, [ebp - 0x50]
push eax
call fcn.100ab407
pop ecx
movzx eax, al
test eax, eax
je 0x100ade47
push 0
lea ecx, [ebp - 0x30]
call fcn.10004d1a
push eax
lea ecx, [ebp - 0x50]
call fcn.10004d1a
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
je 0x100ade47
lea ecx, [ebp - 0x50]
call fcn.10004d1a
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0
push 3
push 0
push 1
push SysReAllocString
lea ecx, [ebp - 0x50]
call fcn.10004d1a
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x50]
call fcn.10001767
cmp dword [ebp - 0x10], 0xffffffff
je 0x100adebe
push 0
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0x10
jb 0x100adeb5
cmp dword [ebp - 0x54], 0xffffffff
je 0x100adeb5
push 0
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x54]
push dword [ebp + 8]
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100adeb5
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x54]
jne 0x100adeb5
mov byte [ebp - 0x31], 1
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x31]
mov byte [ebp - 0x59], al
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10001767
mov al, byte [ebp - 0x59]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1006e011
leave
ret 4
Function at 0x100aec05
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x100dd3e0]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x21c], 0
mov eax, dword [0x100f9848]
and eax, 1
jne 0x100aec4b
mov eax, dword [0x100f9848]
or eax, 1
mov dword [0x100f9848], eax
mov ecx, 0x100f9844
call fcn.10003b07
push 0x100b773f
call fcn.1006e57b
pop ecx
mov ecx, 0x100f9844
call fcn.1002ff98
movzx eax, al
test eax, eax
je 0x100aec9e
and word [ebp - 0x218], 0
push 0x20a
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.10070cb0
add esp, 0xc
push 1
push 0x24
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x218]
push eax
mov ecx, 0x100f9844
call fcn.10003bbe
push 0x100f9844
mov ecx, dword [ebp + 8]
call fcn.10003b21
mov eax, dword [ebp - 0x21c]
or eax, 1
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006e011
leave
ret

Function at 0x100aecc9
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x21c
mov eax, dword [0x100dd3e0]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x21c], 0
mov eax, dword [0x100f9850]
and eax, 1
jne 0x100aed0f
mov eax, dword [0x100f9850]
or eax, 1
mov dword [0x100f9850], eax
mov ecx, 0x100f984c
call fcn.10003b07
push 0x100b7730
call fcn.1006e57b
pop ecx
mov ecx, 0x100f984c
call fcn.1002ff98
movzx eax, al
test eax, eax
je 0x100aed62
and word [ebp - 0x218], 0
push 0x20a
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.10070cb0
add esp, 0xc
push 1
push 0x25
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x218]
push eax
mov ecx, 0x100f984c
call fcn.10003bbe
push 0x100f984c
mov ecx, dword [ebp + 8]
call fcn.10003b21
mov eax, dword [ebp - 0x21c]
or eax, 1
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1006e011
leave
ret
Function at 0x102e2d94
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea esp, [esp + 8]
jae 0x102d43fe
lahf
push 0x22c5ebda
movsx cx, bl
mov ecx, dword [esp + 0x24]
inc ah
cwde
cwde
mov eax, dword [esp + 0xa8]
jmp loc.102d55bf

Function at 0x102e6655
Capabilities:
Resolve function by parsing pe exports

Disassembly:
jmp 0x102f288a
clc
stc
cmp edi, esi
mov byte [esp], 0x9d
pushal
mov byte [esp], cl
push dword [esp]
lea esp, [esp + 0x28]
jmp fcn.102d7fa6

Function at 0x102f72c3
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [esp + 0x1c], eax
pushfd
pushfd
mov byte [esp + 8], al
mov byte [esp], dh
mov dword [esp + 0x1c], esi
jmp 0x102fb348

Function at 0x102f8559
Capabilities:
Contain obfuscated stackstrings

Disassembly:
call fcn.102ee23e
lea esp, [esp + 0x84]
jno 0x102e3e45
mov word [esp + 0x892], ax
pushal
push 0x109ed993
mov byte [esp + 8], 0xb1
push dword [esp + 4]
mov word [esp + 0x8bc], si
call fcn.102d6234

Function at 0x102f9e10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea esp, [esp + 8]
jae 0x102d43fe
jmp loc.102d90c0
Function at 0x10287e06
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x4c
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
cmp ecx, 0
sete dl
cmp eax, 0
sete dh
and dl, dh
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x15], dl
mov eax, 0xffffffff
mov cl, byte [ebp - 0x15]
test cl, 1
mov dword [ebp - 0x1c], eax
jne 0x10287e7a
jmp 0x10287e85
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
xor eax, eax
mov ecx, dword [ebp - 0x24]
mov dx, word [ecx]
mov dword [0x102d7e8c], 0x26b6
shr dx, 1
movzx esi, dx
cmp dx, 0
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], eax
je 0x10287ed6
jmp 0x10287f3b
mov eax, dword [ebp - 0x1c]
add esp, 0x4c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [0x102d7e90], 0x25ed
mov dword [0x102d7e8c], 0x14fc
mov ecx, dword fs:[0x18]
mov dword [0x102d7e8c], 0xffffeafc
mov eax, dword [ecx + 0x30]
mov dword [0x102d7e90], 0xffffd3cf
mov eax, dword [eax + 0xc]
add eax, 0x14
mov ecx, dword [ebp - 0x10]
cmp ecx, 0
setne dl
mov esi, eax
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x39], dl
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov eax, dword [eax]
mov edx, dword [ebp - 0x38]
cmp eax, edx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x1c], ecx
je 0x10287e7a
mov dword [0x102d7e8c], 0xe77
mov eax, dword [ebp - 0x28]
add eax, 0x24
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + 0x28]
mov esi, dword [ecx + 0x10]
mov edi, dword [ebp - 0x10]
cmp esi, edi
sete bl
mov bh, byte [ebp - 0x39]
and bh, bl
test bh, 1
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x44], esi
jne 0x10287f25
jmp 0x10287e43
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff8
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1c], eax
jmp 0x10287e7a
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x40]
mov dx, word [ecx + eax*2]
mov si, dx
add si, 0xffbf
mov di, dx
add di, 0x20
cmp si, 0x1a
mov dword [ebp - 0x4c], eax
mov word [ebp - 0x4e], dx
mov word [ebp - 0x50], di
jb 0x10287f6f
mov ax, word [ebp - 0x4e]
mov word [ebp - 0x50], ax
mov ax, word [ebp - 0x50]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4c]
cmp word [ecx + edx*2], ax
sete bl
cmp ax, 0
sete bh
mov al, bl
xor al, 1
or bh, al
test bh, 1
mov byte [ebp - 0x51], bl
jne 0x10287fb7
mov dword [0x102d7e8c], 0x667
mov eax, dword [ebp - 0x4c]
add eax, 1
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x30]
cmp eax, ecx
mov dword [ebp - 0x34], eax
jb 0x10287f3b
mov al, byte [ebp - 0x51]
test al, 1
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], ecx
jne 0x10287fc9
jmp 0x10287ed6
mov dword [0x102d7e90], 0xffffc994
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
jmp 0x10287e7a
Function at 0x102883df
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x18
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [0x102d7e98], 0
mov byte [0x102d7e9c], 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], edx
xor eax, eax
mov dword [0x102d7e8c], 0x1f87
mov dword [0x102d7e94], 0
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, eax
mov dl, cl
mov ecx, dword [ebp - 0x18]
mov byte [ecx + eax], dl
mov eax, dword [0x102d7e94]
add eax, 1
mov dword [0x102d7e94], eax
cmp eax, 0x100
mov dword [ebp - 0x1c], eax
jl 0x10288424
xor eax, eax
mov dword [0x102d7e8c], 0xd51
mov dword [0x102d7e94], 0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov ecx, 0x100
mov dword [0x102d7ea0], 0
mov dword [0x102d7e8c], 0x17de
mov edx, dword [0x102d7e98]
mov esi, dword [ebp - 0x18]
movzx edi, byte [esi + eax]
add edi, edx
mov dword [ebp - 0x24], eax
xor edx, edx
mov ebx, dword [ebp - 0x10]
div ebx
mov esi, dword [ebp - 0x14]
movzx edx, byte [esi + edx]
add edi, edx
mov dword [0x102d7ea0], edi
mov dword [0x102d7e90], 0x51e
mov dword [0x102d7e8c], 0xffffe312
mov eax, edi
cdq
idiv ecx
mov dword [0x102d7e98], edx
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
mov cl, byte [ecx + edi]
mov byte [0x102d7e9c], cl
mov dword [0x102d7e8c], 0x1980
mov ecx, dword [ebp - 0x18]
mov cl, byte [ecx + edx]
mov edx, dword [ebp - 0x18]
mov byte [edx + edi], cl
mov ecx, dword [0x102d7e8c]
add ecx, 0x1ff7
mov dword [0x102d7e90], ecx
mov cl, byte [0x102d7e9c]
mov edx, dword [0x102d7e98]
mov esi, dword [ebp - 0x18]
mov byte [esi + edx], cl
mov dword [0x102d7e8c], 0x5e6
mov edx, dword [0x102d7e90]
add edx, 0xfffffd1a
mov dword [0x102d7e90], edx
mov edx, dword [0x102d7e94]
add edx, 1
mov dword [0x102d7e94], edx
cmp edx, 0x100
mov dword [ebp - 0x20], edx
jl 0x10288463
mov dword [0x102d7e8c], 0x1e31
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10288990
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [ebp + 8]
mov dword [0x102d7e90], 0x26de
mov dword [ebp - 0x10], eax
call fcn.10287fde
xor ecx, ecx
mov edx, eax
mov esi, dword [eax + 0x3c]
mov edi, edx
add edi, esi
mov dword [0x102d7e90], 0xe73
mov esi, dword [eax + esi]
cmp esi, 0x4550
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edi
je 0x102889e0
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x78]
mov dword [0x102d7e8c], 0x16bd
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
add ecx, dword [edx + eax + 0x20]
mov esi, dword [edx + eax + 0x18]
cmp esi, 0
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], edi
je 0x10288b0c
jmp 0x10288a9e
mov al, byte [ebp - 0x31]
test al, 1
jne 0x10288a27
jmp 0x10288a4f
mov eax, dword [ebp - 0x38]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
add edx, dword [edx + esi + 0x1c]
mov edi, dword [ebp - 0x1c]
add edi, dword [edx + ecx*4]
mov dword [0x102d7e8c], 0x22a3
mov dword [ebp - 0x30], edi
jmp 0x10288b0c
mov eax, dword [ebp - 0x38]
add eax, 2
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], ecx
xor eax, eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x2c]
cmp ecx, edx
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x30], eax
jae 0x10288b0c
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov esi, dword [ebp - 0x28]
mov edi, dword [esi + eax*4]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], edx
jmp 0x10288ab2
xor eax, eax
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
add ecx, dword [ecx + edx + 0x24]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x4c], eax
jmp 0x10288a82
mov eax, dword [ebp - 0x54]
mov ecx, eax
mov edx, dword [ebp - 0x50]
add ecx, edx
mov esi, dword [ebp - 0x1c]
mov bl, byte [esi + ecx]
mov ecx, dword [ebp - 0x10]
mov bh, byte [ecx + eax]
cmp bl, bh
sete cl
cmp bl, 0
mov dword [ebp - 0x58], eax
mov byte [ebp - 0x59], bh
mov byte [ebp - 0x31], cl
je 0x10288a1e
mov eax, dword [ebp - 0x58]
add eax, 1
mov cl, byte [ebp - 0x59]
cmp cl, 0
setne dl
mov ch, byte [ebp - 0x31]
and ch, dl
cmp eax, 0x20
setb dl
and ch, dl
test ch, 1
mov dword [ebp - 0x54], eax
jne 0x10288ab2
jmp 0x10288a1e
mov eax, dword [ebp - 0x30]
add esp, 0x50
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10288b60
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
mov eax, dword fs:[0x30]
mov dword [ebp - 4], eax
xor ecx, ecx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x3c]
mov dword [0x102d7e8c], 0x1927
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], ecx
jmp 0x10288bae
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
cmp word [eax + ecx*2 - 0x10], 0x6c
je 0x10288c51
jmp 0x10288c68
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
cmp word [ecx + eax*2], 0
mov edx, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
je 0x10288be5
mov eax, dword [ebp - 0x18]
add eax, 1
mov dword [0x102d7e8c], 0x9f6
cmp eax, 0x104
mov ecx, eax
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], eax
jl 0x10288bae
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
cmp word [ecx + eax*2 - 0x1a], 0x6c
mov dword [ebp - 0x14], eax
jne 0x10288c68
mov dword [0x102d7e8c], 0x21a9
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
cmp word [eax + ecx*2 - 0x18], 0x6f
jne 0x10288c68
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
cmp word [eax + ecx*2 - 0x16], 0x61
jne 0x10288c68
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff6
shl eax, 1
mov ecx, dword [ebp - 0xc]
add ecx, eax
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
cmp word [eax], 0x64
jne 0x10288c68
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x14]
cmp word [eax + ecx*2 - 0x12], 0x64
je 0x10288b96
jmp 0x10288c68
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
cmp word [ecx + edx*2 - 0xe], 0x6c
mov dword [ebp - 0x24], eax
je 0x10288c6f
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x10288c6f
mov eax, dword [ebp - 0x24]
add esp, 0x24
pop ebp
ret
Function at 0x10288c77
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
sub esp, 0x54
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
xor edx, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
mov ecx, eax
add ecx, 1
mov dl, byte [eax + 0x1028a47f]
mov dh, byte [eax + 0x1028a450]
sub dh, dl
mov byte [ebp + eax - 0x28], dh
cmp ecx, 0xe
mov dword [ebp - 0x34], ecx
jne 0x10288c90
lea eax, [ebp - 0x28]
mov dword [0x102d7e8c], 0x1372
mov dword [ebp - 0x38], eax
call fcn.10289388
mov dword [esp], eax
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], eax
call fcn.10288139
cmp eax, 0
mov dword [ebp - 0x3c], eax
je 0x10288da7
mov eax, dword [ebp - 0x3c]
mov ecx, esp
mov dword [ecx + 0xc], 0x40
mov dword [ecx + 8], 0x1000
mov dword [ecx + 4], 0x6000
mov dword [ecx], 0
call eax
sub esp, 0x10
mov ecx, dword [0x102d7e8c]
add ecx, 0xffffdbc9
mov dword [0x102d7e8c], ecx
mov dword [esp], eax
mov ecx, dword [ebp - 0x2c]
mov dword [esp + 4], ecx
mov dword [ebp - 0x40], eax
call fcn.102882e2
mov eax, dword [0x102d7e8c]
add eax, 0xffffe005
mov dword [0x102d7e90], eax
mov eax, dword [ebp - 0x40]
mov word [eax], 0x5a4d
mov dword [eax + 0x3c], 0xd0
mov dword [eax + 0xd0], 0x4550
add eax, 0xffc00000
mov dword [ebp - 0x44], eax
xor eax, eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x44]
mov dword [ecx + 0xc], edx
mov dword [0x102d7e8c], 0x19c4
mov esi, dword [ebp - 0x40]
mov dword [ecx + 4], esi
add esi, 0x2175
mov edi, dword [ebp - 0x40]
cmp edi, 0
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], eax
je 0x10288d9d
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
add esp, 0x54
pop esi
pop edi
pop ebp
ret
xor eax, eax
add esp, 0x54
pop esi
pop edi
pop ebp
ret
Function at 0x10288eca
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [0x102d7e94], 0
mov dword [0x102d7e98], 0
mov dword [0x102d7ea4], 0
mov ebx, dword [0x102d7e90]
add ebx, 0xfffff338
mov dword [0x102d7e8c], ebx
cmp eax, 0
mov ebx, edi
mov dword [ebp - 0x10], eax
mov eax, edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], edi
je 0x10289048
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
mov esi, 0x100
mov dword [0x102d7e8c], 0x20d1
mov dword [0x102d7e90], 0x7e7
add ecx, 1
mov dword [ebp - 0x2c], eax
mov eax, ecx
mov dword [ebp - 0x30], edx
cdq
idiv esi
mov dword [0x102d7e94], edx
mov ecx, dword [ebp - 0x20]
movzx edi, byte [ecx + edx]
mov ebx, dword [ebp - 0x30]
add edi, ebx
mov eax, edi
mov dword [ebp - 0x34], edx
cdq
idiv esi
mov dword [0x102d7e98], edx
mov esi, dword [ebp - 0x34]
mov cl, byte [ecx + esi]
mov byte [0x102d7e9c], cl
mov edi, dword [ebp - 0x20]
mov cl, byte [edi + edx]
mov byte [edi + esi], cl
mov cl, byte [0x102d7e9c]
mov edx, dword [0x102d7e98]
mov byte [edi + edx], cl
mov dword [0x102d7e90], 0x2664
mov edx, dword [0x102d7e94]
movzx edx, byte [edi + edx]
mov ebx, dword [0x102d7e98]
movzx ebx, byte [edi + ebx]
add ebx, edx
and ebx, 0xff
mov dword [0x102d7ea4], ebx
mov dword [0x102d7e8c], 0x1fb1
mov cl, byte [edi + ebx]
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x2c]
mov ch, byte [edx + ebx]
mov byte [0x102d7ea9], ch
mov byte [0x102d7eaa], cl
xor ch, cl
mov byte [0x102d7ea8], ch
mov dword [0x102d7e8c], 0x251f
mov edx, dword [ebp - 0x1c]
mov byte [edx + ebx], ch
mov dword [0x102d7e90], 0x13d3
add ebx, 1
mov edx, dword [ebp - 0x10]
cmp ebx, edx
mov dword [ebp - 0x38], ebx
je 0x10289048
mov eax, dword [0x102d7e94]
mov ecx, dword [0x102d7e98]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], edx
jmp 0x10288f35
add esp, 0x2c
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10289184
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x90
lea eax, [esp + 0x28]
lea ecx, [esp + 0x38]
mov dword [0x102d7e8c], 0x1f19
mov dword [esp], eax
mov dword [esp + 0x24], ecx
call fcn.10288569
lea ecx, [0x10288b17]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], 0x12b000
mov edx, dword [0x102d7e78]
mov dword [esp + 0x40], edx
mov edx, dword [0x102d7e7c]
mov dword [esp + 0x64], edx
mov edx, dword [0x102d7e80]
mov dword [esp + 0x80], edx
mov edx, dword [0x102d7e84]
mov dword [esp + 0x70], edx
mov edx, dword [0x102d7e88]
mov dword [esp + 0x60], edx
mov dword [0x102d7e90], 0x4bf
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
jmp 0x1028925f
lea eax, [esp + 0x38]
mov dword [0x102d7e90], 0x341
mov ecx, dword [esp + 0x30]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.10288c77
mov ecx, esp
lea edx, [esp + 0x38]
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, 1
mov dword [esp + 0x18], eax
jmp 0x10289257
mov eax, dword [esp + 0x14]
add eax, 0xfffff000
and eax, 0xfffff000
mov dword [esp + 0x1c], eax
jmp 0x1028925f
mov eax, dword [esp + 0x18]
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x1c]
cmp word [eax], 0x5a4d
mov dword [esp + 0x14], eax
jne 0x10289243
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x3c]
add eax, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
cmp dword [eax], 0x4550
jne 0x10289243
mov eax, dword [esp + 0x14]
mov dword [esp + 0x88], eax
mov dword [0x102d7e90], 0xe73
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx + 0x50]
mov dword [esp + 0x7c], edx
call fcn.10288b60
xor ecx, ecx
cmp eax, 0
mov dword [esp + 0x18], ecx
je 0x1028920d
jmp 0x10289257