joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1010f8f0
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10186a48
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x101fe854]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov edi, ecx
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x1010f929
mov ecx, dword [esi]
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x1010f933
mov eax, dword [edi]
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0xb
push ecx
push eax
call ebx
test eax, eax
je 0x1010f94a
mov al, 1
jmp 0x1010fa70
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x59], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
mov dword [ebp - 4], eax
lea edx, [ebp - 0x40]
mov ecx, edi
call fcn.101100a0
movzx ecx, byte [ebp - 0x59]
test al, al
mov edx, 1
mov dword [ebp - 0x18], 0
cmovne ecx, edx
mov dword [ebp - 0x14], 0
xor eax, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov byte [ebp - 4], dl
lea edx, [ebp - 0x28]
mov ecx, esi
call fcn.101100a0
test al, al
jne 0x1010f9c6
cmp byte [ebp - 0x60], al
je 0x1010f9e6
cmp dword [ebp - 0x14], 8
lea ecx, [ebp - 0x28]
push 0xb
cmovae ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
push ecx
cmovae eax, dword [ebp - 0x40]
push eax
call ebx
test eax, eax
jne 0x1010fa3a
mov ecx, esi
call fcn.1010f6f0
cmp eax, 0xffffffff
je 0x1010fa51
push esi
lea ecx, [ebp - 0x58]
call fcn.10004e10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.1010fe50
test al, al
je 0x1010fa45
lea edx, [ebp - 0x58]
mov ecx, esi
call fcn.1010f7b0
test al, al
je 0x1010fa45
mov edx, esi
mov ecx, edi
call fcn.1010f7b0
lea ecx, [ebp - 0x58]
test al, al
je 0x1010fa3e
call fcn.1010fa90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.100047b0
mov bl, 1
jmp 0x1010fa53
mov edx, esi
call fcn.1010f7b0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.100047b0
xor bl, bl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.100047b0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.100047b0
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1015f463
mov esp, ebp
pop ebp
ret
Function at 0x1010fa90
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10186a90
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x101fe854]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x1010fac7
mov eax, dword [esi]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
test eax, eax
je 0x1010fadb
mov al, 1
jmp 0x1010fc62
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x1010fae5
mov edx, dword [esi]
mov ecx, edx
mov dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea ebx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1010fb10
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.10004820
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.1010f6f0
mov ebx, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.100047b0
cmp ebx, 0xffffffff
jne 0x1010fb58
xor al, al
jmp 0x1010fc62
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x1010fb62
mov edx, dword [esi]
mov ecx, edx
mov dword [ebp - 0x18], 0
xor eax, eax
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea ebx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1010fb90
sub ecx, ebx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.10004820
mov dword [ebp - 4], 1
xor edx, edx
lea ecx, [ebp - 0x28]
call fcn.1010f610
mov bl, al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.100047b0
test bl, bl
je 0x1010fb51
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x1010fbd9
mov eax, dword [esi]
push eax
call edi
test eax, eax
jne 0x1010fad4
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 2
lea edx, [ebp - 0x28]
mov ecx, esi
call fcn.101100a0
test al, al
je 0x1010fc23
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
test eax, eax
je 0x1010fc23
mov bl, 1
jmp 0x1010fc51
cmp dword [esi + 0x14], 8
jb 0x1010fc2b
mov esi, dword [esi]
push esi
lea ecx, [ebp - 0x44]
call fcn.100046c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 0x2c]
call fcn.1010f610
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44]
call fcn.100047b0
xor bl, bl
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.100047b0
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1015f463
mov esp, ebp
pop ebp
ret
Function at 0x10110c30
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10186ec1
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x101fe854]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x14], edi
mov dword [edi], vtable.DL::RCSimpleDownloadHandler.0
mov dword [edi + 4], vtable.DL::RCSimpleDownloadHandler.1.0
mov dword [ebp - 4], 7
mov dword [edi + 0x98], 0
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov esi, dword [edi + 0xf8]
test esi, esi
je 0x10110cae
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10110cae
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x10110cae
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 5
mov ecx, dword [edi + 0xec]
test ecx, ecx
je 0x10110cc9
lock xadd dword [ecx + 8], ebx
dec ebx
jne 0x10110cc9
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
mov eax, dword [edi + 0xe4]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
test eax, eax
je 0x10110cfa
push eax
call ebx
push 0x18
push dword [edi + 0xe4]
call fcn.1015f4a4
add esp, 8
mov dword [edi + 0xe4], 0
mov byte [ebp - 4], 3
lea esi, [edi + 0xc0]
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 8
mov eax, dword [esi]
test eax, eax
je 0x10110d1e
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi], 0
mov byte [ebp - 4], 3
lea ecx, [esi + 8]
call fcn.100047b0
mov byte [ebp - 4], 2
mov eax, dword [edi + 0xac]
test eax, eax
je 0x10110d55
push eax
call ebx
push 0x18
push dword [edi + 0xac]
call fcn.1015f4a4
add esp, 8
mov dword [edi + 0xac], 0
mov byte [ebp - 4], 1
mov ecx, dword [edi + 0xa0]
test ecx, ecx
je 0x10110dd0
mov edx, dword [edi + 0xa4]
push ecx
call fcn.1007dec0
mov eax, dword [edi + 0xa8]
add esp, 4
mov ecx, dword [edi + 0xa0]
sub eax, ecx
sar eax, 3
lea edx, [eax*8]
cmp edx, 0x1000
jb 0x10110da8
mov esi, dword [ecx - 4]
add edx, 0x23
sub ecx, esi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x10110e4f
mov ecx, esi
push edx
push ecx
call fcn.1015f4a4
add esp, 8
mov dword [edi + 0xa0], 0
mov dword [edi + 0xa4], 0
mov dword [edi + 0xa8], 0
mov byte [ebp - 4], 0
lea esi, [edi + 0x10]
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xc
lea ecx, [esi + 0x70]
call fcn.100047b0
mov byte [ebp - 4], 0xb
lea ecx, [esi + 0x48]
call fcn.100047b0
mov byte [ebp - 4], 0xa
lea ecx, [esi + 0x30]
call fcn.100047b0
mov byte [ebp - 4], 9
lea ecx, [esi + 0x18]
call fcn.100047b0
mov byte [ebp - 4], 0
mov ecx, esi
call fcn.100047b0
mov dword [ebp - 4], 0xe
mov dword [edi + 4], vtable.RC::RCRefCounted.0
mov dword [ebp - 4], 0xffffffff
mov dword [edi], vtable.DL::ISimpleDownloadHandler.0
mov dword [ebp - 4], 0xffffffff
mov dword [edi], vtable.RC::IRefCount.0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x10113030
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101873f8
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x101fe854]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0xc]
xorps xmm0, xmm0
mov edi, dword [ebp + 8]
mov ecx, edi
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x44]
push eax
push 2
push 0xffffffffffffffff
push 0xffff8000
movlpd qword [ebp - 0x44], xmm0
call fcn.100f7050
test al, al
jne 0x10113090
mov eax, 1
jmp 0x10113218
push 0x10000
call fcn.1015f931
add esp, 4
mov dword [ebp - 0x18], 0
mov esi, eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], esi
call fcn.10010110
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 0
push 0x10000
push 0
push esi
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi]
add esp, 0xc
mov dword [ebp - 0x1c], 0
test eax, eax
je 0x101131f1
test esi, esi
je 0x101131f1
cmp dword [eax], 0xffffffff
je 0x101131f1
push 0
lea ecx, [ebp - 0x1c]
push ecx
push 0x8000
push esi
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x101131f1
xor ecx, ecx
mov dword [ebp - 0x2c], 0
mov edx, 0x8000
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x30], edx
lea edi, [esi + 0x8000]
nop word [eax + eax]
cmp byte [ebx + 0x9c], 0
jne 0x101131ea
lea eax, [edi + ecx]
mov dword [ebp - 0x34], 0
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x28], 0
push ecx
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x38]
push edx
push eax
call fcn.10136600
test al, al
je 0x101131e0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x101131c0
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x10113181
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [ebx + 0x9c], 0
jne 0x101131ea
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
cmp dword [ebp - 0x2c], 0xf
ja 0x101131d9
mov edx, dword [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0x30], edx
jne 0x10113130
mov ecx, 0x7ffc
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x101131d2
add esi, 4
add edi, 4
sub ecx, 4
jae 0x101131a8
mov esi, 4
jmp 0x10113202
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
cmp ecx, 0x8000
je 0x101131a3
jmp 0x10113193
mov esi, 5
jmp 0x10113202
mov esi, 3
jmp 0x10113202
mov eax, dword [ebp - 0x34]
mov esi, 3
jmp 0x101131fc
mov esi, 2
jmp 0x10113202
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 1
mov dword [ebx + 0xb0], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x10113216
push ecx
call fcn.1007f060
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1015f463
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10117d00
Capabilities:
Check os version

Disassembly:
sub esp, 0x118
mov eax, dword [0x101fe854]
xor eax, esp
mov dword [esp + 0x114], eax
push esi
mov esi, ecx
mov dword [esp + 4], 0x114
push 0x110
lea eax, [esp + 0xc]
push 0
push eax
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov byte [esi], 0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [esp + 4]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
mov eax, esi
je 0x10117d97
cmp dword [esp + 8], 6
jb 0x10117d97
mov byte [esi], 1
mov ecx, dword [esp + 0x118]
pop esi
xor ecx, esp
call fcn.1015f463
add esp, 0x118
ret

Function at 0x10117db0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10187ac0
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x101fe854]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 0xc
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x28]
push str.wintrust.dll
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.10004820
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
push eax
call fcn.10107fa0
mov ecx, eax
call fcn.10108060
mov ebx, eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.100047b0
push 0xb
xor eax, eax
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x40]
push str.crypt32.dll
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
call fcn.10004820
mov dword [ebp - 4], 1
lea eax, [ebp - 0x40]
push eax
call fcn.10107fa0
mov ecx, eax
call fcn.10108060
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.100047b0
test ebx, ebx
je 0x10117f0d
test esi, esi
je 0x10117f0d
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.CryptCATAdminCalcHashFromFileHandle
push ebx
call esi
push str.CryptCATAdminAcquireContext
push ebx
mov dword [edi + 4], eax
call esi
push str.CryptCATAdminEnumCatalogFromHash
push ebx
mov dword [edi + 8], eax
call esi
push str.CryptCATCatalogInfoFromContext
push ebx
mov dword [edi + 0xc], eax
call esi
push str.CryptCATAdminReleaseCatalogContext
push ebx
mov dword [edi + 0x10], eax
call esi
push str.CryptCATAdminReleaseContext
push ebx
mov dword [edi + 0x14], eax
call esi
push str.WTHelperProvDataFromStateData
push ebx
mov dword [edi + 0x18], eax
call esi
push str.WTHelperGetProvSignerFromChain
push ebx
mov dword [edi + 0x1c], eax
call esi
push str.WinVerifyTrust
push ebx
mov dword [edi + 0x20], eax
call esi
push str.CertNameToStrW
push dword [ebp - 0x10]
mov dword [edi + 0x24], eax
call esi
mov dword [edi + 0x28], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1011a0f0
Capabilities:
Get file size

Disassembly:
sub esp, 8
mov eax, dword [0x101fe854]
xor eax, esp
mov dword [esp + 4], eax
mov eax, dword [ecx]
push esi
push edi
mov edi, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x1011a155
lea ecx, [esp + 8]
mov dword [esp + 8], 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1011a130
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1011a155
mov eax, dword [esp + 8]
xor ecx, ecx
add ecx, esi
mov dword [edi], ecx
adc eax, 0
mov dword [edi + 4], eax
mov al, 1
pop edi
pop esi
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.1015f463
add esp, 8
ret 4
mov ecx, dword [esp + 0xc]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.1015f463
add esp, 8
ret 4
Function at 0x1011a300
Capabilities:
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10187ce8
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x101fe854]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1011a349
mov dword [ecx], 0
mov dword [eax], 0
cmp dword [edi], 0xffffffff
je 0x1011a49b
mov eax, dword [ebp + 0xc]
mov ecx, 0x100000
push 0
mov ebx, eax
mov dword [ebp - 0x1c], 0
cmp eax, 0x100000
lea eax, [ebp - 0x1c]
push eax
cmova ebx, ecx
push ebx
push esi
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteFile]
neg eax
sbb eax, eax
and eax, 0x7fffbffb
add eax, 0x80004005
cmp dword [edi + 0x1c], 0
je 0x1011a466
test eax, eax
je 0x1011a466
mov edx, dword [ebp - 0x1c]
cmp edx, ebx
jae 0x1011a469
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [edi]
mov dword [ebp - 0x24], eax
cmp ecx, 0xffffffff
je 0x1011a3eb
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1011a3df
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1011a3eb
mov eax, dword [ebp - 0x14]
xor ecx, ecx
add ecx, esi
adc eax, 0
jmp 0x1011a3f9
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
push 0
push dword [ebp - 0x24]
push eax
push ecx
sub esp, 0x18
lea eax, [edi + 4]
mov ecx, esp
mov dword [ebp - 0x24], esp
push eax
call fcn.10004e10
mov dword [ebp - 4], 0
mov ecx, dword [edi + 0x1c]
mov eax, dword [ecx]
mov dword [ebp - 4], 0xffffffff
call dword [eax + 0x18]
mov esi, dword [ebp - 0x20]
test eax, eax
jne 0x1011a466
push eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x1c]
push ebx
add eax, esi
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, eax
xor edx, edx
test ecx, ecx
mov eax, 0x80004005
cmovne eax, edx
mov edx, dword [ebp - 0x1c]
add edx, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
test ecx, ecx
je 0x1011a3a4
jmp 0x1011a469
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
add dword [ecx], edx
test eax, eax
jne 0x1011a492
test edx, edx
je 0x1011a48e
mov eax, dword [ebp + 0xc]
add esi, edx
sub eax, edx
mov dword [ebp - 0x20], esi
mov dword [ebp + 0xc], eax
mov ecx, 0x100000
jne 0x1011a360
mov al, 1
jmp 0x1011a49d
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1011a49b
mov dword [ecx], eax
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1015f463
mov esp, ebp
pop ebp
ret 0x10
Function at 0x1011d730
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10185f1f
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x101fe854]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, dword [ebp + 8]
mov ecx, edi
push esi
mov dword [ebp - 0x10], edi
call fcn.10004e10
mov dword [ebp - 4], 0
lea eax, [esi + 0x18]
push eax
lea ecx, [edi + 0x18]
call fcn.10004e10
mov byte [ebp - 4], 1
lea eax, [esi + 0x30]
push eax
lea ecx, [edi + 0x30]
call fcn.10004e10
mov byte [ebp - 4], 2
lea eax, [esi + 0x48]
push eax
lea ecx, [edi + 0x48]
call fcn.10004e10
mov byte [ebp - 4], 3
lea ecx, [edi + 0x64]
mov al, byte [esi + 0x60]
mov byte [edi + 0x60], al
lea eax, [esi + 0x64]
push eax
call fcn.10004e10
mov byte [ebp - 4], 4
lea eax, [esi + 0x7c]
push eax
lea ecx, [edi + 0x7c]
call fcn.10004e10
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10124610
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101893b0
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x101fe854]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [esi]
mov edi, dword [ebp + 8]
test eax, eax
je 0x101246f7
cmp byte [eax + 0x54], 0
je 0x101246f7
add eax, 0x1c
lea ecx, [ebp - 0x38]
push eax
call fcn.100093b0
push 0
mov edx, edi
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call fcn.100f8ab0
add esp, 4
mov byte [ebp - 4], 1
lea edi, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
mov eax, dword [esi]
cmovae edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x1c]
cmp dword [eax + 0x14], 8
jb 0x10124692
mov eax, dword [eax]
push 0
push 0x80
push 4
push 0
push 3
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x101246dc
push 2
push 0
push 0
push esi
mov dword [ebp - 0x30], 0
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 0
lea eax, [ebp - 0x30]
push eax
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0
call fcn.10005f00
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], 0xffffffff
call fcn.10009400
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1015f463
mov esp, ebp
pop ebp
ret 4

Function at 0x1012f1f0
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
mov ebx, ecx
push esi
push edi
xor edi, edi
or edx, 0x100
mov ecx, edx
mov eax, edx
shr ecx, 7
add edx, edx
and ecx, 1
shr eax, 8
neg ecx
sar ecx, 4
and ecx, 0x7f
movzx esi, word [ebx + eax*2]
shr esi, 4
xor esi, ecx
add edi, dword [ebp + esi*4]
cmp edx, 0x10000
jb 0x1012f202
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret

Function at 0x1012f240
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
push esi
mov esi, 0x100
xor ebx, ebx
push edi
mov edi, dword [esp + 0x14]
mov ebp, ecx
or edx, esi
add edi, edi
mov ecx, esi
and ecx, edi
mov eax, edx
shr eax, 8
add ecx, esi
add eax, ecx
movzx ecx, word [ebp + eax*2]
mov eax, edx
shr eax, 7
add edx, edx
and eax, 1
shr ecx, 4
neg eax
sar eax, 4
and eax, 0x7f
xor ecx, eax
mov eax, dword [esp + 0x18]
add ebx, dword [eax + ecx*4]
mov ecx, edx
xor ecx, edi
not ecx
and esi, ecx
cmp edx, 0x10000
jb 0x1012f253
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
ret

Function at 0x1012f3e0
Capabilities:
Encode data using xor

Disassembly:
push ecx
xor eax, eax
mov dword [esp], ecx
push ebp
mov ebp, edx
push edi
lea edi, [eax + 1]
test ebp, ebp
je 0x1012f427
push ebx
mov ebx, dword [esp + 0x14]
push esi
movzx edx, word [ecx + edi*2]
mov esi, ebx
and esi, 1
shr edx, 4
mov ecx, esi
shr ebx, 1
neg ecx
add edi, edi
sar ecx, 4
or edi, esi
and ecx, 0x7f
xor edx, ecx
mov ecx, dword [esp + 0x1c]
add eax, dword [ecx + edx*4]
mov ecx, dword [esp + 0x10]
sub ebp, 1
jne 0x1012f3f7
pop esi
pop ebx
pop edi
pop ebp
pop ecx
ret
Function at 0x1012f580
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x20]
push ebp
mov ebp, ecx
mov dword [esp + 8], edx
push esi
push edi
movzx esi, word [ebp]
movzx ecx, word [ebp + 2]
mov eax, esi
shr eax, 4
xor esi, 0x7f0
shr esi, 4
mov eax, dword [ebx + eax*4]
mov dword [esp + 0x14], eax
mov eax, ecx
shr eax, 4
xor ecx, 0x7f0
shr ecx, 4
mov eax, dword [ebx + eax*4]
add eax, dword [ebx + esi*4]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + ecx*4]
add eax, dword [ebx + esi*4]
xor esi, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], esi
cmp esi, dword [esp + 0x24]
jae 0x1012f6fa
mov edx, esi
xor edi, edi
mov esi, dword [esp + 0x10]
or edx, 8
nop dword [eax + eax]
mov ecx, edx
and edx, 1
shr ecx, 1
neg edx
sar edx, 4
and edx, 0x7f
lea eax, [ecx + esi*8]
movzx eax, word [ebp + eax*2 + 4]
shr eax, 4
xor eax, edx
mov edx, ecx
add edi, dword [ebx + eax*4]
cmp edx, 1
jne 0x1012f5f0
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
add eax, edi
mov dword [ecx + esi*4], eax
inc esi
mov dword [esp + 0x2c], esi
cmp esi, 8
jb 0x1012f5d6
cmp esi, 0x10
jae 0x1012f6a2
lea eax, [esi - 8]
mov dword [esp + 0x14], eax
nop dword [eax]
cmp esi, dword [esp + 0x24]
jae 0x1012f6fa
mov esi, dword [esp + 0x10]
mov edx, eax
xor edi, edi
or edx, 8
mov ecx, edx
and edx, 1
shr ecx, 1
neg edx
sar edx, 4
and edx, 0x7f
lea eax, [ecx + esi*8]
movzx eax, word [ebp + eax*2 + 0x104]
shr eax, 4
xor eax, edx
mov edx, ecx
add edi, dword [ebx + eax*4]
cmp edx, 1
jne 0x1012f655
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x14], eax
cmp esi, 0x10
jb 0x1012f640
cmp esi, dword [esp + 0x24]
jae 0x1012f6fa
lea eax, [esi - 0x10]
mov dword [esp + 0x2c], eax
nop
xor edi, edi
or eax, 0x100
mov edx, eax
and eax, 1
shr edx, 1
neg eax
sar eax, 4
and eax, 0x7f
movzx ecx, word [ebp + edx*2 + 0x204]
shr ecx, 4
xor ecx, eax
mov eax, edx
add edi, dword [ebx + ecx*4]
cmp eax, 1
jne 0x1012f6b7
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
add eax, edi
mov dword [ecx + esi*4], eax
inc esi
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp esi, dword [esp + 0x24]
jb 0x1012f6b0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret