joyce8/EMBER2024-capa huggingface dataset:
Function at 0x475f10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d857b
mov eax, dword fs:[0]
push eax
sub esp, 0xa0
mov eax, dword [0x51452c]
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, dword [ebp + 8]
mov dword [ebp - 0xac], esi
mov dword [ebp - 0xa8], 0x740068
mov dword [ebp - 0xa4], 0x700074
mov dword [ebp - 0xa0], 0x2f003a
mov dword [ebp - 0x9c], 0x63002f
mov dword [ebp - 0x98], 0x6e0064
mov dword [ebp - 0x94], 0x61002d
mov dword [ebp - 0x90], 0x69006c
mov dword [ebp - 0x8c], 0x66002d
mov dword [ebp - 0x88], 0x6c0069
mov dword [ebp - 0x84], 0x2d0065
mov dword [ebp - 0x80], 0x680073
mov dword [ebp - 0x7c], 0x2e0063
mov dword [ebp - 0x78], 0x680073
mov dword [ebp - 0x74], 0x6e0061
mov dword [ebp - 0x70], 0x750068
mov dword [ebp - 0x6c], 0x650074
mov dword [ebp - 0x68], 0x680063
mov dword [ebp - 0x64], 0x63002e
mov dword [ebp - 0x60], 0x2f006e
mov dword [ebp - 0x5c], 0x6d0063
mov dword [ebp - 0x58], 0x2f0073
mov dword [ebp - 0x54], 0x720070
mov dword [ebp - 0x50], 0x6a006f
mov dword [ebp - 0x4c], 0x630065
mov dword [ebp - 0x48], 0x5f0074
mov dword [ebp - 0x44], 0x300032
mov dword [ebp - 0x40], 0x63002f
mov dword [ebp - 0x3c], 0x670066
mov dword [ebp - 0x38], 0x63005f
mov dword [ebp - 0x34], 0x6e0065
mov dword [ebp - 0x30], 0x650074
mov dword [ebp - 0x2c], 0x2f0072
mov dword [ebp - 0x28], 0x6f006d
mov dword [ebp - 0x24], 0x5f0064
mov dword [ebp - 0x20], 0x69006c
mov dword [ebp - 0x1c], 0x740073
mov dword [ebp - 0x18], 0x6a002e
mov dword [ebp - 0x14], 0x73
call fcn.0042f360
mov ecx, eax
test ecx, ecx
je 0x4760e4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.0040f350
test al, al
jne 0x4760c4
lea ecx, [ebp - 0xa8]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4760a6
sub ecx, edx
lea eax, [ebp - 0xa8]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.0040dae0
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 - 0x10]
xor ecx, ebp
call fcn.0046659c
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.0040c8c0
int3
Function at 0x478d20
Capabilities:
Check if file exists
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x430
mov eax, dword [0x51452c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
js 0x478e89
push 0x208
lea eax, [ebp - 0x228]
push 0
push eax
call fcn.0047ce50
add esp, 0xc
lea eax, [ebp - 0x228]
push 0x104
push eax
push 0x400000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x228]
push eax
call edi
test esi, esi
jle 0x478d8f
lea eax, [ebp - 0x228]
push eax
call edi
sub esi, 1
jne 0x478d81
mov eax, dword [0x518700]
mov esi, dword [eax]
cmp esi, eax
je 0x478e89
mov edi, dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
nop word [eax + eax]
push 0x208
lea eax, [ebp - 0x430]
push 0
push eax
call fcn.0047ce50
add esp, 0xc
lea eax, [ebp - 0x228]
push dword [esi + 0x14]
push eax
lea eax, [ebp - 0x430]
push eax
call edi
lea eax, [ebp - 0x430]
push eax
call ebx
mov ecx, dword [esi + 0x10]
test eax, eax
jne 0x478eb0
mov dword [ebp - 0x20], 0x360033
mov dword [ebp - 0x1c], 0x770030
mov dword [ebp - 0x18], 0x610070
mov dword [ebp - 0x14], 0x700070
mov dword [ebp - 0x10], 0x65002e
mov dword [ebp - 0xc], 0x650078
mov word [ebp - 8], ax
cmp ecx, 3
jne 0x478e41
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x430]
push eax
call edi
lea eax, [ebp - 0x430]
push eax
call ebx
test eax, eax
jne 0x478e9c
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
je 0x478e67
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x478e63
cmp esi, dword [eax + 8]
jne 0x478e63
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x478e53
mov esi, eax
jmp 0x478e7d
mov esi, eax
mov ecx, dword [esi]
cmp byte [ecx + 0xd], 0
jne 0x478e7d
mov eax, dword [ecx]
mov esi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x478e71
cmp esi, dword [0x518700]
jne 0x478db0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046659c
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x10]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046659c
mov esp, ebp
pop ebp
ret
mov eax, ecx
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046659c
mov esp, ebp
pop ebp
ret
Function at 0x47a210
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1058
call fcn.00466930
mov eax, dword [0x51452c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x20]
test esi, esi
je 0x47a395
cmp word [esi], 0
je 0x47a395
cmp dword [ebp + 0x14], 0
je 0x47a25c
push esi
call fcn.00435160
add esp, 4
test eax, eax
je 0x47a395
xorps xmm0, xmm0
mov dword [ebp - 0x1058], 0x44
lea eax, [ebp - 0x1058]
movlpd qword [ebp - 0x1054], xmm0
push eax
movlpd qword [ebp - 0x104c], xmm0
movlpd qword [ebp - 0x1044], xmm0
movlpd qword [ebp - 0x103c], xmm0
movlpd qword [ebp - 0x1034], xmm0
movlpd qword [ebp - 0x102c], xmm0
movlpd qword [ebp - 0x1024], xmm0
movlpd qword [ebp - 0x101c], xmm0
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov ax, word [ebp + 0x10]
xorps xmm0, xmm0
push 0x1000
mov word [ebp - 0x1028], ax
lea eax, [ebp - 0x1004]
push 0
push eax
mov dword [ebp - 0x102c], 1
movups xmmword [ebp - 0x1014], xmm0
call fcn.0047ce50
add esp, 0xc
lea eax, [ebp - 0x1004]
test ebx, ebx
je 0x47a307
push ebx
push esi
push str.__s___s
push eax
call fcn.00479460
add esp, 0x10
jmp 0x47a316
push esi
push 0x4ee008
push eax
call fcn.00479460
add esp, 0xc
lea eax, [ebp - 0x1014]
push eax
lea eax, [ebp - 0x1058]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1004]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov ebx, eax
test ebx, ebx
je 0x47a382
cmp dword [ebp + 0x18], 0
je 0x47a35a
push dword [ebp + 0x1c]
push dword [ebp - 0x1014]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x47a36c
push dword [edi]
push dword [ebp - 0x1014]
call dword [sym.imp.USER32.dll_WaitForInputIdle]
push dword [ebp - 0x1010]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x1014]
call esi
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046659c
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046659c
mov esp, ebp
pop ebp
ret
Function at 0x47b0e0
Capabilities:
Modify service

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov esi, eax
test esi, esi
jne 0x47b106
mov eax, 0x80004003
pop esi
mov esp, ebp
pop ebp
ret
push ebx
push edi
push esi
xor edi, edi
call dword [sym.imp.ADVAPI32.dll_LockServiceDatabase]
mov dword [ebp - 4], eax
test eax, eax
jne 0x47b15d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x41f
jne 0x47b16f
push 0x10c
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov ebx, eax
test ebx, ebx
je 0x47b16f
lea eax, [ebp - 8]
push eax
push 0x10c
push ebx
push esi
call dword [sym.imp.ADVAPI32.dll_QueryServiceLockStatusW]
test eax, eax
je 0x47b16f
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov dword [ebp - 4], 0x80004005
jmp 0x47b1c0
push 2
push dword [ebp + 8]
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov edi, eax
test edi, edi
jne 0x47b178
mov dword [ebp - 4], 0x80004005
jmp 0x47b1c0
cmp dword [ebp + 0xc], 0
mov ecx, 4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, 1
cmovne eax, ecx
push eax
push 0xffffffffffffffff
push edi
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfigW]
push dword [ebp - 4]
neg eax
sbb ebx, ebx
call dword [sym.imp.ADVAPI32.dll_UnlockServiceDatabase]
xor ecx, ecx
mov eax, 0x80004005
and ebx, 1
cmovne eax, ecx
mov dword [ebp - 4], eax
mov ebx, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test edi, edi
je 0x47b1cd
push edi
call ebx
push esi
call ebx
mov eax, dword [ebp - 4]
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4c027f
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004bfe84

Function at 0x4c028a
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004c0005

Function at 0x4c57cd
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004c4fa7

Function at 0x4c57d8
Capabilities:
Set environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004c51e2

Function at 0x4c5d52
Capabilities:
Create thread
Print debug messages

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004c5ad9
Function at 0x401ea2
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x410284]
jne 0x401eac
repz ret
jmp fcn.00403e53

Function at 0x4086ca
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
pushal
call 0x4086d9
pop dword [ebp - 0x40]
mov eax, 0x564f46ae
add eax, 0xa9f1402b
sub dword [ebp - 0x40], eax
mov dword [ebp - 0x50], 0xfcb454c7
add dword [ebp - 0x50], 0x519df084
mov dword [ebp - 0x4c], 0xc5cbcd2
sub dword [ebp - 0x4c], 0xda29708d
mov dword [ebp - 0x48], 0x5c6215e6
sub dword [ebp - 0x48], 0x1015d1b8
mov dword [ebp - 0x44], 0xe6bb405
sub dword [ebp - 0x44], 0xe6bb405
lea eax, [ebp - 0x50]
push eax
mov eax, sym.imp.kernel32.dll_LoadLibraryA
add eax, dword [ebp - 0x40]
call dword [eax]
mov dword [ebp - 0x50], 0x48f22745
add dword [ebp - 0x50], 0x2b804211
mov dword [ebp - 0x4c], 0x5432e7c
add dword [ebp - 0x4c], 0x3c2932f9
mov dword [ebp - 0x48], 0x90a0277f
sub dword [ebp - 0x48], 0x2d30bb13
mov dword [ebp - 0x44], 0xdb433a56
add dword [ebp - 0x44], 0x24bcc5aa
lea ebx, [ebp - 0x50]
push ebx
push eax
mov eax, 0xd8c5c243
sub eax, 0xd884f1f7
add eax, dword [ebp - 0x40]
call dword [eax]
push 0x40
push 0x1000
push 0x38b15
push 0
call eax
mov ecx, 0x44b1
mov edi, eax
mov edx, 0x7bb9da37
add edx, 0x8487d5c9
add edx, dword [ebp - 0x40]
mov esi, 0x1b3ed621
add esi, 0x83e9e7d1
sub dword [ebp - 0x18], eax
mov ebx, dword [edx]
mov dword [ebp - 0xc], 0xd12d6c39
add ebx, esi
sub dword [ebp - 0x20], 0x4b8141bd
mov dword [edi], ebx
xor dword [ebp - 4], 0xb6460723
add edi, 0x6ee8c7dc
sub edi, 0x6ee8c7d8
add edx, 0x1e0b27f0
add edx, 0xe1f4d814
loop 0x4087f0
add eax, 0x10597
mov ebx, eax
add eax, 0xa111d941
add eax, 0x5eee26c4
mov ecx, 0x400000
add ecx, dword [ebp - 0x40]
call ebx
leave
ret
Function at 0x4098c4
Capabilities:
Create process on windows
Create process suspended

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 4], ebx
mov edi, ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x409997
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x4099b0
push ebx
push 0x4099bc
push esi
lea eax, [ebp - 4]
mov edx, 4
call fcn.004033b4
lea eax, [ebp - 0x48]
xor ecx, ecx
mov edx, 0x44
call fcn.0040277c
mov dword [ebp - 0x48], 0x44
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x48]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 4]
call fcn.00403414
push eax
push 0
call sub.kernel32.dll_CreateProcessA
test eax, eax
jne 0x409944
mov al, 0x62
call fcn.0040949c
mov eax, dword [ebp - 0x54]
push eax
call sub.kernel32.dll_CloseHandle_1
call fcn.00409898
push 0xff
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x58]
push eax
push 1
call sub.user32.dll_MsgWaitForMultipleObjects
dec eax
je 0x40994d
call fcn.00409898
push edi
mov eax, dword [ebp - 0x58]
push eax
call sub.kernel32.dll_GetExitCodeProcess
mov eax, dword [ebp - 0x58]
push eax
call sub.kernel32.dll_CloseHandle_1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x40999e
lea eax, [ebp - 4]
call fcn.00403198
ret

Function at 0x409a50
Capabilities:
Allocate or change rwx memory
Get system information on windows

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffbc
mov edi, eax
lea esi, [esp + 0x28]
lea eax, [esp + 4]
push eax
call sub.kernel32.dll_GetSystemInfo
mov ebx, edi
push 0x1c
push esi
push ebx
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x409b04
jmp 0x409af9
cmp dword [esi + 0x10], 0x1000
jne 0x409ae5
test byte [esi + 0x15], 1
jne 0x409ae5
xor ebx, ebx
mov eax, dword [esi + 0x14]
cmp eax, 1
je 0x409aa4
cmp eax, 2
je 0x409aa4
cmp eax, 0x10
je 0x409aa4
cmp eax, 0x20
jne 0x409ab9
push esp
push 0x40
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
test eax, eax
je 0x409ab9
mov bl, 1
xor ebp, ebp
jmp 0x409aca
mov eax, dword [esi]
add eax, ebp
call fcn.00409a48
add ebp, dword [esp + 8]
cmp ebp, dword [esi + 0xc]
jb 0x409abd
test bl, bl
je 0x409ae5
push esp
mov eax, dword [esp + 4]
push eax
mov eax, dword [esi + 0xc]
push eax
mov eax, dword [esi]
push eax
call sub.kernel32.dll_VirtualProtect
mov eax, dword [esi]
add eax, dword [esi + 0xc]
mov ebx, eax
push 0x1c
push esi
push ebx
call sub.kernel32.dll_VirtualQuery
test eax, eax
je 0x409b04
mov eax, dword [esi + 4]
cmp eax, edi
je 0x409a7c
add esp, 0x44
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x430002
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
call 0x43000c
pop eax
nop
nop
nop
nop
nop
add eax, 0x403d6f
nop
nop
sub eax, 0x403d15
nop
nop
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
mov edx, dword [eax + 8]
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
nop
nop
add ebx, 4
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
nop
nop
nop
jl 0x430030
nop
add eax, 0xc
nop
nop
nop
nop
cmp dword [eax], 0
nop
nop
jne 0x43001e
nop
nop
nop
popal
nop
nop
nop
nop
nop
jmp fcn.00401219
Function at 0x4029b1
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x508
push ebx
push esi
push edi
xor esi, esi
push dword [0x40e460]
push esi
call dword [0x40b06c]
push esi
push esi
push dword [0x40e464]
mov edi, eax
mov dword [ebp - 4], edi
push dword [0x40e450]
call dword [0x40b058]
lea eax, [ebp - 8]
push esi
push eax
push dword [0x40e460]
push edi
push dword [0x40e450]
call dword [0x40b054]
xor eax, eax
cmp dword [0x40e460], esi
jbe 0x402a14
xor byte [eax + edi], 0x17
inc eax
cmp eax, dword [0x40e460]
jb 0x402a07
push 0x100
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.00404a00
mov edi, 0x200
lea eax, [ebp - 0x308]
push edi
push esi
push eax
call fcn.00404a00
add esp, 0x18
lea eax, [ebp - 0x308]
push edi
push eax
push esi
call dword [0x40b050]
test eax, eax
je 0x402b70
lea eax, [ebp - 0x108]
push 0x40d100
push eax
call fcn.00404f60
lea eax, [ebp - 0x308]
push eax
call fcn.00404da0
add esp, 0xc
mov ebx, eax
dec ebx
je 0x402abe
cmp byte [ebp + ebx - 0x308], 0x5c
jne 0x402a75
lea eax, [ebp - 0x308]
push eax
call fcn.00404da0
push 0xfffffffffffffffd
pop ecx
sub ecx, ebx
add eax, ecx
push eax
lea eax, [ebp + ebx - 0x308]
push eax
lea eax, [ebp - 0x106]
push eax
call fcn.00404a60
lea eax, [ebp - 0x108]
push 0x40d0fc
push eax
call fcn.00404f60
add esp, 0x18
push esi
push 0x80
push 2
push esi
push 1
lea eax, [ebp - 0x108]
push 0xc0000000
push eax
call dword [0x40b04c]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x402b70
lea eax, [ebp - 8]
push esi
push eax
push dword [0x40e460]
push dword [ebp - 4]
push ebx
call dword [0x40b068]
test eax, eax
je 0x402b70
push ebx
call dword [0x40b064]
push dword [ebp - 4]
call dword [0x40b060]
push edi
lea eax, [ebp - 0x508]
push esi
push eax
call fcn.00404a00
lea eax, [ebp - 0x508]
push 0x40d0f0
push eax
call fcn.00404f60
add esp, 0x14
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x508]
push eax
call fcn.00404da0
pop ecx
lea eax, [ebp + eax - 0x508]
push eax
call fcn.00404f60
pop ecx
lea eax, [ebp - 0x508]
pop ecx
push 5
push eax
call dword [0x40b098]
lea eax, [ebp - 0x108]
push eax
call dword [0x40b094]
pop edi
pop esi
pop ebx
leave
ret

Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43300c
nop
pop eax
nop
nop
nop
nop
nop
add eax, 0x40a063
sub eax, 0x40a009
nop
nop
mov ebx, dword [eax]
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
xor dword [ebx], edx
nop
nop
add ebx, 4
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
jl 0x433030
nop
nop
nop
nop
nop
add eax, 0xc
nop
cmp dword [eax], 0
nop
nop
nop
nop
nop
jne 0x43301e
nop
nop
popal
nop
nop
nop
nop
jmp 0x431219
Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43200c
nop
nop
nop
pop eax
nop
nop
add eax, 0x40729f
nop
sub eax, reloc.winmm.dll_GetDriverModuleHandle
nop
nop
nop
mov ebx, dword [eax]
nop
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
nop
xor dword [ebx], edx
add ebx, 4
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
nop
jl 0x432030
nop
nop
nop
nop
nop
add eax, 0xc
nop
cmp dword [eax], 0
nop
nop
nop
jne 0x43201e
nop
nop
nop
nop
nop
nop
popal
nop
nop
jmp 0x431219
Function at 0x5373f0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x53c494]
cmp dword [eax + 0x28], 0
jne 0x537408
xor eax, eax
jmp 0x537537
mov ecx, dword [0x53c414]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
add edx, 0xe
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 4]
mov dword [0x53c408], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 8]
mov dword [0x53c404], eax
push 0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x10], eax
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x53c408]
mov dword [ebp - 0x40], ecx
mov edx, dword [0x53c404]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x40]
shr eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebp - 8]
shr ecx, 1
mov dword [ebp - 0x1c], ecx
push 0
mov edx, dword [0x53c48c]
push edx
push 0
push 0
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x14]
push eax
push 0x80000000
push 0x53b604
push 0x53b620
push 0x88
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov dword [0x53c400], ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.00537330
push 5
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x5373c0
mov edx, dword [0x53c494]
mov eax, dword [edx + 0x34]
imul eax, eax, 0x3e8
push eax
push 0
push 0
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [0x53c40c], eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x3c]
push ecx
call dword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x537537
cmp dword [ebp - 0x38], 0x12
jne 0x53752b
mov dword [0x53c41c], 0
call fcn.00537540
xor eax, eax
jmp 0x537537
lea edx, [ebp - 0x3c]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x5374fc
mov esp, ebp
pop ebp
ret 4

Function at 0x538840
Capabilities:
Read .ini file
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebp
mov dword [ebp], 0
add ebp, 4
mov dword [ebp], 0
add ebp, 4
mov dword [ebp], 0
add ebp, 4
mov dword [ebp], 0
add ebp, 4
mov dword [ebp], 0
add ebp, 4
mov dword [ebp], 0
pop ebp
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0x53920c
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
pushal
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edi, 0x53b118
sub eax, eax
test esi, esi
je 0x5392e4
sub eax, 1
test ecx, ecx
je 0x5392e2
test esi, 3
je 0x53924a
xor al, byte [esi]
inc esi
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
dec ecx
jne 0x53922f
mov edx, ecx
and edx, 7
shr ecx, 3
je 0x5392c9
xor eax, dword [esi]
add esi, 4
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
xor eax, dword [esi]
add esi, 4
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
dec ecx
jne 0x539254
mov ecx, edx
test ecx, ecx
je 0x5392e2
xor al, byte [esi]
inc esi
mov ebx, 0xff
and ebx, eax
shr eax, 8
xor eax, dword [edi + ebx*4]
dec ecx
jne 0x5392cf
not eax
mov dword [esp + 0x1c], eax
popal
ret

Function at 0x5392ec
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.0053936f
jae 0x5392fa
xor ecx, ecx
call fcn.0053936f
jae 0x539329
xor eax, eax
call fcn.0053936f
jae 0x539339
mov bl, 2
inc ecx
mov al, 0x10
call fcn.0053936f
adc al, al
jae 0x53931b
jne 0x539365
stosb byte es:[edi], al
jmp 0x5392fd
call fcn.0053937b
sub ecx, ebx
jne 0x539342
call fcn.00539379
jmp 0x539361
lodsb al, byte [esi]
shr eax, 1
je 0x53938b
adc ecx, ecx
jmp 0x53935e
xchg ecx, eax
dec eax
shl eax, 8
lodsb al, byte [esi]
call fcn.00539379
cmp eax, 0x7d00
jae 0x53935e
cmp ah, 5
jae 0x53935f
cmp eax, 0x7f
ja 0x539360
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 0x5392fd
sub edi, dword [esp + 0x28]
mov dword [esp + 0x1c], edi
popal
ret

Function at 0x539c7c
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x53c000]
jne 0x539c86
repz ret
jmp fcn.00539f2d