joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40bb17
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x419c10]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_EncodePointer]
push esi
push edi
mov dword [ebp - 0x1c], eax
xor esi, esi
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x20], eax
call ebx
mov edi, eax
mov dword [ebp - 0x18], edi
call fcn.00406d67
mov dword [ebp - 0x14], eax
cmp dword [0x449ec8], esi
jne 0x40bc0a
push 0x800
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
jne 0x40bb97
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x40bcea
push esi
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x40bcea
push str.MessageBoxW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40bcea
push eax
call ebx
push str.GetActiveWindow
push edi
mov dword [0x449ec8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetLastActivePopup
push edi
mov dword [0x449ecc], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetUserObjectInformationW
push edi
mov dword [0x449ed0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x449ed8], eax
test eax, eax
je 0x40bc07
push str.GetProcessWindowStation
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x449ed4], eax
mov edi, dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x40bc2f
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40bc22
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x14], esi
je 0x40bc44
push 4
pop eax
jmp 0x40bcec
cmp dword [ebp - 0x14], esi
je 0x40bc44
push dword [0x449ec8]
call dword [sym.imp.KERNEL32.dll_DecodePointer]
push 3
jmp 0x40bc29
mov eax, dword [0x449ed4]
mov ebx, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, edi
je 0x40bca2
cmp dword [0x449ed8], edi
je 0x40bca2
push eax
call ebx
push dword [0x449ed8]
mov dword [ebp - 0x14], eax
call ebx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x40bca2
test eax, eax
je 0x40bca2
call ecx
test eax, eax
je 0x40bc97
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call dword [ebp - 0x18]
test eax, eax
je 0x40bc97
test byte [ebp - 8], 1
jne 0x40bca2
mov edi, dword [ebp + 0x10]
or edi, 0x200000
jmp 0x40bcd2
mov eax, dword [0x449ecc]
cmp eax, edi
je 0x40bccf
push eax
call ebx
test eax, eax
je 0x40bccf
call eax
mov esi, eax
test esi, esi
je 0x40bccf
mov eax, dword [0x449ed0]
cmp eax, edi
je 0x40bccf
push eax
call ebx
test eax, eax
je 0x40bccf
push esi
call eax
mov esi, eax
mov edi, dword [ebp + 0x10]
push dword [0x449ec8]
call ebx
test eax, eax
je 0x40bcea
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push esi
call eax
jmp 0x40bcec
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040395d
mov esp, ebp
pop ebp
ret
Function at 0x416e28
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
mov dword [ebp - 4], eax
lea eax, [ebp + 0xc]
push eax
push edi
lea eax, [ebp - 4]
push eax
push 0
mov eax, esi
call fcn.00404acc
push eax
mov eax, dword [ebx + 4]
push eax
call sub.advapi32.dll_RegQueryValueExA_1
test eax, eax
je 0x416e80
mov dword [ebp - 0xc], esi
mov byte [ebp - 8], 0xb
lea eax, [ebp - 0xc]
push eax
push 0
mov ecx, dword [0x41a71c]
mov dl, 1
mov eax, dword [0x41691c]
call fcn.0040e660
call fcn.00404044
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
call fcn.00416a54
mov edx, dword [ebp + 8]
mov byte [edx], al
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x41747c
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x148], edx
mov dword [ebp - 0x144], edx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x13c], edx
mov dword [ebp - 0x134], edx
mov dword [ebp - 0x138], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp loc.0044c000

Function at 0x4175fc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push 0
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404abc
xor eax, eax
push ebp
push 0x417684
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
call fcn.0040460c
mov eax, dword [ebp - 4]
call fcn.004048cc
mov esi, eax
test esi, esi
jle 0x41765f
mov ebx, 1
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + ebx - 1]
xor edx, ebx
call fcn.004047f4
mov edx, dword [ebp - 0xc]
lea eax, [ebp - 8]
call fcn.004048d4
inc ebx
dec esi
jne 0x41763e
mov eax, edi
mov edx, dword [ebp - 8]
call fcn.00404660
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x41768b
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.00404630
ret

Function at 0x417694
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ecx
mov edi, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404abc
xor eax, eax
push ebp
push 0x41772a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.00404acc
call fcn.0040b6f0
mov ebx, eax
test ebx, ebx
jle 0x4176fc
mov esi, 1
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 4]
movzx edx, byte [edx + esi - 1]
xor edx, edi
call fcn.004047f4
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0xc]
call fcn.004048d4
inc esi
dec ebx
jne 0x4176db
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
call fcn.00404660
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x417731
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00404630
lea eax, [ebp - 4]
call fcn.0040460c
ret
Function at 0x401cd5
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x42907c]
jne 0x401cdf
repz ret
jmp fcn.00402a82

Function at 0x4083ea
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x42907c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.00405e9d
and dword [ebp - 0x14], 0
cmp dword [0x42bf6c], 0
mov dword [ebp - 0x18], eax
jne 0x40849d
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x408545
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x408545
mov esi, dword [sym.imp.KERNEL32.dll_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x42bf6c], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x42bf70], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x42bf74], eax
call edi
push eax
call esi
mov dword [0x42bf7c], eax
test eax, eax
je 0x40849d
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x42bf78], eax
mov eax, dword [0x42bf78]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, ecx
je 0x4084f6
cmp dword [0x42bf7c], ecx
je 0x4084f6
push eax
call esi
push dword [0x42bf7c]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x4084f6
test ebx, ebx
je 0x4084f6
call edi
test eax, eax
je 0x4084ed
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x4084ed
test byte [ebp - 8], 1
jne 0x4084f6
or dword [ebp + 0x10], 0x200000
jmp 0x408529
mov eax, dword [0x42bf70]
cmp eax, dword [ebp - 0x18]
je 0x408529
push eax
call esi
test eax, eax
je 0x408529
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x408529
mov eax, dword [0x42bf74]
cmp eax, dword [ebp - 0x18]
je 0x408529
push eax
call esi
test eax, eax
je 0x408529
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x42bf6c]
call esi
test eax, eax
je 0x408545
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x408547
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401cd5
leave
ret
Function at 0x430003
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x5c07890
nop
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x43004e
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x430024
mov eax, section..data
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x7fd46ce3
nop
nop
nop
nop
nop
test eax, eax
nop
je 0x430084
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
add eax, 4
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x401e15
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x42507c]
jne 0x401e1f
repz ret
jmp fcn.00402897

Function at 0x40844c
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x42507c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.00406251
and dword [ebp - 0x14], 0
cmp dword [0x427b58], 0
mov dword [ebp - 0x18], eax
jne 0x4084ff
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x4085a7
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x4085a7
mov esi, dword [sym.imp.KERNEL32.dll_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x427b58], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x427b5c], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x427b60], eax
call edi
push eax
call esi
mov dword [0x427b68], eax
test eax, eax
je 0x4084ff
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x427b64], eax
mov eax, dword [0x427b64]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, ecx
je 0x408558
cmp dword [0x427b68], ecx
je 0x408558
push eax
call esi
push dword [0x427b68]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x408558
test ebx, ebx
je 0x408558
call edi
test eax, eax
je 0x40854f
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x40854f
test byte [ebp - 8], 1
jne 0x408558
or dword [ebp + 0x10], 0x200000
jmp 0x40858b
mov eax, dword [0x427b5c]
cmp eax, dword [ebp - 0x18]
je 0x40858b
push eax
call esi
test eax, eax
je 0x40858b
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x40858b
mov eax, dword [0x427b60]
cmp eax, dword [ebp - 0x18]
je 0x40858b
push eax
call esi
test eax, eax
je 0x40858b
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x427b58]
call esi
test eax, eax
je 0x4085a7
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x4085a9
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401e15
leave
ret
Function at 0x403400
Capabilities:
Get thread local storage value

Disassembly:
cmp dword [0x40648c], 0
jne 0x40340e
call fcn.004031f0
mov eax, dword [0x406488]
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_TlsGetValue]
push edi
push eax
call esi
test eax, eax
jne 0x403432
call fcn.004031f0
mov ecx, dword [0x406488]
push ecx
call esi
mov ecx, dword [esp + 0x14]
lea edx, [eax + 8]
mov esi, 0x11
mov edi, edi
mov edi, ecx
imul edi, edi, 0x53a9b4fb
mov ecx, 1
sub ecx, edi
mov dword [edx + 0x44], ecx
imul ecx, ecx, 0x53a9b4fb
mov edi, 1
sub edi, ecx
mov ecx, edi
mov dword [edx], ecx
add edx, 4
dec esi
jne 0x403440
mov dword [eax], esi
mov dword [eax + 4], 0xa
lea ebp, [esi + 0x1f]
mov ecx, dword [eax]
mov esi, dword [eax + 4]
mov edx, dword [eax + ecx*4 + 0x4c]
mov edi, dword [eax + ecx*4 + 8]
mov ebx, dword [eax + esi*4 + 8]
ror edx, 0xd
add edx, dword [eax + esi*4 + 0x4c]
ror edi, 5
add edi, ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0x4c], edi
dec esi
dec ecx
jns 0x4034a3
mov ecx, 0x10
test esi, esi
jns 0x4034ac
mov esi, 0x10
dec ebp
mov dword [eax], ecx
mov dword [eax + 4], esi
jne 0x403475
pop edi
pop esi
pop ebp
pop ebx
ret 4

Function at 0x403539
Capabilities:
Copy file

Disassembly:
xor eax, eax
cmp dword [esp + 4], eax
je 0x403558
cmp dword [esp + 8], eax
je 0x403558
push eax
push dword [esp + 0xc]
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_CopyFileA]
jmp 0x40355a
xor eax, eax
ret 8

Function at 0x403570
Capabilities:
Write file on windows

Disassembly:
push ecx
push esi
mov esi, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 4], eax
cmp dword [esi + 0x14], eax
jne 0x4035a5
mov ecx, dword [esi + 8]
sub ecx, dword [esi + 0xc]
mov edx, dword [esi + 4]
push eax
lea eax, [esp + 8]
push eax
mov eax, dword [esi]
push ecx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [esi + 8]
mov eax, dword [esp + 4]
mov dword [esi + 0xc], ecx
pop esi
pop ecx
ret 4

Function at 0x4038e0
Capabilities:
Read file on windows

Disassembly:
push ecx
mov eax, dword [esp + 8]
mov ecx, dword [0x4064e4]
push eax
push ecx
mov dword [esp + 8], 0
call fcn.00403cb6
test eax, eax
je 0x403932
cmp dword [eax + 4], 0
je 0x403918
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
push edx
push ecx
push eax
jmp loc.00408000
mov ecx, dword [esp + 0x10]
mov eax, dword [eax]
push 0
lea edx, [esp + 4]
push edx
mov edx, dword [esp + 0x14]
push ecx
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp]
pop ecx
ret 0xc

Function at 0x4039a0
Capabilities:
Write file on windows

Disassembly:
push ecx
push edi
mov edi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 4], eax
test edi, edi
je 0x4039f9
push esi
mov esi, dword [esp + 0x18]
test esi, esi
je 0x4039f8
mov eax, dword [esp + 0x10]
mov ecx, dword [0x4064e4]
push eax
push ecx
call fcn.00403cb6
test eax, eax
je 0x4039f4
cmp dword [eax + 4], 0
je 0x4039e2
push esi
push edi
push eax
call fcn.00403b20
pop esi
pop edi
pop ecx
ret 0xc
mov eax, dword [eax]
push 0
lea edx, [esp + 0xc]
push edx
push esi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esp + 8]
pop esi
pop edi
pop ecx
ret 0xc
Function at 0x403a00
Capabilities:
Read file on windows

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
cmp dword [esi + 0x14], 0
push edi
jne 0x403a21
push esi
call fcn.00403570
mov dword [esi + 0x14], 1
mov dword [esi + 0xc], 0
mov ebx, dword [esi + 0xc]
mov edi, dword [esp + 0x18]
cmp ebx, edi
jl 0x403a96
mov eax, dword [esi + 0x10]
add eax, dword [esi + 4]
mov ecx, edi
sub eax, ebx
dec ecx
je 0x403a83
dec ecx
je 0x403a6e
sub ecx, 2
je 0x403a5b
push edi
push eax
mov eax, dword [esp + 0x1c]
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
sub dword [esi + 0xc], edi
mov eax, edi
pop edi
pop esi
pop ebx
ret 0xc
mov ecx, dword [eax]
mov edx, dword [esp + 0x14]
mov dword [edx], ecx
sub dword [esi + 0xc], edi
mov eax, edi
pop edi
pop esi
pop ebx
ret 0xc
mov ax, word [eax]
mov ecx, dword [esp + 0x14]
mov word [ecx], ax
sub dword [esi + 0xc], edi
mov eax, edi
pop edi
pop esi
pop ebx
ret 0xc
mov dl, byte [eax]
mov eax, dword [esp + 0x14]
mov byte [eax], dl
sub dword [esi + 0xc], edi
mov eax, edi
pop edi
pop esi
pop ebx
ret 0xc
mov ecx, dword [esi + 0x10]
push ebp
mov ebp, dword [esp + 0x18]
sub ecx, ebx
add ecx, dword [esi + 4]
push ebx
push ecx
push ebp
call sub.MSVCRT.dll_memcpy
mov eax, dword [esi + 8]
add esp, 0xc
sub edi, ebx
add ebp, ebx
push 0
cmp edi, eax
jl 0x403adf
mov eax, dword [esi]
lea edx, [esp + 0x18]
push edx
push edi
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x14]
pop ebp
pop edi
mov dword [esi + 0xc], 0
pop esi
add eax, ebx
pop ebx
ret 0xc
mov edx, dword [esi + 4]
lea ecx, [esp + 0x18]
push ecx
push eax
mov eax, dword [esi]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
cmp edi, eax
jle 0x403b02
mov edi, eax
mov ecx, dword [esi + 4]
push edi
push ecx
push ebp
call sub.MSVCRT.dll_memcpy
sub dword [esi + 0xc], edi
add esp, 0xc
pop ebp
lea eax, [ebx + edi]
pop edi
pop esi
pop ebx
ret 0xc
Function at 0x401f10
Capabilities:
Get disk information
Inspect load icon resource
Read file on windows

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x148
push ebx
push esi
push edi
push 0x65
push eax
call dword [sym.imp.USER32.dll_LoadIconA]
lea ecx, [esp + 0xc]
call fcn.00401000
lea ecx, [esp + 0x50]
push 0x104
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x50]
lea ecx, [esp + 0xc]
push edx
call fcn.004012b0
test eax, eax
je 0x402021
lea eax, [esp + 0x50]
push 0x404030
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x402084
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esp + 0x10]
call fcn.00401290
mov edi, dword [sym.imp.MSVCRT.dll_fseek]
sub eax, 8
push 0
push eax
push esi
call edi
mov ebx, dword [sym.imp.MSVCRT.dll_fread]
push esi
push 1
lea edx, [esp + 0x24]
push 8
push edx
call ebx
mov eax, dword [esp + 0x2c]
push 0
push eax
push esi
call edi
push esi
push 1
lea ecx, [esp + 0x48]
push 0x38
push ecx
call ebx
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x50]
add esp, 0x3c
test eax, eax
mov eax, dword [esp + 0x10]
push edx
push eax
jne 0x401ffe
sub esp, 0x38
mov ecx, 0xe
lea esi, [esp + 0x58]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x50]
call fcn.00401800
jmp 0x402084
sub esp, 0x38
mov ecx, 0xe
lea esi, [esp + 0x58]
mov edi, esp
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x50]
call fcn.00401a90
jmp 0x402084
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov edi, eax
mov esi, 1
xor ebx, ebx
test edi, esi
je 0x40206a
mov dl, bl
lea ecx, [esp + 0x10]
add dl, 0x41
push edx
call sub.MFC42.DLL_CString::operator_1
push 0x40412c
lea ecx, [esp + 0x14]
call fcn.004020e2
lea ecx, [esp + 0xc]
mov eax, dword [esp + 0x10]
push eax
push 0
call fcn.00401cf0
add esi, esi
inc ebx
cmp ebx, 0x1a
jl 0x402039
lea ecx, [esp + 0xc]
call fcn.00401040
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0xc]
call fcn.00401030
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x148
ret 0x10

Function at 0x430006
Capabilities:
Encode data using xor

Disassembly:
mov eax, section..text
nop
nop
mov ebx, 0x408ecc
nop
mov ecx, 0xc415209
nop
nop
nop
test eax, eax
nop
je 0x43004e
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x430024
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x5e141ef0
nop
nop
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x430084
nop
nop
nop
nop
nop
xor dword [eax], ecx
add eax, 4
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x430005
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
mov eax, section..text
nop
nop
nop
nop
push 4
nop
pop edi
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0
je 0x430072
nop
nop
nop
nop
nop
mov ebx, 0x408f6c
nop
nop
nop
nop
mov ecx, ebx
sub ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
push eax
mov eax, ecx
nop
nop
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
pop eax
nop
nop
nop
mov esi, 0x6fd789f
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
loop 0x430060
nop
nop
nop
nop
mov eax, section..data
nop
cmp eax, 0
nop
nop
nop
nop
nop
nop
nop
je 0x4300d2
mov ebx, 0x42e3d0
nop
nop
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
xor edx, edx
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
nop
nop
div edi
nop
nop
xchg ecx, eax
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x5ff6850
nop
nop
nop
xor dword [eax], esi
nop
add eax, edi
nop
nop
nop
nop
loop 0x4300c0
nop
nop
nop
nop
popal
nop
nop
nop
nop
nop
jmp 0x401219
Function at 0x100137df
Capabilities:
Generate random numbers via winapi

Disassembly:
call fcn.100b0a27
sub byte [eax], al
add byte [eax - 0x64846fe], al
sub esp, dword [ebx + 0x14]
xchg esp, eax
or esi, dword [ebp + 0xd508a03]
sbb eax, 0x6e64b0a0
dec ebx
jae 0x1001385c
dec edi
lds esi, [edx - 0x7b1f398d]
out dx, al
out dx, eax
ljmp 0xfdb3
mov ebp, esp
push esi
xor esi, esi
cmp dword [0x10120740], 1
je 0x10013871
mov esi, 0x8000ffff
jmp 0x10013899
push dword [ebp + 8]
push dword [ebp + 0xc]
push dword [0x10120730]
call dword [sym.imp.ADVAPI32.dll_CryptGenRandom]
test eax, eax
jne 0x100138be
call dword [sym.imp.kernel32.dll_GetLastError]
push eax
call fcn.100cd22e
mov esi, eax
test esi, esi
jge 0x100138be
mov eax, dword [0x1011faf4]
cmp eax, 0x1011faf4
je 0x100138be
test byte [eax + 0x3c], 2
je 0x100138be
push esi
push 0x100034d8
push 0xa
push dword [eax + 0x34]
push dword [eax + 0x30]
call fcn.100cd22e
mov eax, esi
pop esi
pop ebp
ret 8
Function at 0x100cd22e
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
pushal
call 0x100cd23d
pop dword [ebp - 0x20]
mov eax, 0x1a6476cf
add eax, 0xf5a85b6e
sub dword [ebp - 0x20], eax
push 0x40
push 0x1000
push 0x5bf08
push 0
mov eax, sym.imp.kernel32.dll_VirtualAlloc
add eax, dword [ebp - 0x20]
call dword [eax]
mov ecx, 0x5794
mov ebx, eax
mov edi, 0x8f38d03d
add edi, 0x80daa7c3
add edi, dword [ebp - 0x20]
mov edx, 0xa57464e0
add edx, 0xde976b25
sub dword [ebp - 0x14], ecx
mov esi, dword [edi]
mov dword [ebp - 0x10], 0x876d7aa8
xor esi, edx
xor dword [ebp - 8], edx
mov dword [ebx], esi
xor dword [ebp - 0xc], edi
add ebx, 0x9a9965a5
add ebx, 0x65669a5f
add edi, 0x5a131bfa
add edi, 0xa5ece40a
loop 0x100cd291
add eax, 0x84223dda
sub eax, 0x8420ecb7
mov ebx, eax
add eax, 0xdc3a6602
add eax, 0x23c59a03
mov ecx, 0xb7c02564
sub ecx, 0xa7c02564
add ecx, dword [ebp - 0x20]
call ebx
leave
ret