joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10004ca0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10027df6
mov eax, dword fs:[0]
push eax
sub esp, 0x630
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x628], eax
push ebx
push esi
push edi
mov eax, dword [0x10031210]
xor eax, esp
push eax
lea eax, [esp + 0x640]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], eax
call fcn.10004900
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10004d9b
lea ecx, [esp + 0x10]
call fcn.10004340
push 0x208
lea ecx, [esp + 0x20]
push 0
push ecx
mov dword [esp + 0x654], 0
call fcn.10015cf0
mov edx, dword [esp + 0x1c]
add esp, 0xc
push edx
push str._sSoftMgr360cfzz.dll
mov ecx, 0x104
lea ebx, [esp + 0x24]
call fcn.10009340
add esp, 8
mov eax, ebx
push eax
call edi
test eax, eax
je 0x10004d70
mov ecx, ebx
push ecx
call fcn.100090d0
add esp, 4
test eax, eax
je 0x10004d70
push str.cfzz_001
mov edx, ebx
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x10004d70
call eax
mov dword [esp + 0x648], 0xffffffff
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10004d9b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
call fcn.10005b50
test eax, eax
jne 0x10004db1
call fcn.1000b290
test eax, eax
je 0x10004e93
call fcn.10003e60
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x22e]
push edx
mov word [esp + 0x230], cx
call fcn.10015cf0
add esp, 0xc
push 0x20
push str.BQAGAFMAEAAFABUATQBKAAgAAACSAA
lea esi, [esp + 0x22c]
call fcn.10005940
mov ebx, 6
mov ecx, esi
call fcn.10005a10
lea ecx, [esp + 0x14]
call fcn.10004340
push 0x208
lea eax, [esp + 0x430]
push 0
push eax
mov dword [esp + 0x654], 1
call fcn.10015cf0
mov ecx, dword [esp + 0x20]
add esp, 0xc
push ecx
push str._s_safemon_safe505.dll
mov ecx, 0x104
lea ebx, [esp + 0x434]
call fcn.10009340
add esp, 8
mov edx, ebx
push edx
call edi
test eax, eax
je 0x10004e68
mov eax, ebx
push eax
call fcn.100090d0
add esp, 4
test eax, eax
je 0x10004e68
call fcn.100045c0
test eax, eax
jne 0x10004e68
mov ecx, dword [esp + 0x18]
call sym.360cmis.dll_Defend360Safe
mov dword [esp + 0x648], 0xffffffff
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10004e93
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0x640]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x628]
xor ecx, esp
call fcn.10014002
mov esp, ebp
pop ebp
ret
Function at 0x10005890
Capabilities:
Delete registry key

Disassembly:
sub esp, 0x20c
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x208], eax
push ebx
push 0x208
lea eax, [esp + 8]
push 0
push eax
call fcn.10015cf0
push 0x1002c318
push str.SOFTWARE360Safe_softmgr_fo
push str._s_s
mov ecx, 0x104
lea ebx, [esp + 0x1c]
call fcn.10009340
add esp, 0x18
mov ecx, ebx
push ecx
push 0x80000002
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov ecx, dword [esp + 0x20c]
pop ebx
xor ecx, esp
xor eax, eax
call fcn.10014002
add esp, 0x20c
ret
Function at 0x10008d40
Capabilities:
Query or enumerate registry value

Disassembly:
push ecx
mov eax, dword [edi]
lea ecx, [esp]
push ecx
mov ecx, dword [esp + 0xc]
push esi
add eax, eax
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x18]
push 0
mov dword [edi], 0
mov edx, dword [ecx]
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x10008dae
mov eax, dword [esp + 0xc]
cmp eax, 1
je 0x10008d7f
cmp eax, 2
jne 0x10008d9a
mov eax, dword [esp]
test esi, esi
je 0x10008da8
test eax, eax
je 0x10008da3
test al, 1
jne 0x10008d9a
mov ecx, eax
shr ecx, 1
cmp word [esi + ecx*2 - 2], 0
je 0x10008da8
mov eax, 0xd
pop ecx
ret 8
xor edx, edx
mov word [esi], dx
shr eax, 1
mov dword [edi], eax
xor eax, eax
pop ecx
ret 8
Function at 0x10008dc0
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x1002765b
mov eax, dword fs:[0]
push eax
sub esp, 0x8c0
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x8bc], eax
push ebp
push esi
push edi
mov eax, dword [0x10031210]
xor eax, esp
push eax
lea eax, [esp + 0x8d0]
mov dword fs:[0], eax
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x2be]
mov dword [esp + 0x1c], 0
push ecx
mov word [esp + 0x2c0], ax
call fcn.10015cf0
add esp, 0xc
push 0x104
lea edx, [esp + 0x2b8]
push edx
push 0x10000000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov ebp, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [esp + 0x2b4]
push eax
call ebp
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x4c6]
push edx
mov word [esp + 0x4c8], cx
call fcn.10015cf0
add esp, 0xc
lea eax, [esp + 0x2b4]
lea edx, [esp + 0x4bc]
call fcn.100092e0
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
push str.360Safe.exe
lea eax, [esp + 0x4c0]
push eax
call esi
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [esp + 0x4bc]
push ecx
call edi
test eax, eax
je 0x10008eb8
push ebx
lea ecx, [esp + 0x2b8]
call fcn.10009b30
jmp 0x10008fff
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0xb6]
push eax
mov word [esp + 0xb8], dx
call fcn.10015cf0
add esp, 0xc
lea eax, [esp + 0x2b4]
lea edx, [esp + 0xac]
call fcn.100092e0
push str...360Safe.exe
lea ecx, [esp + 0xb0]
push ecx
call esi
lea edx, [esp + 0xac]
push edx
call edi
test eax, eax
je 0x10008f24
lea eax, [esp + 0xac]
push eax
call ebp
push ebx
lea ecx, [esp + 0xb0]
call fcn.10009b30
jmp 0x10008fff
mov edx, dword [0x1002d194]
mov ax, word [0x1002d198]
mov ecx, 0x20
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Paths360safe.exe
lea edi, [esp + 0x2c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [str.Path]
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov word [esp + 0x28], ax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x14]
push ecx
push 0x20019
push esi
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x8e8], esi
push 0x80000002
mov dword [esp + 0x28], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10008fe9
mov ebp, dword [esp + 0x14]
push 0x206
lea ecx, [esp + 0x6ca]
xor eax, eax
push esi
push ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], esi
mov word [esp + 0x6d0], ax
call fcn.10015cf0
add esp, 0xc
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x1c]
push eax
lea edi, [esp + 0x1c]
lea esi, [esp + 0x6cc]
mov dword [esp + 0x1c], 0x104
call fcn.10008d40
test eax, eax
jne 0x10008fe7
push ebx
mov ecx, esi
call fcn.10009b30
test ebp, ebp
jmp 0x10008ff6
xor esi, esi
push ebx
mov ecx, 0x1002d0d4
call fcn.10009b30
cmp ebp, esi
je 0x10008fff
push ebp
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, ebx
mov ecx, dword [esp + 0x8d0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x8bc]
xor ecx, esp
call fcn.10014002
add esp, 0x8cc
ret
Function at 0x10009250
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x10027375
mov eax, dword fs:[0]
push eax
push esi
mov eax, dword [0x10031210]
xor eax, esp
push eax
lea eax, [esp + 8]
mov dword fs:[0], eax
mov esi, ecx
push 0x10079af8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x10], 0
mov eax, dword [0x100792b8]
test eax, eax
jne 0x10009299
call fcn.10001550
mov dword [0x100792b8], eax
cmp dword [eax + 0x11c], 0
je 0x100092ae
mov eax, dword [eax + 0x50]
test eax, eax
je 0x100092ae
push esi
call eax
jmp 0x100092b5
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x10079af8
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
mov ecx, dword [esp + 8]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0xc
ret

Function at 0x100095a0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x214
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x210], eax
mov eax, dword [0x10079ac8]
test eax, eax
jne 0x10009664
push 0x206
push eax
lea ecx, [esp + 0x12]
push ecx
mov word [esp + 0x14], ax
call fcn.10015cf0
add esp, 0xc
push str.BApi.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x100095f9
push 0x104
lea edx, [esp + 0xc]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp word [esp + 8], 0
jne 0x1000964d
lea eax, [esp + 4]
push eax
lea ecx, [esp + 0xc]
push ecx
lea edx, [esp + 8]
push edx
push 0
push str.SOFTWAREMicrosoftWindowsCurrentVersionApp_Paths360safe.exe
push 0x80000002
mov dword [esp + 0x18], 1
mov dword [esp + 0x1c], 0x207
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea eax, [esp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push str.deepscan_bapi.dll
lea ecx, [esp + 0xc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push esi
call fcn.10001550
mov esi, eax
lea eax, [esp + 0xc]
call fcn.100093a0
mov dword [0x10079ac8], eax
pop esi
mov ecx, dword [esp + 0x210]
xor ecx, esp
call fcn.10014002
add esp, 0x214
ret

Function at 0x10009700
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, dword [esp + 8]
push edi
push ebx
push ebp
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
jne 0x10009717
pop edi
pop ebp
ret
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
je 0x10009748
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, esi
and edi, 0xf
jbe 0x10009744
cmp esi, eax
jae 0x10009748
sub edi, 1
movzx ecx, word [esi]
lea esi, [esi + ecx*2 + 2]
jne 0x10009734
cmp esi, eax
jb 0x1000974e
pop esi
pop edi
xor eax, eax
pop ebp
ret
movzx eax, word [esi]
neg eax
sbb eax, eax
and eax, esi
pop esi
pop edi
pop ebp
ret
Function at 0x1000adb0
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x10027a8d
mov eax, dword fs:[0]
push eax
sub esp, 0x424
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x420], eax
push ebx
push esi
push edi
mov eax, dword [0x10031210]
xor eax, esp
push eax
lea eax, [esp + 0x434]
mov dword fs:[0], eax
xor ebx, ebx
lea eax, [esp + 0x10]
mov dword [esp + 0x43c], ebx
mov edi, edx
push eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x18], ebx
call fcn.10009b30
mov dword [esp + 0x43c], 1
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
call fcn.10007830
add eax, 0x10
mov dword [edi], eax
mov edx, dword [esp + 0x10]
mov esi, dword [edx - 0xc]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, esi
or eax, ecx
mov dword [esp + 0x14], 1
jge 0x1000ae52
mov ecx, esi
lea eax, [esp + 0x10]
call fcn.100099e0
mov edx, dword [esp + 0x10]
lea ecx, [esi + 1]
push ecx
push edx
call fcn.10015132
add esp, 8
cmp esi, ebx
jl 0x1000afde
mov eax, dword [esp + 0x10]
cmp esi, dword [eax - 8]
jg 0x1000afde
mov dword [eax - 0xc], esi
mov eax, dword [esp + 0x10]
xor edx, edx
mov word [eax + esi*2], dx
push 0x206
lea edx, [esp + 0x22e]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x234], cx
call fcn.10015cf0
mov eax, dword [str.__X:]
mov ecx, dword [0x1002d2fc]
mov edx, dword [0x1002d300]
push 0x1fa
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov ax, word [0x1002d304]
lea ecx, [esp + 0x3e]
push ebx
push ecx
mov dword [esp + 0x40], edx
mov word [esp + 0x44], ax
call fcn.10015cf0
add esp, 0x18
push 0x104
lea edx, [esp + 0x22c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [esp + 0x228]
push 0x104
push eax
call fcn.10015132
mov cx, word [esp + 0x230]
mov eax, dword [esp + 0x18]
add esp, 8
mov word [esp + 0x28], cx
cmp dword [eax - 0xc], ebx
jl 0x1000af8e
lea edx, [esp + 0x20]
push edx
push eax
call fcn.10014ec0
add esp, 8
cmp eax, ebx
je 0x1000af8e
sub eax, dword [esp + 0x10]
sar eax, 1
jne 0x1000af8e
push 0x1002d0d4
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.100066f0
cmp byte [esp + 0x444], bl
je 0x1000af85
lea eax, [esp + 0x20]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x1000af55
sub eax, edx
sar eax, 1
lea edx, [esp + 0x20]
mov ebx, eax
push edx
mov eax, edi
call fcn.10009a50
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 0xc]
push ecx
push eax
push edi
call fcn.10007d30
xor ebx, ebx
jmp 0x1000af8e
lea eax, [esp + 0x10]
call fcn.100073c0
mov byte [esp + 0x43c], bl
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1000afb5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, edi
mov ecx, dword [esp + 0x434]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x420]
xor ecx, esp
call fcn.10014002
add esp, 0x430
ret
push 0x80070057
call fcn.10009a30
int3
Function at 0x1000b1c0
Capabilities:
Enumerate processes

Disassembly:
sub esp, 0x230
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x22c], eax
push ebx
push ebp
push 0x22c
xor ebp, ebp
lea eax, [esp + 0xc]
push ebp
push eax
call fcn.10015cf0
add esp, 0xc
push ebp
push 2
mov dword [esp + 0x10], 0x22c
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebx, eax
test ebx, ebx
je 0x1000b26d
lea ecx, [esp + 8]
push ecx
push ebx
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x1000b266
push esi
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
xor esi, esi
sar eax, 2
test eax, eax
jbe 0x1000b24f
cmp esi, eax
jb 0x1000b229
call fcn.10014d0c
mov edx, dword [edi + 0xc]
mov eax, dword [edx + esi*4]
lea ecx, [esp + 0x30]
push ecx
push eax
call fcn.10014e2d
add esp, 8
test eax, eax
je 0x1000b260
mov eax, dword [edi + 0x10]
sub eax, dword [edi + 0xc]
inc esi
sar eax, 2
cmp esi, eax
jb 0x1000b229
lea edx, [esp + 0xc]
push edx
push ebx
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x1000b211
jmp 0x1000b265
mov ebp, 1
pop esi
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x234]
mov eax, ebp
pop ebp
pop ebx
xor ecx, esp
call fcn.10014002
add esp, 0x230
ret

Function at 0x1000c4c0
Capabilities:
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x10027395
mov eax, dword fs:[0]
push eax
push ebp
push esi
mov eax, dword [0x10031210]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x28]
push 0x10079af8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x14], 0
mov eax, dword [0x100792b8]
test eax, eax
jne 0x1000c50e
call fcn.10001550
mov dword [0x100792b8], eax
cmp dword [eax + 0x11c], 0
je 0x1000c53a
mov eax, dword [eax + 0x100]
test eax, eax
je 0x1000c53a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
push esi
push edi
push ebx
push 0
push ebp
push ecx
mov ecx, dword [esp + 0x34]
push edx
push ecx
call eax
jmp 0x1000c555
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push esi
push edi
push ebx
push 0
push ebp
push edx
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
push 0x10079af8
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
add esp, 0xc
ret 0x10
Function at 0x1000c630
Capabilities:
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x10027395
mov eax, dword fs:[0]
push eax
push ebp
push esi
mov eax, dword [0x10031210]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0x20]
push 0x10079af8
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esp + 0x14], 0
mov eax, dword [0x100792b8]
test eax, eax
jne 0x1000c67e
call fcn.10001550
mov dword [0x100792b8], eax
cmp dword [eax + 0x11c], 0
je 0x1000c6a0
mov eax, dword [eax + 0x110]
test eax, eax
je 0x1000c6a0
mov ecx, dword [esp + 0x1c]
push esi
push edi
push ebx
push 0
push ebp
push ecx
call eax
jmp 0x1000c6b1
mov edx, dword [esp + 0x1c]
push esi
push edi
push ebx
push 0
push ebp
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push 0x10079af8
mov esi, eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, esi
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebp
add esp, 0xc
ret 8

Function at 0x1000d230
Capabilities:
Hash data with md5

Disassembly:
sub esp, 0x68
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
xor ecx, ecx
push esi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], ecx
push eax
mov eax, dword [esp + 0x78]
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], 0x67452301
mov dword [esp + 0x10], 0xefcdab89
mov dword [esp + 0x14], 0x98badcfe
mov dword [esp + 0x18], 0x10325476
call fcn.100110d0
add esp, 4
lea esi, [esp + 8]
mov ecx, edi
call fcn.10011170
mov ecx, dword [esp + 0x64]
pop esi
xor ecx, esp
call fcn.10014002
add esp, 0x68
ret
Function at 0x1000d3c0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov esi, eax
lea eax, [esp + 0x18]
push eax
push 0x20119
xor edi, edi
push edi
push 0x1002d494
push 0x80000002
mov ebx, ecx
mov dword [esp + 0x30], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x1000d551
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
lea ecx, [esp + 0x10]
push ecx
mov dword [esi + 0x10], eax
push ebx
mov dword [esi + 0x14], eax
lea edx, [esp + 0x1c]
push edx
mov dword [esi + 0x18], eax
push eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x28]
push str.Operator
mov edi, 0x400
push eax
mov dword [esp + 0x28], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1000d453
cmp dword [esp + 0x14], 1
jne 0x1000d538
mov eax, dword [esp + 0x10]
sub edi, eax
mov dword [esi], ebx
lea ebx, [eax + ebx]
je 0x1000d538
mov eax, dword [esp + 0x18]
mov ebp, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea ecx, [esp + 0x10]
push ecx
push ebx
lea edx, [esp + 0x1c]
push edx
push 0
push str.IssueDate
push eax
mov dword [esp + 0x28], edi
call ebp
test eax, eax
jne 0x1000d498
cmp dword [esp + 0x14], 1
jne 0x1000d538
mov eax, dword [esp + 0x10]
mov dword [esi + 4], ebx
sub edi, eax
add ebx, eax
test edi, edi
je 0x1000d538
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push ecx
push ebx
lea edx, [esp + 0x1c]
push edx
push 0
push str.ExpirationDate
push eax
mov dword [esp + 0x28], edi
call ebp
test eax, eax
jne 0x1000d4cf
cmp dword [esp + 0x14], 1
jne 0x1000d538
mov eax, dword [esp + 0x10]
mov dword [esi + 8], ebx
sub edi, eax
add ebx, eax
test edi, edi
je 0x1000d538
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push ecx
push ebx
lea edx, [esp + 0x1c]
push edx
push 0
push str.SignData
push eax
mov dword [esp + 0x28], edi
call ebp
test eax, eax
jne 0x1000d538
cmp dword [esp + 0x14], 3
jne 0x1000d538
mov eax, dword [esp + 0x10]
sub edi, eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], ebx
je 0x1000d538
lea eax, [esi + 0xc]
call fcn.1000d2a0
test eax, eax
je 0x1000d538
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov ecx, 0x400
sub ecx, edi
push eax
mov dword [edx], ecx
mov esi, 1
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
Function at 0x1000d950
Capabilities:
Hash data with md5

Disassembly:
sub esp, 0x6c
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x68], eax
push esi
lea eax, [esp + 8]
mov esi, edx
push eax
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], 0x67452301
mov dword [esp + 0x1c], 0xefcdab89
mov dword [esp + 0x20], 0x98badcfe
mov dword [esp + 0x24], 0x10325476
call fcn.1000fbf0
add esp, 8
test eax, eax
jne 0x1000d9bb
pop esi
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.10014002
add esp, 0x6c
ret
mov eax, dword [esp + 0x74]
test eax, eax
jbe 0x1000d9d0
push esi
lea ecx, [esp + 0x14]
call fcn.100110d0
add esp, 4
lea esi, [esp + 0x10]
mov ecx, ebx
call fcn.10011170
test edi, edi
je 0x1000d9ee
mov ecx, dword [esp + 0xc]
xor eax, eax
cmp ecx, dword [esp + 8]
sete al
mov dword [edi], eax
mov ecx, dword [esp + 0x6c]
pop esi
xor ecx, esp
mov eax, 1
call fcn.10014002
add esp, 0x6c
ret

Function at 0x1000da50
Capabilities:
Hash data with md5

Disassembly:
sub esp, 0x64
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x5c], eax
xor eax, eax
push esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
push edi
lea eax, [esp + 8]
mov edi, ecx
push eax
mov dword [esp + 0xc], 0x67452301
mov dword [esp + 0x10], 0xefcdab89
mov dword [esp + 0x14], 0x98badcfe
mov dword [esp + 0x18], 0x10325476
call fcn.1000fdf0
add esp, 4
test eax, eax
jne 0x1000daae
pop edi
pop esi
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.10014002
add esp, 0x64
ret
lea esi, [esp + 8]
mov ecx, ebx
call fcn.10011170
mov ecx, dword [esp + 0x64]
pop edi
pop esi
xor ecx, esp
mov eax, 1
call fcn.10014002
add esp, 0x64
ret

Function at 0x1000dad0
Capabilities:
Hash data using sha256

Disassembly:
sub esp, 0x74
mov eax, dword [0x10031210]
xor eax, esp
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x78]
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
push edi
lea ecx, [esp + 8]
push ecx
push eax
mov dword [esp + 0x10], 0x6a09e667
mov dword [esp + 0x14], 0xbb67ae85
mov dword [esp + 0x18], 0x3c6ef372
mov dword [esp + 0x1c], 0xa54ff53a
mov dword [esp + 0x20], 0x510e527f
mov dword [esp + 0x24], 0x9b05688c
mov dword [esp + 0x28], 0x1f83d9ab
mov dword [esp + 0x2c], 0x5be0cd19
call fcn.1000fee0
add esp, 8
test eax, eax
jne 0x1000db4f
pop edi
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.10014002
add esp, 0x74
ret
mov eax, esi
lea edi, [esp + 8]
call fcn.10010cb0
mov ecx, dword [esp + 0x74]
pop edi
xor ecx, esp
mov eax, 1
call fcn.10014002
add esp, 0x74
ret

Function at 0x1000e500
Capabilities:
Read file on windows

Disassembly:
push ecx
push 0
lea eax, [esp + 4]
push eax
push esi
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1000e532
push str.ReadFile__
push 0xfc
push str..QHImageHlp.c
xor edx, edx
call fcn.10011fb0
add esp, 0xc
xor eax, eax
pop ecx
ret
cmp esi, dword [esp]
je 0x1000e557
push 0x1002d628
push 0xfe
push str..QHImageHlp.c
mov edx, 1
call fcn.100120e0
add esp, 0xc
xor eax, eax
pop ecx
ret
mov eax, 1
pop ecx
ret