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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10188988
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x10200854]
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 0x101116a9
mov ecx, dword [esi]
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x101116b3
mov eax, dword [edi]
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExW]
push 0xb
push ecx
push eax
call ebx
test eax, eax
je 0x101116ca
mov al, 1
jmp 0x101117f0
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.10111e20
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.10111e20
test al, al
jne 0x10111746
cmp byte [ebp - 0x60], al
je 0x10111766
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 0x101117ba
mov ecx, esi
call fcn.10111470
cmp eax, 0xffffffff
je 0x101117d1
push esi
lea ecx, [ebp - 0x58]
call fcn.10004e10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x58]
call fcn.10111bd0
test al, al
je 0x101117c5
lea edx, [ebp - 0x58]
mov ecx, esi
call fcn.10111530
test al, al
je 0x101117c5
mov edx, esi
mov ecx, edi
call fcn.10111530
lea ecx, [ebp - 0x58]
test al, al
je 0x101117be
call fcn.10111810
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.100047b0
mov bl, 1
jmp 0x101117d3
mov edx, esi
call fcn.10111530
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.101611d3
mov esp, ebp
pop ebp
ret
Function at 0x10111810
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101889d0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x10200854]
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 0x10111847
mov eax, dword [esi]
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileW]
push eax
call edi
test eax, eax
je 0x1011185b
mov al, 1
jmp 0x101119e2
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x10111865
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 0x10111890
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.10111470
mov ebx, eax
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.100047b0
cmp ebx, 0xffffffff
jne 0x101118d8
xor al, al
jmp 0x101119e2
cmp dword [esi + 0x14], 8
mov edx, esi
jb 0x101118e2
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 0x10111910
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.10111390
mov bl, al
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.100047b0
test bl, bl
je 0x101118d1
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x10111959
mov eax, dword [esi]
push eax
call edi
test eax, eax
jne 0x10111854
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.10111e20
test al, al
je 0x101119a3
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call edi
test eax, eax
je 0x101119a3
mov bl, 1
jmp 0x101119d1
cmp dword [esi + 0x14], 8
jb 0x101119ab
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.10111390
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.101611d3
mov esp, ebp
pop ebp
ret
Function at 0x101129b0
Capabilities:
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10188e01
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x10200854]
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 0x10112a2e
mov eax, ebx
lock xadd dword [esi + 4], eax
jne 0x10112a2e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, ebx
lock xadd dword [esi + 8], eax
jne 0x10112a2e
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 0x10112a49
lock xadd dword [ecx + 8], ebx
dec ebx
jne 0x10112a49
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 0x10112a7a
push eax
call ebx
push 0x18
push dword [edi + 0xe4]
call fcn.10161214
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 0x10112a9e
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 0x10112ad5
push eax
call ebx
push 0x18
push dword [edi + 0xac]
call fcn.10161214
add esp, 8
mov dword [edi + 0xac], 0
mov byte [ebp - 4], 1
mov ecx, dword [edi + 0xa0]
test ecx, ecx
je 0x10112b50
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 0x10112b28
mov esi, dword [ecx - 4]
add edx, 0x23
sub ecx, esi
lea eax, [ecx - 4]
cmp eax, 0x1f
ja 0x10112bcf
mov ecx, esi
push edx
push ecx
call fcn.10161214
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 0x10114db0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10189338
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x10200854]
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.100f8db0
test al, al
jne 0x10114e10
mov eax, 1
jmp 0x10114f98
push 0x10000
call fcn.101616a1
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 0x10114f71
test esi, esi
je 0x10114f71
cmp dword [eax], 0xffffffff
je 0x10114f71
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 0x10114f71
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 0x10114f6a
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.10138390
test al, al
je 0x10114f60
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x10114f40
mov eax, dword [ebx + 0xc0]
test eax, eax
je 0x10114f01
push 0x3e8
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp byte [ebx + 0x9c], 0
jne 0x10114f6a
inc dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
cmp dword [ebp - 0x2c], 0xf
ja 0x10114f59
mov edx, dword [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0x30], edx
jne 0x10114eb0
mov ecx, 0x7ffc
mov eax, dword [esi]
cmp eax, dword [edi]
jne 0x10114f52
add esi, 4
add edi, 4
sub ecx, 4
jae 0x10114f28
mov esi, 4
jmp 0x10114f82
mov ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x24], ecx
cmp ecx, 0x8000
je 0x10114f23
jmp 0x10114f13
mov esi, 5
jmp 0x10114f82
mov esi, 3
jmp 0x10114f82
mov eax, dword [ebp - 0x34]
mov esi, 3
jmp 0x10114f7c
mov esi, 2
jmp 0x10114f82
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 0x10114f96
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.101611d3
mov esp, ebp
pop ebp
ret 0xc
Function at 0x10119a70
Capabilities:
Check os version

Disassembly:
sub esp, 0x118
mov eax, dword [0x10200854]
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 0x10119b07
cmp dword [esp + 8], 6
jb 0x10119b07
mov byte [esi], 1
mov ecx, dword [esp + 0x118]
pop esi
xor ecx, esp
call fcn.101611d3
add esp, 0x118
ret

Function at 0x10119b20
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10189a00
mov eax, dword fs:[0]
push eax
sub esp, 0x34
push ebx
push esi
push edi
mov eax, dword [0x10200854]
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.10109d20
mov ecx, eax
call fcn.10109de0
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.10109d20
mov ecx, eax
call fcn.10109de0
mov esi, eax
mov dword [ebp - 0x10], esi
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.100047b0
test ebx, ebx
je 0x10119c7d
test esi, esi
je 0x10119c7d
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 0x1011be60
Capabilities:
Get file size

Disassembly:
sub esp, 8
mov eax, dword [0x10200854]
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 0x1011bec5
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 0x1011bea0
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1011bec5
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.101611d3
add esp, 8
ret 4
mov ecx, dword [esp + 0xc]
xor al, al
pop edi
pop esi
xor ecx, esp
call fcn.101611d3
add esp, 8
ret 4
Function at 0x1011c070
Capabilities:
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10189c28
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x10200854]
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 0x1011c0b9
mov dword [ecx], 0
mov dword [eax], 0
cmp dword [edi], 0xffffffff
je 0x1011c20b
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 0x1011c1d6
test eax, eax
je 0x1011c1d6
mov edx, dword [ebp - 0x1c]
cmp edx, ebx
jae 0x1011c1d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [edi]
mov dword [ebp - 0x24], eax
cmp ecx, 0xffffffff
je 0x1011c15b
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 0x1011c14f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1011c15b
mov eax, dword [ebp - 0x14]
xor ecx, ecx
add ecx, esi
adc eax, 0
jmp 0x1011c169
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 0x1011c1d6
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 0x1011c114
jmp 0x1011c1d9
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x28]
add dword [ecx], edx
test eax, eax
jne 0x1011c202
test edx, edx
je 0x1011c1fe
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 0x1011c0d0
mov al, 1
jmp 0x1011c20d
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x1011c20b
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.101611d3
mov esp, ebp
pop ebp
ret 0x10
Function at 0x1011f4a0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10187e5f
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10200854]
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 0x10126380
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018b2f0
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x10200854]
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 0x10126467
cmp byte [eax + 0x54], 0
je 0x10126467
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.100fa810
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 0x10126402
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 0x1012644c
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.101611d3
mov esp, ebp
pop ebp
ret 4

Function at 0x10130f60
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 0x10130f72
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret

Function at 0x10130fb0
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 0x10130fc3
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
ret

Function at 0x10131150
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 0x10131197
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 0x10131167
pop esi
pop ebx
pop edi
pop ebp
pop ecx
ret
Function at 0x101312f0
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 0x1013146a
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 0x10131360
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 0x10131346
cmp esi, 0x10
jae 0x10131412
lea eax, [esi - 8]
mov dword [esp + 0x14], eax
nop dword [eax]
cmp esi, dword [esp + 0x24]
jae 0x1013146a
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 0x101313c5
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 0x101313b0
cmp esi, dword [esp + 0x24]
jae 0x1013146a
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 0x10131427
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 0x10131420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret