joyce8/EMBER2024-capa huggingface dataset:
Function at 0x47d798
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebx
push esi
mov dl, 0xb5
mov ebx, eax
xor eax, eax
mov ecx, eax
mov esi, ebx
shr esi, cl
mov ecx, esi
and cl, 0xff
xor dl, cl
inc eax
cmp eax, 4
jne 0x47d7a0
mov eax, edx
pop esi
pop ebx
ret

Function at 0x4b0508
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x4b05a6
push dword fs:[eax]
mov dword fs:[eax], esp
or dl, byte [ebx + 0xd]
je 0x4b056a
cmp byte [ebx + 0x11], 0
jne 0x4b056a
cmp byte [ebx + 0x24], 0
jne 0x4b056a
mov byte [ebx + 0xf], 0
mov byte [ebx + 0xd], 0
mov eax, dword [ebx + 8]
push eax
call sub.kernel32.dll_ResumeThread
cmp eax, 1
je 0x4b058b
lea edx, [ebp - 4]
mov eax, dword [0x4d89c0]
call fcn.0040e9b0
mov ecx, dword [ebp - 4]
mov dl, 1
mov eax, dword [0x48afd8]
call fcn.00423bdc
call fcn.004090b8
jmp 0x4b058b
lea edx, [ebp - 8]
mov eax, dword [0x4d89c0]
call fcn.0040e9b0
mov ecx, dword [ebp - 8]
mov dl, 1
mov eax, dword [0x48afd8]
call fcn.00423bdc
call fcn.004090b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b05ad
lea eax, [ebp - 8]
mov edx, 2
call fcn.00409a9c
ret

Function at 0x4b0dc0
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0xf]
mov byte [ebp - 5], al
xor eax, eax
push ebp
push 0x4b0e0e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
mov byte [eax + 0xf], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
push eax
call sub.kernel32.dll_SuspendThread
test eax, eax
setge dl
mov eax, dword [ebp - 4]
call fcn.004b0388
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4b0e27
pop edi
pop esi
pop ebx
pop ecx
pop ecx
pop ebp
ret

Function at 0x4b0e30
Capabilities:
Resume thread

Disassembly:
push ebx
push esi
mov ebx, eax
mov eax, dword [ebx + 8]
push eax
call sub.kernel32.dll_ResumeThread
mov esi, eax
test esi, esi
setge dl
mov eax, ebx
call fcn.004b0388
dec esi
jne 0x4b0e52
mov byte [ebx + 0xf], 0
pop esi
pop ebx
ret

Function at 0x4d03d0
Capabilities:
Log keystrokes via application hook

Disassembly:
push ebp
mov ebp, esp
cmp dword [0x4d86d4], 0
jne 0x4d03f6
push 0
mov eax, dword [0x4dc624]
push eax
mov eax, 0x4d0340
push eax
push 0xd
call sub.user32.dll_SetWindowsHookExW
mov dword [0x4d86d4], eax
pop ebp
ret
Function at 0x4d09b4
Capabilities:
Create directory
Create process on windows
Run powershell expression

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x4d0b24
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x10]
mov eax, 0x4d0b44
call fcn.00426a34
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 8]
mov ecx, 0x4d0b60
call fcn.0040a710
push 0
mov eax, dword [ebp - 8]
call fcn.0040a4bc
push eax
call sub.kernel32.dll_CreateDirectoryW
xor eax, eax
push ebp
push 0x4d0ae3
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp + 8], 1
jne 0x4d0a72
mov eax, dword [ebp - 8]
call fcn.004d06f0
test al, al
je 0x4d0a72
push 0
mov eax, dword [ebp - 8]
call fcn.0040a4bc
push eax
call sub.kernel32.dll_CreateDirectoryW
call fcn.004d03d0
push 0
push 0
push 0x4d0b78
push dword [ebp - 8]
push 0x4d0bd4
push dword [ebp - 8]
push 0x4d0c28
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.0040a798
mov eax, dword [ebp - 0x14]
call fcn.0040a4bc
push eax
push 0x4d0c84
push 0x4d0ca4
push 0
call sub.shell32.dll_ShellExecuteW
cmp dword [ebp + 8], 2
jne 0x4d0ad9
mov eax, dword [ebp - 8]
call fcn.004d08f0
test al, al
je 0x4d0ad9
push 0
mov eax, dword [ebp - 8]
call fcn.0040a4bc
push eax
call sub.kernel32.dll_CreateDirectoryW
call fcn.004d03d0
push 0
push 0
push 0x4d0b78
push dword [ebp - 8]
push 0x4d0cbc
push dword [ebp - 8]
push 0x4d0d10
lea eax, [ebp - 0x18]
mov edx, 5
call fcn.0040a798
mov eax, dword [ebp - 0x18]
call fcn.0040a4bc
push eax
push 0x4d0c84
push 0x4d0ca4
push 0
call sub.shell32.dll_ShellExecuteW
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4d0afc
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4d0b2b
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00409a9c
lea eax, [ebp - 8]
call fcn.00409a3c
ret
Function at 0x4289d7
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
and dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x4289fb
xor eax, eax
jmp 0x428b60
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 8]
cmp dword [eax], 0x4550
je 0x428a19
xor eax, eax
jmp 0x428b60
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 8]
push 1
push 0x2db7
push 0x426e
call fcn.004285e9
add esp, 0x14
cmp dword [ebp - 0xc], 0
jne 0x428a41
xor eax, eax
jmp 0x428b60
push 1
push dword [ebp - 0x10]
push 0x723c
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
push 0x6a1e
lea eax, [ebp - 4]
push eax
call fcn.00428837
add esp, 0x20
push 0x49e0
push 0x7b13
push 0x3496
push dword [ebp - 8]
push 0x2ad7
push dword [ebp + 8]
push 0x25e0
push 0x20e5
push 0x4fa5
push 0x1dd9
push 1
push 0x7d32
push dword [ebp - 4]
push 0x4226
call fcn.00426bf4
add esp, 0x38
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
sub ecx, dword [eax + 0x34]
mov dword [ebp - 0x14], ecx
je 0x428ae3
push 1
push 0x7667
push 0x218a
push 0x57fc
push dword [ebp - 4]
push 0x4532
push dword [ebp - 0x14]
push 0x2676
call fcn.00427bd9
add esp, 0x20
push dword [ebp - 4]
call fcn.004284cf
pop ecx
test eax, eax
jne 0x428af4
xor eax, eax
jmp 0x428b60
push 0
push dword [ebp - 4]
push 0x4aa1
call fcn.0042835d
add esp, 0xc
mov eax, dword [ebp - 4]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x428b48
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0x18], ecx
jne 0x428b25
xor eax, eax
jmp 0x428b60
push 0
push 1
push 0xdeadbeef
call dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x428b3e
xor eax, eax
jmp 0x428b60
mov eax, dword [ebp - 4]
mov dword [eax + 0x10], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x10], 0
je 0x428b59
mov eax, dword [ebp - 4]
mov dword [ebp - 0x1c], eax
jmp 0x428b5d
and dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
mov esp, ebp
pop ebp
ret
Function at 0x491ef0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x48b015
lea edi, [esi - 0x8a015]
push edi
jmp 0x491f0a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x491f11
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x491f00
mov eax, 1
add ebx, ebx
jne 0x491f23
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x491f18
jne 0x491f34
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x491f18
xor ecx, ecx
sub eax, 3
jb 0x491f48
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x491fba
mov ebp, eax
add ebx, ebx
jne 0x491f53
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x491f60
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x491f84
inc ecx
add ebx, ebx
jne 0x491f70
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x491f65
jne 0x491f81
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x491f65
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x491fa4
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x491f95
jmp 0x491f06
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x491fa4
add edi, ecx
jmp 0x491f06
pop esi
mov edi, esi
mov ecx, 0x428
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x491fc2
cmp byte [edi], 5
jne 0x491fc2
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x491fc7
lea edi, [esi + 0x8f000]
mov eax, dword [edi]
or eax, eax
je 0x492036
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x92000]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x9203c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x491ff4
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x92044]
or eax, eax
je 0x492030
mov dword [ebx], eax
add ebx, 4
jmp 0x492011
call dword [esi + 0x92040]
mov ebp, dword [esi + 0x92048]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x19f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x49206a
sub esp, 0xffffff80
jmp section.UPX0
Function at 0xb0b1b0
Capabilities:
Acquire debug privileges

Disassembly:
push ecx
lea eax, [esp]
mov dword [esp], 0
push eax
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp]
push 1
push str.SeBackupPrivilege
push ecx
call fcn.00b0b140
mov edx, dword [esp + 0xc]
push 1
push str.SeDebugPrivilege
push edx
call fcn.00b0b140
mov eax, dword [esp + 0x18]
push 1
push str.SeRestorePrivilege
push eax
call fcn.00b0b140
mov ecx, dword [esp + 0x24]
push 1
push str.SeSecurityPrivilege
push ecx
call fcn.00b0b140
mov edx, dword [esp + 0x30]
add esp, 0x30
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
pop ecx
ret

Function at 0xb0bbfa
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
lea eax, [ebp - 4]
push eax
push 0x20019
xor esi, esi
push esi
push str.CLSIDADB880A6_D8FF_11CF_9377_00AA003B7A11InprocServer32
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0xb0bc50
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
mov dword [ebp - 8], 0x104
push esi
push esi
push 0xb1d87c
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0xb0bc43
inc esi
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
jmp 0xb0bc52
xor eax, eax
pop esi
leave
ret 4

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x7aa1d0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x202000]
mov dword [edi + 0x2cd47c], 0xba046891
push edi
jmp 0x7aa1fa
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x7aa201
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x7aa1f0
mov eax, 1
add ebx, ebx
jne 0x7aa213
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x7aa224
jne 0x7aa243
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x7aa243
dec eax
add ebx, ebx
jne 0x7aa230
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x7aa208
add ebx, ebx
jne 0x7aa23f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x7aa295
xor ecx, ecx
sub eax, 3
jb 0x7aa25b
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x7aa2ca
sar eax, 1
mov ebp, eax
jmp 0x7aa266
add ebx, ebx
jne 0x7aa266
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x7aa234
inc ecx
add ebx, ebx
jne 0x7aa274
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x7aa234
add ebx, ebx
jne 0x7aa281
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x7aa276
jne 0x7aa292
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x7aa276
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x7aa2b4
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x7aa2a6
jmp 0x7aa1f6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x7aa2b4
add edi, ecx
jmp 0x7aa1f6
pop esi
mov edi, esi
mov ecx, 0xef86
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x7aa2d2
cmp byte [edi], 0x26
jne 0x7aa2d2
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x7aa2d7
lea edi, [esi + 0x399000]
mov eax, dword [edi]
or eax, eax
je 0x7aa34f
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x3cb214]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x3cb3e8]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x7aa304
mov ecx, edi
jns 0x7aa333
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x3cb3f0]
or eax, eax
je 0x7aa349
mov dword [ebx], eax
add ebx, 4
jmp 0x7aa321
call dword [esi + 0x3cb3ec]
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x7aa380
cmp al, 0xef
ja 0x7aa373
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x7aa355
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x7aa362
mov ebp, dword [esi + 0x3cb3f4]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x26f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x7aa3b4
sub esp, 0xffffff80
jmp 0x5c9f5a
Function at 0x50ce50
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.QNhjSkbP
lea edi, [esi - 0x9000]
push edi
or ebp, 0xffffffff
jmp 0x50ce72
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x50ce79
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x50ce68
mov eax, 1
add ebx, ebx
jne 0x50ce8b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x50ce80
jne 0x50ce9c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x50ce80
xor ecx, ecx
sub eax, 3
jb 0x50ceb0
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x50cf22
mov ebp, eax
add ebx, ebx
jne 0x50cebb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x50cec8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x50ceec
inc ecx
add ebx, ebx
jne 0x50ced8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x50cecd
jne 0x50cee9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x50cecd
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x50cf0c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x50cefd
jmp 0x50ce6e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x50cf0c
add edi, ecx
jmp 0x50ce6e
pop esi
lea edi, [esi + 0xa000]
mov eax, dword [edi]
or eax, eax
je 0x50cf6b
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xeacc]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xeb24]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x50cf29
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xeb2c]
or eax, eax
je 0x50cf65
mov dword [ebx], eax
add ebx, 4
jmp 0x50cf46
call dword [esi + 0xeb28]
mov ebp, dword [esi + 0xeb30]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x20f]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x50cf9f
sub esp, 0xffffff80
jmp section.bUItIFMf

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx

Function at 0x433002
Capabilities:
Encode data using xor

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

Disassembly:
call fcn.00d401a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, 0x80
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0xd4007e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0xd4006a
add dl, dl
jne 0xd40089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0xd400dc
xor eax, eax
add dl, dl
jne 0xd40096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0xd4017d
add dl, dl
jne 0xd400a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd400b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd400bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd400c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0xd400d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0xd40075
mov eax, 1
add dl, dl
jne 0xd400ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0xd400f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0xd400e1
sub eax, ebx
mov ebx, 1
jne 0xd40128
mov ecx, 1
add dl, dl
jne 0xd4010e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0xd40119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0xd40105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0xd40075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0xd4013f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0xd4014a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0xd40136
cmp eax, 0x7d00
jae 0xd4016d
cmp eax, 0x500
jb 0xd40168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0xd40075
cmp eax, 0x7f
ja 0xd40170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0xd40075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0xd4019e
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0xd40075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10

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

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
mov ebx, 0x40915c
nop
mov ecx, 0x12a12494
nop
nop
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43104e
nop
nop
xor dword [eax], ecx
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
cmp eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
jne 0x431024
mov eax, section..data
nop
mov ebx, 0x42f3f8
nop
mov ecx, 0x66ca2171
nop
nop
nop
nop
nop
test eax, eax
nop
je 0x431084
nop
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
add eax, 4
nop
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
jne 0x43106c
nop
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x401219
Function at 0x100743c
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ecx
push edx
push esi
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, ecx
cmp edx, 4
jl 0x1007483
cmp edx, 0x10
jl 0x100746f
shr ecx, 4
nop
xor eax, dword [ebx]
mov esi, dword [ebx + 4]
xor eax, dword [ebx + 8]
xor esi, dword [ebx + 0xc]
add ebx, 0x10
xor eax, esi
dec ecx
jne 0x100745c
mov ecx, edx
shr ecx, 2
and ecx, 3
test ecx, ecx
je 0x1007483
xor eax, dword [ebx]
add ebx, 4
dec ecx
jne 0x100747b
and edx, 3
cmp edx, 3
jne 0x1007497
xor ecx, ecx
mov cl, byte [ebx]
inc ebx
shl ecx, 0x10
xor eax, ecx
jmp 0x100749c
cmp edx, 2
jne 0x10074a8
xor ecx, ecx
mov cl, byte [ebx]
inc ebx
shl ecx, 8
xor eax, ecx
jmp 0x10074ad
cmp edx, 1
jne 0x10074b3
xor ecx, ecx
mov cl, byte [ebx]
xor eax, ecx
pop esi
pop edx
pop ecx
pop ebx
ret

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

Disassembly:
pushal
nop
nop
nop
nop
mov eax, section..idata
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x29ea4acd
nop
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x43004e
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
jne 0x430024
nop
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0xc193a1c
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x430084
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
popal
nop
jmp 0x401219
Function at 0x401508
Capabilities:
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x25c
push esi
push edi
push 0x11
xor eax, eax
pop ecx
lea edi, [ebp - 0x54]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x10]
mov dword [ebp - 0x54], 0x44
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x28], 1
push eax
push 0x104
mov word [ebp - 0x24], 5
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0x25c]
push eax
call esi
xor edi, edi
cmp word [ebp + eax*2 - 0x25e], 0x5c
jne 0x401577
lea eax, [ebp - 0x25c]
push eax
call esi
mov word [ebp + eax*2 - 0x25e], di
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x54]
push eax
push edi
push edi
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x25c]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
call dword [sym.imp.KERNEL32.dll_GetLastError]
sub eax, 5
pop edi
neg eax
sbb eax, eax
pop esi
inc eax
leave
ret

Function at 0x4015a5
Capabilities:
Read file on windows

Disassembly:
push esi
push 0x403064
push dword [esp + 0xc]
call dword [sym.imp.MSVCRT.dll__wfopen]
mov esi, eax
pop ecx
test esi, esi
pop ecx
jne 0x4015bf
pop esi
ret
push edi
push 0
push 0x150af2
push esi
call dword [sym.imp.MSVCRT.dll_fseek]
mov edi, dword [esp + 0x1c]
push 0xc
pop ecx
xor eax, eax
push esi
push 0x30
rep stosd dword es:[edi], eax
push 1
pop edi
push edi
push dword [esp + 0x28]
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x1c
cmp eax, 0x30
je 0x4015f4
xor edi, edi
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
mov eax, edi
pop edi
pop esi
ret

Function at 0x401601
Capabilities:
Read file on windows

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0x14]
push edi
push esi
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, esi
mov ebx, eax
mov edx, ecx
xor eax, eax
mov edi, ebx
push 0
push dword [esp + 0x1c]
shr ecx, 2
push dword [esp + 0x1c]
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
call dword [sym.imp.MSVCRT.dll_fseek]
add esp, 0x10
cmp eax, 0xffffffff
je 0x401652
push dword [esp + 0x10]
push esi
push 1
push ebx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, esi
je 0x40165e
push ebx
call dword [sym.imp.MSVCRT.dll_free]
pop ecx
xor eax, eax
jmp 0x401660
mov eax, ebx
pop edi
pop esi
pop ebx
ret

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx