joyce8/EMBER2024-capa huggingface dataset:
Function at 0x411610
Capabilities:
Query or enumerate registry value

Disassembly:
mov eax, dword [0x433030]
sub esp, 8
test eax, eax
jne 0x4116e7
lea eax, [esp]
push eax
push 0x20019
push 0
push str.SystemCurrentControlSetControlProductOptions
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4116dd
mov edx, dword [esp]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [esp + 8]
push edi
push ecx
push eax
push eax
push eax
push str.ProductSuite
push edx
call esi
test eax, eax
jne 0x4116d0
mov eax, dword [esp + 0xc]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
je 0x4116d0
mov edx, dword [esp + 8]
push ebx
lea ecx, [esp + 0x10]
push ebp
push ecx
push edi
push 0
push 0
push str.ProductSuite
push edx
call esi
mov al, byte [edi]
mov esi, edi
test al, al
je 0x4116c7
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push str.Terminal_Server
push esi
call ebp
test eax, eax
je 0x4116bd
push esi
call ebx
lea esi, [esi + eax + 1]
cmp byte [esi], 0
jne 0x4116a3
jmp 0x4116c7
mov dword [0x433034], 1
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop ebp
pop ebx
mov eax, dword [esp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
mov dword [0x433030], 1
mov eax, dword [0x433034]
add esp, 8
ret

Function at 0x411c30
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 8
lea eax, [esp]
push esi
xor esi, esi
push eax
push 0x20019
push esi
push str.SoftwareMicrosoftWindowsCurrentVersionProfileReconciliation
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x411c8d
mov edx, dword [esp + 0x10]
lea ecx, [esp + 8]
push ecx
push edx
push eax
push eax
mov eax, dword [esp + 0x14]
push str.ProfileDirectory
push eax
mov dword [esp + 0x20], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x411c82
mov esi, 1
mov ecx, dword [esp + 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
add esp, 8
ret 4
Function at 0x411ca0
Capabilities:
Query environment variable

Disassembly:
sub esp, 0x318
mov eax, dword [esp + 0x31c]
push ebx
mov ebx, dword [esp + 0x324]
push ebp
push esi
xor esi, esi
cmp ebx, 0x104
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
jae 0x411ccf
mov dword [esp + 0xc], ebx
jmp 0x411cdb
mov dword [esp + 0xc], 0x104
mov ebx, dword [esp + 0xc]
xor edx, edx
mov byte [esp + 0x18], 0
test ebx, ebx
jbe 0x411ded
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcatA]
push edi
mov ecx, dword [esp + 0x32c]
mov al, byte [edx + ecx]
lea edi, [edx + ecx]
test al, al
je 0x411dc1
cmp al, 0x25
jne 0x411db4
lea ecx, [edx + 1]
mov eax, 1
cmp ecx, ebx
jae 0x411db4
mov esi, ecx
mov cl, byte [edi + eax]
test cl, cl
je 0x411db4
cmp cl, 0x25
je 0x411d38
inc eax
inc esi
cmp esi, ebx
jb 0x411d20
jmp 0x411db4
lea ebx, [eax + edx]
mov eax, dword [esp + 0x32c]
lea esi, [ebx + eax]
test esi, esi
je 0x411db0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x1c]
push ecx
mov byte [edi], 0
push edx
mov byte [esi], 0
call ebp
lea eax, [esp + 0x224]
inc edi
push 0x104
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
test eax, eax
jne 0x411d96
lea ecx, [esp + 0x1c]
push 0x42bbcc
push ecx
call ebp
lea edx, [esp + 0x1c]
push edi
push edx
call ebp
lea eax, [esp + 0x1c]
push 0x42bbcc
push eax
call ebp
jmp 0x411da9
lea ecx, [esp + 0x224]
lea edx, [esp + 0x1c]
push ecx
push edx
call ebp
inc dword [esp + 0x14]
inc esi
mov edx, ebx
mov dword [esp + 0x18], esi
mov ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
inc edx
cmp edx, ebx
jb 0x411cf1
test esi, esi
pop edi
je 0x411ded
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push eax
push ecx
call ebp
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x318
ret 8
Function at 0x4126f0
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x18]
push ebp
mov ebp, dword [esp + 0x28]
push esi
mov esi, dword [esp + 0x24]
push edi
mov edi, dword [esp + 0x2c]
push ebp
push edi
push esi
push ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0
call fcn.00412ce0
test eax, eax
jne 0x41289b
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x24]
push eax
push ecx
call fcn.00411480
push eax
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftIMEJPColors
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x41281d
lea edx, [esp + 0x30]
push edx
push 1
push eax
mov eax, dword [esp + 0x30]
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x41280a
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x18]
push ecx
push esi
push eax
push eax
push str.DisplayAttribute
push edx
mov dword [esp + 0x30], 0x24
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4127ff
test edi, edi
mov dword [esp + 0x14], 1
je 0x4127f0
test ebp, ebp
je 0x4127f0
mov eax, dword [ebp]
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x2c]
push ecx
push edi
push 0
push 0
shl eax, 1
push str.Description
push edx
mov dword [esp + 0x44], eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x4127dd
mov eax, dword [esp + 0x2c]
shr eax, 1
mov ecx, eax
mov dword [ebp], eax
push ecx
push edi
jmp 0x4127f4
mov dword [ebp], 0
mov word [edi], 0
mov ecx, dword [ebp]
push ecx
push edi
jmp 0x4127f4
push 0
push 0
mov ecx, dword [esp + 0x18]
push esi
push ebx
call fcn.00412e20
mov edx, dword [esp + 0x30]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x41289b
mov ecx, dword [0x43323c]
lea eax, [esp + 0x30]
push eax
push esi
mov edx, dword [ecx]
push ebx
call dword [edx + 0xc]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
test ecx, ecx
jl 0x4128a7
test edi, edi
je 0x41287c
test ebp, ebp
je 0x41287c
mov ecx, dword [ebp]
lea edx, [eax + 1]
cmp ecx, edx
jl 0x412879
mov esi, dword [esp + 0x30]
lea ecx, [edx + edx]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x24]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x28]
mov dword [ebp], edx
mov ecx, dword [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x18]
push esi
push ebx
call fcn.00412e20
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x10
pop edi
pop esi
pop ebp
mov eax, ecx
pop ebx
add esp, 0x10
ret 0x10
Function at 0x4128c0
Capabilities:
Delete registry key
Set registry value

Disassembly:
sub esp, 8
mov dword [esp + 4], ecx
push ebx
mov ecx, dword [0x43323c]
mov ebx, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0x18]
mov eax, dword [ecx]
push esi
push edi
push ebp
push ebx
mov esi, 0x80004005
call dword [eax + 0x10]
mov edi, dword [esp + 0x24]
test eax, eax
je 0x412938
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push edx
call fcn.00411480
push eax
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftIMEJPColors
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x4129ed
mov eax, dword [esp + 0x20]
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov ecx, dword [esp + 0x20]
mov esi, eax
push ecx
jmp 0x4129e7
lea edx, [esp + 0x10]
lea eax, [esp + 0x24]
push edx
push eax
call fcn.00411480
push eax
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftIMEJPColors
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x4129ed
lea ecx, [esp + 0x10]
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.00411480
push eax
mov eax, dword [esp + 0x30]
push 0xf003f
push 0
push 0
push 0
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov esi, eax
test esi, esi
jne 0x4129e2
mov ecx, dword [esp + 0x1c]
push 0x24
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 3
push eax
push str.DisplayAttribute
push ecx
call ebp
test edi, edi
mov esi, eax
je 0x4129d3
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea edx, [eax + eax + 2]
mov eax, dword [esp + 0x1c]
push edx
push edi
push 3
push 0
push str.Description
push eax
call ebp
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x14]
push eax
push edi
push ebp
push ebx
call fcn.00412e20
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 0xc

Function at 0x412a60
Capabilities:
Delete registry key

Disassembly:
sub esp, 8
lea eax, [esp + 4]
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0xc]
push eax
push ecx
mov esi, 0x80004005
call fcn.00411480
push eax
push 0xf003f
push 0
push 0
push 0
push str.SoftwareMicrosoftIMEJPColors
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ebx, dword [esp + 0x18]
test eax, eax
jne 0x412ab9
mov edx, dword [esp + 0xc]
push ebx
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov esi, eax
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0
push 0
push 0
push ebx
mov ecx, edi
call fcn.00412e20
mov eax, esi
pop edi
pop esi
pop ebx
add esp, 8
ret 4
Function at 0x4132b0
Capabilities:
Set registry value

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea eax, [esp + 8]
push eax
push ecx
push edx
call fcn.004131b0
add esp, 0xc
test eax, eax
jne 0x4132fa
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push esi
push eax
mov eax, dword [esp + 0x10]
push ecx
push 3
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [esp + 0xc]
mov esi, eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
ret

Function at 0x413300
Capabilities:
Set registry value

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea eax, [esp + 8]
push eax
push ecx
push edx
call fcn.004131b0
add esp, 0xc
test eax, eax
jne 0x413347
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
push esi
lea eax, [esp + 0x14]
push 4
push eax
push 4
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov esi, eax
mov eax, dword [esp + 0xc]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
ret

Function at 0x413490
Capabilities:
Query or enumerate registry value

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 8
lea eax, [esp + 0xc]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push eax
push 0x20019
push 0
push 0x426908
push ecx
call esi
test eax, eax
jne 0x41352d
mov ecx, dword [esp + 0x10]
lea edx, [esp + 8]
push edx
push 0x20019
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
call esi
mov esi, eax
test esi, esi
je 0x4134e5
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
add esp, 8
ret
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 4]
push edi
mov eax, dword [esi]
push ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
push edx
push 0
push 0
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edx, dword [esp + 8]
mov edi, eax
mov eax, dword [esp + 0xc]
mov dword [esi], edx
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push eax
call esi
mov ecx, dword [esp + 0x14]
push ecx
call esi
mov eax, edi
pop edi
pop esi
add esp, 8
ret
Function at 0x413540
Capabilities:
Query or enumerate registry value

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 8
lea eax, [esp + 0xc]
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
push eax
push 0x20019
push 0
push 0x426908
push ecx
call esi
test eax, eax
jne 0x4135d5
mov ecx, dword [esp + 0x10]
lea edx, [esp + 4]
push edx
push 0x20019
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
call esi
mov esi, eax
test esi, esi
je 0x413595
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea eax, [esp + 8]
push edi
push eax
mov eax, dword [esp + 0xc]
push ecx
push 0
push 0
push edx
push eax
mov dword [esp + 0x24], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [esp + 8]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ecx
mov esi, eax
call edi
mov edx, dword [esp + 0x14]
push edx
call edi
mov eax, esi
pop edi
pop esi
add esp, 8
ret

Function at 0x4136f0
Capabilities:
Delete registry value

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea eax, [esp + 8]
push eax
push ecx
push edx
call fcn.004131b0
add esp, 0xc
test eax, eax
jne 0x41372c
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
push esi
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueA]
mov edx, dword [esp + 0xc]
mov esi, eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
ret

Function at 0x4137a0
Capabilities:
Delete registry key

Disassembly:
sub esp, 8
lea eax, [esp + 4]
lea ecx, [esp]
push eax
push ecx
call fcn.00411480
mov edx, dword [esp + 0x14]
push eax
push 0xf003f
push 0
push 0
push 0
push 0x426908
push edx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x4137e2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
add esp, 8
ret
Function at 0x414d30
Capabilities:
Check mutex on windows

Disassembly:
sub esp, 0x20c
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x224]
push ebx
mov ebx, dword [esp + 0x21c]
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebx], 0
mov dword [eax], 0
mov eax, dword [esp + 0x220]
mov dword [ecx], 0
mov ecx, dword [esp + 0x234]
push edi
mov dword [edx], 0
push str.Satori_
mov dword [esp + 0x14], 0
mov dword [ecx], eax
call esi
mov edx, dword [esp + 0x220]
mov ebp, eax
push edx
call esi
lea eax, [eax + ebp + 1]
push eax
call fcn.0041a4fe
add esp, 4
mov dword [ebx], eax
test eax, eax
jne 0x414dbf
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c
ret 0x20
lea ecx, [ebp + 1]
mov esi, str.Satori_
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x220]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, dword [ebx]
mov ecx, eax
inc ecx
add edi, ebp
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x14]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x224]
mov edx, dword [ebx]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push ecx
push edx
push str.FileView___s___08x
push eax
call esi
add esp, 0x10
lea ecx, [esp + 0x118]
lea edx, [esp + 0x14]
push 0
push 0x104
push ecx
push edx
call fcn.00411af0
mov ebp, dword [esp + 0x238]
lea eax, [esp + 0x118]
push eax
mov ecx, dword [ebp]
push ecx
push 0
push 4
call fcn.00411480
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov edi, dword [esp + 0x22c]
test eax, eax
mov dword [edi], eax
jne 0x414e72
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20c
ret 0x20
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x414e87
mov dword [esp + 0x10], 1
mov edx, dword [ebp]
mov eax, dword [edi]
push edx
push 0
push 0
push 0xf001f
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov ecx, dword [esp + 0x230]
mov dword [ecx], eax
mov eax, dword [esp + 0x23c]
test eax, eax
je 0x414eb8
call fcn.004230f0
jmp 0x414ef9
mov eax, dword [ebx]
lea ecx, [esp + 0x14]
push eax
push str.Mutex___s
push ecx
call esi
add esp, 0xc
lea edx, [esp + 0x118]
lea eax, [esp + 0x14]
push 1
push 0x104
push edx
push eax
call fcn.00411af0
lea ecx, [esp + 0x118]
push ecx
push 0
call fcn.00411480
push eax
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov edx, dword [esp + 0x234]
pop edi
pop esi
pop ebp
mov dword [edx], eax
mov eax, dword [esp + 4]
pop ebx
add esp, 0x20c
ret 0x20
Function at 0x41f9cb
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x430e78
cmp edx, dword [eax]
je 0x41f9ed
add eax, 8
inc ecx
cmp eax, 0x430f08
jl 0x41f9de
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x430e78]
jne 0x41fb1b
mov eax, dword [0x433258]
cmp eax, 1
je 0x41faf5
test eax, eax
jne 0x41fa1e
cmp dword [0x42ea14], 1
je 0x41faf5
cmp edx, 0xfc
je 0x41fb1b
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x41fa55
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.00421280
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.0041cfd0
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x41fa98
lea eax, [ebp - 0x1a4]
push eax
call fcn.0041cfd0
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x427db8
push edi
call fcn.0041acb0
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.00421280
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.00421290
lea eax, [ebp - 0xa0]
push 0x427d98
push eax
call fcn.00421290
push dword [esi + 0x430e7c]
lea eax, [ebp - 0xa0]
push eax
call fcn.00421290
push 0x12010
lea eax, [ebp - 0xa0]
push str.Microsoft_Visual_C_Runtime_Library
push eax
call fcn.004216a5
add esp, 0x2c
pop edi
jmp 0x41fb1b
lea eax, [ebp + 8]
lea esi, [esi + 0x430e7c]
push 0
push eax
push dword [esi]
call fcn.0041cfd0
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret
Function at 0x10013b94
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
pushal
call 0x10013ba3
pop dword [ebp - 8]
mov eax, 0x20fa447
add eax, 0xdf1975c
sub dword [ebp - 8], eax
mov dword [ebp - 0x18], 0x91e38562
add dword [ebp - 0x18], 0xbc6ebfe9
mov dword [ebp - 0x14], 0xa2ef266e
add dword [ebp - 0x14], 0x8f4425d7
mov dword [ebp - 0x10], 0x5f714fe6
add dword [ebp - 0x10], 0xecdaf448
mov dword [ebp - 0xc], 0x61bc2b57
add dword [ebp - 0xc], 0x9e43d4a9
lea eax, [ebp - 0x18]
push eax
mov eax, 0xb9958ef
add eax, 0x468f795
add eax, dword [ebp - 8]
call dword [eax]
mov dword [ebp - 0x18], 0x99a46d0f
add dword [ebp - 0x18], 0xdacdfc47
mov dword [ebp - 0x14], 0xf3809016
add dword [ebp - 0x14], 0x4debd15f
mov dword [ebp - 0x10], 0xb72ed84b
sub dword [ebp - 0x10], 0x53bf6bdf
mov dword [ebp - 0xc], 0xb190756d
sub dword [ebp - 0xc], 0xb190756d
lea ebx, [ebp - 0x18]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 8]
call dword [eax]
push 0x40
push 0x1000
push 0x3e14f
push 0
call eax
mov ecx, 0x2f3d1c6f
add ecx, 0xd0c3365a
mov esi, eax
mov edi, 0x10030c00
add edi, dword [ebp - 8]
mov edx, 0x3da30dfe
add edx, 0xcd2a1aee
mov ebx, dword [edi]
mov dword [ebp - 4], 0x28991b38
xor ebx, edx
mov dword [esi], ebx
add esi, 0x55becc17
sub esi, 0x55becc13
add edi, 0x5d492de0
add edi, 0xa2b6d224
loop 0x10013cba
add eax, 0x61bc18e3
add eax, 0x9e452514
xor ebx, ebx
add ebx, eax
add eax, 0xa2dcad18
sub eax, 0xa2dcad13
mov ecx, 0xacb2265e
sub ecx, 0x9cb2265e
add ecx, dword [ebp - 8]
call ebx
leave
ret

Function at 0x1001c6a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push edi
mov edi, dword [ebp + 8]
cmp byte [edi + 0x2d], 0
jne 0x1001c73b
push ebx
mov ebx, dword [ebp + 0x10]
lea eax, [ebp - 4]
push esi
push 0
push eax
push ebx
push dword [ebp + 0xc]
push dword [edi + 0x30]
call dword [sym.imp.kernel32.dll_ReadFile]
mov esi, dword [ebp - 4]
cmp esi, ebx
je 0x1001c6f2
mov byte [edi + 0x2d], 0xff
test esi, esi
je 0x1001c6f2
cmp esi, ebx
jge 0x1001c6f2
mov eax, ebx
sub eax, esi
push eax
mov eax, dword [ebp + 0xc]
add eax, esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
cmp dword [edi + 0x18], 0
je 0x1001c735
add dword [edi + 0x1c], ebx
cmp dword [edi + 0x1c], 0xffff
jle 0x1001c735
xor eax, eax
mov word [edi + 0x1e], ax
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x2c]
mov ecx, esi
call dword [0x100252e4]
call esi
mov ecx, dword [edi + 0x18]
push 1
push dword [edi + 0x20]
mov esi, dword [ecx]
push eax
push ecx
mov ecx, dword [esi + 0xc]
call dword [0x100252e4]
call dword [esi + 0xc]
mov esi, dword [ebp - 4]
mov eax, esi
pop esi
pop ebx
jmp 0x1001c74d
push dword [ebp + 0x10]
push 0
push dword [ebp + 0xc]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
xor eax, eax
pop edi
leave
ret 0xc
Function at 0x10010680
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x100106be
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x100106b6
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x100106c0
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x100106a6
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x10010790
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x100107c1
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x100107c1
mov ecx, 0x10b
cmp word [eax + 0x18], cx
jne 0x100107c1
mov eax, 1
pop ebp
ret
xor eax, eax
pop ebp
ret

Function at 0x2c23700
Capabilities:
Decompress data using aplib

Disassembly:
pushal
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
cld
mov dl, 0x80
xor ebx, ebx
movsb byte es:[edi], byte [esi]
mov bl, 2
call fcn.02c2378f
jae 0x2c2370e
xor ecx, ecx
call fcn.02c2378f
jae 0x2c2373d
xor eax, eax
call fcn.02c2378f
jae 0x2c2374d
mov bl, 2
inc ecx
mov al, 0x10
call fcn.02c2378f
adc al, al
jae 0x2c2372f
jne 0x2c23779
stosb byte es:[edi], al
jmp 0x2c23711
call fcn.02c2379b
sub ecx, ebx
jne 0x2c23756
call fcn.02c23799
jmp 0x2c23775
lodsb al, byte [esi]
shr eax, 1
je 0x2c23783
adc ecx, ecx
jmp 0x2c23772
xchg ecx, eax
dec eax
shl eax, 8
lodsb al, byte [esi]
call fcn.02c23799
cmp eax, 0x7d00
jae 0x2c23772
cmp ah, 5
jae 0x2c23773
cmp eax, 0x7f
ja 0x2c23774
inc ecx
inc ecx
xchg ebp, eax
mov eax, ebp
mov bl, 1
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x2c23711
sub edi, dword [esp + 0x28]
mov dword [esp + 0x1c], edi
popal
ret 8
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
push 4
nop
nop
nop
nop
nop
nop
nop
pop edi
nop
cmp eax, 0
nop
nop
nop
nop
nop
nop
je 0x430072
nop
mov ebx, 0x408ecc
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
push eax
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x41724052
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
loop 0x430060
mov eax, section..rsrc
nop
nop
nop
nop
cmp eax, 0
nop
nop
je 0x4300d2
nop
nop
mov ebx, 0x42e1d0
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
mov eax, ecx
nop
div edi
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0x2d78565b
nop
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x4300c0
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x401219