joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000da35
Capabilities:
Accept command line arguments
Encode data using xor

Disassembly:
mov eax, 0x1005cc15
call fcn.1005c388
sub esp, 0x1c
push ebx
push esi
mov byte [ebp - 0x14], dl
mov esi, ecx
mov dword [ebp - 0x20], 0x873
xor ebx, ebx
cmp dword [ebp - 0x20], 0x911
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], esi
jle 0x1000dac8
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
mov ecx, eax
mov ebx, edi
mov edi, dword [ebp - 0x24]
sar ebx, cl
mov eax, ebx
mov ecx, 0x10075fb8
and eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.10004fa9
inc edi
cmp edi, 0x6f2f
jl 0x1000da7a
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x18], eax
push 0
pop ebx
cmp eax, 0x6670
jl 0x1000da6e
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x36b8
jl 0x1000da69
inc esi
cmp esi, 0x209f
jl 0x1000da64
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, dword [ebp - 0x28]
cmp byte [ebp + 8], 0
je 0x1000db8c
cmp byte [ebp - 0x14], 0
je 0x1000daea
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
jmp 0x1000dbc0
mov dword [esi], ebx
cmp dword [esi], 0xffffffef
jg 0x1000dbc0
mov edi, dword [ebp + 0x10]
mov dword [ebp + 8], ebx
mov dword [ebp - 0x1c], 0xf7626a9d
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 8]
je 0x1000db10
mov eax, dword [ebp + 8]
cmp dword [esi], ebx
jl 0x1000db1e
cmp dword [ebp + 8], ebx
je 0x1000db1e
xor ecx, ecx
inc ecx
jmp 0x1000db20
mov ecx, ebx
xor eax, eax
cmp ecx, 0x5aa0
setle al
xor edx, edx
mov dword [edi], eax
mov ecx, dword [esi]
mov eax, dword [edi]
cmp eax, ecx
setle dl
cmp edx, dword [ebp + 8]
jg 0x1000db47
cmp dword [ebp + 8], ebx
je 0x1000db47
xor ecx, ecx
inc ecx
jmp 0x1000db49
mov ecx, ebx
mov eax, dword [ebp + 8]
sub ecx, eax
imul ecx, dword [esi]
test ecx, ecx
jne 0x1000db5e
cmp dword [ebp + 8], ebx
jne 0x1000db5e
mov eax, ebx
jmp 0x1000db61
xor eax, eax
inc eax
mov dword [ebp - 0x1c], eax
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
cmp eax, 0x2d5fba25
setge cl
xor eax, eax
cmp ecx, 0xdd4d
setl al
mov dword [ebp - 0x28], eax
dec dword [esi]
cmp dword [esi], 0xffffffef
jle 0x1000daf8
jmp 0x1000dbc0
cmp byte [ebp + 0xc], 0
je 0x1000dbae
mov byte [ebp + 0xb], bl
cmp byte [ebp + 0xb], 0
je 0x1000dbc0
push ebx
push ebx
push 0x877
push ebx
push 1
push ebx
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
jmp 0x1000dbc0
push 0x6e4
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x20], 0x666
jge 0x1000dbdb
mov edx, str.smjrjm_ndqydjrda_qsdzqfdj_jskbv_siffvq_jhvbivbs_ncirgszs_shqc_tuncfagfs_smnv_abwsuyw_vbwm
mov ecx, 0x10075fb8
call fcn.1000736a
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1000e35e
Capabilities:
Query environment variable

Disassembly:
mov eax, 0x1005cc33
call fcn.1005c388
sub esp, 0x3c
push ebx
push esi
mov byte [ebp - 0x14], cl
xor esi, esi
mov dword [ebp - 0x24], 0x1d3d
cmp dword [ebp - 0x24], 0x1de6
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], edx
jle 0x1000e3ed
mov edi, esi
mov dword [ebp - 0x20], esi
mov ebx, esi
mov dword [ebp - 0x1c], esi
mov ecx, esi
mov dword [ebp - 0x18], esi
mov eax, ebx
mov esi, edi
cdq
mov edi, 0x668a
idiv ecx
mov dword [ebp - 0x28], edx
mov ebx, edx
mov eax, esi
mov ecx, 0x10075fb8
cdq
push edx
push eax
call fcn.10004fa9
add esi, ebx
dec edi
jne 0x1000e3a9
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
inc ecx
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
cmp ecx, 0x716d
jl 0x1000e398
inc ebx
mov dword [ebp - 0x1c], ebx
push 0
pop esi
cmp ebx, 0x30c9
jl 0x1000e393
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x362d
jl 0x1000e38e
mov dword [ebp - 0x20], 0x5399
cmp dword [ebp - 0x20], 0x56e2
jle 0x1000e44b
mov edi, esi
mov ebx, esi
mov eax, ebx
lea ecx, [ebp - 0x44]
and eax, edi
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000e41a
mov eax, dword [eax]
push eax
call fcn.100443ac
pop ecx
push esi
push 1
lea ecx, [ebp - 0x44]
call fcn.10005611
inc ebx
cmp ebx, 0x7571
jl 0x1000e401
inc edi
cmp edi, 0x478d
jl 0x1000e3ff
push 0xf0a
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
cmp dword [ebp - 0x20], 0x4ffc
jge 0x1000e45f
push str.okseuxz_wkljcun_hwpw_mgobtypn
call fcn.100443ac
pop ecx
cmp byte [ebp - 0x14], 0
je 0x1000e4bf
mov esi, dword [ebp + 8]
xor edx, edx
mov edi, dword [ebp + 0xc]
mov eax, dword [esi]
mov eax, dword [edi]
mov ecx, dword [esi]
mov eax, dword [edi]
cmp ecx, eax
mov eax, dword [ebp + 0x14]
sete dl
mov dword [eax], edx
xor edx, edx
mov eax, dword [eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov eax, dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi]
mov eax, dword [esi]
cmp ecx, eax
setle dl
imul eax, dword [esi], 0x86f8
sub eax, edx
mov edx, dword [esi]
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, 0xffffffff
mov eax, dword [edi]
setg cl
imul edx, ecx
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x2c]
setle cl
mov dword [eax], ecx
jmp 0x1000e4d7
push esi
push 0xa8b
push esi
push esi
push 0x20c5
push 0xa5d
call dword [sym.imp.USER32.dll_ToAsciiEx]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x24], 0x1c96
jge 0x1000e4f6
mov edx, str.jtpsspnok_ifndukher_liw_qyqerkfu_fgubezt_obacz_hnkrgya_pqbuj_vsdmtvv_nvsi_xpnrfhp_rmdnqksnj_tlyed
mov ecx, 0x10075fb8
call fcn.1000736a
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1001ac21
Capabilities:
Compare security identifiers

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005ce4d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x1001ad6b
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x34], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 0x2c], eax
lea eax, [ebp + 0x14]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax]
test eax, eax
je 0x1001ac7f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_EqualSid]
jmp 0x1001ad69
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x48], eax
xor eax, eax
mov word [ebp - 0xe], ax
lea eax, [ebp - 0xe]
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
shr eax, 1
inc eax
push eax
lea ecx, [ebp - 0x58]
call fcn.100229b1
and dword [ebp - 4], 0
and dword [ebp - 0x18], 0
and dword [ebp - 0x14], 0
lea ecx, [ebp - 0x58]
call fcn.10006674
dec eax
mov dword [ebp - 0x40], eax
jmp 0x1001acd3
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x40]
jae 0x1001ad43
push dword [ebp - 0x14]
lea ecx, [ebp - 0x58]
call fcn.1000533a
mov dword [ebp - 0x44], eax
and dword [ebp - 0x1c], 0
jmp 0x1001acfd
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x1c], 2
jae 0x1001ad41
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
add eax, dword [ebp - 0x18]
xor edx, edx
div dword [0x100755cc]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
movzx eax, byte [eax + edx]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
add eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
movzx eax, byte [ecx + eax]
push eax
call fcn.10014c94
pop ecx
pop ecx
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x1c]
mov byte [ecx], al
jmp 0x1001acef
jmp 0x1001accc
lea eax, [ebp - 0x58]
push eax
mov ecx, dword [ebp - 0x48]
call fcn.10022a50
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.10005335
jmp 0x1001ad83
jmp 0x1001ad83
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x4c]
push 0
push 0x3d29
call fcn.1001841b
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
Function at 0x1001b5f9
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x1001b679
lea eax, [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x1001b66d
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x24]
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.10022c47
mov ecx, eax
call fcn.10007f73
jmp 0x1001b677
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
jmp 0x1001b691
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x30], eax
push dword [ebp - 0x30]
push 1
push 0x4757
call fcn.1001910a
add esp, 0xc
mov esp, ebp
pop ebp
ret

Function at 0x1001b82d
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
movzx eax, byte [ebp + 0x18]
test eax, eax
je 0x1001b8b8
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push 1
push 0x6238
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.1001b909
add esp, 0x38
jmp 0x1001b905
lea eax, [ebp + 0x30]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
movzx eax, byte [eax]
test eax, eax
je 0x1001b8f4
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x1001b8f2
push 0x2861
push 0x4777
push 0
push 0x5b5f
push 0x2421
call fcn.1001aede
add esp, 0x14
jmp 0x1001b905
push 0x1a53
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov esp, ebp
pop ebp
ret
Function at 0x100280d2
Capabilities:
Set environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x10028153
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
lea eax, [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax]
test eax, eax
je 0x10028147
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [eax], 0
jmp 0x10028118
mov eax, dword [ebp - 8]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 8]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
cmp dword [eax], 8
jge 0x10028145
mov byte [ebp - 1], 0
push 0x7748
push 0x3bdc
lea eax, [ebp - 1]
push eax
push 1
push 0x6487
push 0
call fcn.1002800c
add esp, 0x18
jmp 0x1002810d
jmp 0x10028151
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
jmp 0x1002815b
push 1
call fcn.100277ec
pop ecx
mov esp, ebp
pop ebp
ret
Function at 0x1003b9e9
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005d519
call fcn.1005c388
sub esp, 0xc
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x14], ebx
je 0x1003bab6
mov dword [ebp + 0x14], 0x47a6
cmp dword [ebp + 0x14], 0x49b6
jle 0x1003ba51
xor esi, esi
xor edi, edi
xor ebx, ebx
lea eax, [ebx + edi]
mov ecx, 0x10075fb8
xor eax, esi
cdq
push edx
push eax
call fcn.10004fa9
inc ebx
cmp ebx, 0x6479
jl 0x1003ba21
inc edi
cmp edi, 0xcdf
jl 0x1003ba1f
inc esi
cmp esi, 0x2d76
jl 0x1003ba1d
mov ebx, dword [ebp - 0x14]
and dword [ebp - 4], 0
cmp dword [ebp + 0x14], 0x4579
jge 0x1003ba8c
mov edx, str.bznew_riggov_slsiv_napwervc_yjndbojts_cyfg_zmxm
mov ecx, 0x10075fb8
call fcn.1000736a
jmp 0x1003ba8c
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0xc], 0
je 0x1003ba9e
mov eax, dword [ebp + 8]
and dword [eax], 0
jmp 0x1003bae6
mov eax, dword [ebp + 0x18]
cmp dword [eax], 0xffffffff
je 0x1003bae6
push eax
push 0
push ecx
mov ecx, ebx
call fcn.10039dd5
add esp, 0xc
jmp 0x1003bae6
cmp byte [ebp + 0x10], 0
je 0x1003bad9
push 0
push 0x240e
push 0x2293
push 0x26ea
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
jmp 0x1003bae6
cmp byte [edx], 0
je 0x1003bae6
push 0
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x448b10
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x1a000]
push edi
or ebp, 0xffffffff
jmp 0x448b32
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x448b39
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x448b28
mov eax, 1
add ebx, ebx
jne 0x448b4b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x448b5c
jne 0x448b6c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x448b6c
dec eax
add ebx, ebx
jne 0x448b68
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x448b40
xor ecx, ecx
sub eax, 3
jb 0x448b84
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x448bf6
sar eax, 1
mov ebp, eax
jmp 0x448b8f
add ebx, ebx
jne 0x448b8f
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x448b9c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x448bc0
inc ecx
add ebx, ebx
jne 0x448bac
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x448ba1
jne 0x448bbd
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x448ba1
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x448be0
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x448bd1
jmp 0x448b2e
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x448be0
add edi, ecx
jmp 0x448b2e
pop esi
mov edi, esi
mov ecx, 0x921
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x448bfe
cmp byte [edi], 7
jne 0x448bfe
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 eax, ebx
loop 0x448c03
lea edi, [esi + 0x46000]
mov eax, dword [edi]
or eax, eax
je 0x448c7b
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x48990]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x48a08]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x448c30
mov ecx, edi
jns 0x448c5f
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 + 0x48a0c]
or eax, eax
je 0x448c75
mov dword [ebx], eax
add ebx, 4
jmp 0x448c4d
call dword [esi + 0x48a10]
popal
jmp 0x4150a0

Function at 0x484cd9
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x484a08
inc esi
sub esi, esi
call fcn.00484d15
add edx, edx
sub edx, 0x577ee845
xor dword [ecx], eax
or esi, esi
sub edx, 0x73b59111
add ecx, 2
and esi, esi
sub esi, 0x339db3b9
mov edx, 0xb531b9e8
cmp ecx, edi
jl fcn.00484cd9
or edx, esi
dec edx
ret
Function at 0x430005
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
mov eax, section..text
nop
nop
nop
nop
push 4
nop
nop
nop
nop
pop edi
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
je 0x430072
nop
mov ebx, 0x408f6c
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
nop
sub ecx, eax
xor edx, edx
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
mov esi, 0x205f1828
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x430060
nop
nop
mov eax, section..data
nop
nop
cmp eax, 0
nop
nop
je 0x4300d2
nop
nop
nop
nop
mov ebx, 0x42e3d0
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
push eax
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
div edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x3daf0cb5
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
loop 0x4300c0
nop
nop
popal
nop
nop
nop
nop
nop
jmp 0x401219
Function at 0x402a36
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
push ebx
push esi
lea eax, [ebp - 4]
push edi
push eax
mov eax, dword [0x7c5790]
or al, 8
xor ebx, ebx
push eax
push ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
jne 0x402aca
mov esi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyA]
mov edi, 0x105
jmp 0x402a87
cmp dword [ebp + 0x10], ebx
jne 0x402abe
lea eax, [ebp - 0x10c]
push ebx
push eax
push dword [ebp - 4]
call fcn.00402a36
test eax, eax
jne 0x402a99
lea eax, [ebp - 0x10c]
push edi
push eax
push ebx
push dword [ebp - 4]
call esi
test eax, eax
je 0x402a6e
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 2
call fcn.00405e87
cmp eax, ebx
je 0x402ad1
push ebx
push dword [0x7c5790]
push dword [ebp + 0xc]
push dword [ebp + 8]
call eax
jmp 0x402aca
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0xc
cmp dword [0x7c5790], ebx
jne 0x402ac7
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
test eax, eax
jne 0x402ac7
jmp 0x402aca
Function at 0x403046
Capabilities:
Write file on windows

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [0x79e484]
sub esi, dword [0x413bb0]
push edi
add esi, dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor ebx, ebx
add eax, 0x1f4
cmp esi, ebx
mov dword [0x7c56ec], eax
jle 0x4031b0
push dword [0x7a6494]
call fcn.004031f4
push ebx
push ebx
push dword [0x413bb0]
push dword [0x409018]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [0x7a6490], esi
mov dword [0x79e480], ebx
mov ebp, 0x792480
mov eax, dword [0x79e488]
mov edi, 0x4000
sub eax, dword [0x7a6494]
cmp eax, edi
jg 0x4030bb
mov edi, eax
mov esi, 0x79a480
push edi
push esi
call fcn.004031c2
test eax, eax
je 0x4031a2
add dword [0x7a6494], edi
mov dword [0x413bb8], esi
mov dword [0x413bbc], edi
cmp dword [0x7c56f0], ebx
je 0x403112
cmp dword [0x7c5780], ebx
jne 0x403112
mov eax, dword [0x7a6490]
push ebx
sub eax, dword [0x79e484]
sub eax, dword [esp + 0x1c]
add eax, dword [0x413bb0]
mov dword [0x79e480], eax
call fcn.00402bd3
pop ecx
push 0x413bb8
mov dword [0x413bc0], ebp
mov dword [0x413bc4], 0x8000
call fcn.00405f61
test eax, eax
jl 0x4031ab
mov esi, dword [0x413bc0]
sub esi, ebp
je 0x40316c
lea eax, [esp + 0x10]
push ebx
push eax
push esi
push ebp
push dword [0x409018]
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x4031a7
cmp esi, dword [esp + 0x10]
jne 0x4031a7
add dword [0x413bb0], esi
cmp dword [0x413bbc], ebx
jne 0x4030e1
jmp 0x403178
cmp dword [0x413bbc], ebx
jne 0x4031ab
cmp edi, ebx
je 0x4031ab
mov eax, dword [0x79e484]
mov ecx, eax
sub ecx, dword [0x413bb0]
add ecx, dword [esp + 0x18]
test ecx, ecx
jg 0x4030a5
push ebx
push ebx
push eax
push dword [0x409018]
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
jmp 0x4031b0
or eax, 0xffffffff
jmp 0x4031ba
push 0xfffffffffffffffe
jmp 0x4031ad
push 0xfffffffffffffffd
pop eax
jmp 0x4031ba
push 1
call fcn.00402bd3
pop ecx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret 4
Function at 0x4053c9
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
lea eax, [ebp - 0x10]
mov dword [0x7bcce8], 0x44
push eax
xor eax, eax
push 0x7bcce8
push eax
push eax
push eax
push eax
push eax
push eax
push dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x405404
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x10]
leave
ret 4

Function at 0x40548e
Capabilities:
Delete directory
Delete file
Enumerate files on windows
Enumerate files recursively

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
push esi
push edi
mov edi, dword [ebp + 8]
push edi
call fcn.0040573d
test byte [ebp + 0xc], 8
mov dword [ebp - 8], eax
je 0x4054c2
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
neg eax
sbb eax, eax
inc eax
add dword [0x7c5768], eax
jmp 0x405656
push ebx
mov ebx, dword [ebp + 0xc]
and ebx, 1
mov dword [ebp - 4], ebx
je 0x4054e0
test eax, eax
je 0x405601
test byte [ebp + 0xc], 2
je 0x405601
mov esi, 0x7b84e8
push edi
push esi
call fcn.00405b69
test ebx, ebx
je 0x4054fd
push str..
push esi
call sub.KERNEL32.dll_lstrcatA
jmp 0x405503
push edi
call fcn.004056a3
cmp byte [edi], 0
jne 0x405511
cmp byte [0x7b84e8], 0x5c
jne 0x40551c
push 0x409010
push edi
call sub.KERNEL32.dll_lstrcatA
push edi
call sub.KERNEL32.dll_lstrlenA
mov ebx, eax
lea eax, [ebp - 0x148]
push eax
push esi
add ebx, edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [ebp + 8], eax
je 0x4055f7
lea eax, [ebp - 0x11c]
push 0x3f
push eax
lea esi, [ebp - 0x11c]
call fcn.00405687
cmp byte [eax], 0
je 0x405562
cmp byte [ebp - 0x18], 0
je 0x405562
lea esi, [ebp - 0x18]
cmp byte [esi], 0x2e
jne 0x405578
mov al, byte [esi + 1]
test al, al
je 0x4055d6
cmp al, 0x2e
jne 0x405578
cmp byte [esi + 2], 0
je 0x4055d6
push esi
push ebx
call fcn.00405b69
test byte [ebp - 0x148], 0x10
je 0x40559d
mov eax, dword [ebp + 0xc]
and eax, 3
cmp al, 3
jne 0x4055d6
push dword [ebp + 0xc]
push edi
call fcn.0040548e
jmp 0x4055d6
push edi
call fcn.00405821
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x4055ce
test byte [ebp + 0xc], 4
je 0x4055c6
push edi
push 0xfffffffffffffff1
call fcn.00404f07
push 0
push edi
call fcn.004058b7
jmp 0x4055d6
inc dword [0x7c5768]
jmp 0x4055d6
push edi
push 0xfffffffffffffff2
call fcn.00404f07
lea eax, [ebp - 0x148]
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x405540
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_FindClose]
cmp dword [ebp - 4], 0
je 0x405601
and byte [ebx - 1], 0
xor esi, esi
pop ebx
cmp dword [ebp - 4], esi
je 0x405656
cmp dword [ebp - 8], esi
jne 0x405616
inc dword [0x7c5768]
jmp 0x405656
push edi
call fcn.00405e60
test eax, eax
je 0x405656
push edi
call fcn.0040565c
push edi
call fcn.00405821
push edi
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x40564e
test byte [ebp + 0xc], 4
je 0x40560e
push edi
push 0xfffffffffffffff1
call fcn.00404f07
push esi
push edi
call fcn.004058b7
jmp 0x405656
push edi
push 0xffffffffffffffe5
call fcn.00404f07
pop edi
pop esi
leave
ret 8