joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40e984
Capabilities:
Shutdown system

Disassembly:
add esp, 0xffffffec
push esp
push 0x28
call sub.KERNEL32.DLL_GetCurrentProcess
push eax
call sub.ADVAPI32.DLL_OpenProcessToken
test eax, eax
je 0x40e9d0
lea eax, [esp + 8]
push eax
push str.SeShutdownPrivilege
push 0
call sub.ADVAPI32.DLL_LookupPrivilegeValueA
mov dword [esp + 4], 1
mov dword [esp + 0x10], 2
push 0
push 0
push 0
lea edx, [esp + 0x10]
push edx
push 0
push dword [esp + 0x14]
call sub.ADVAPI32.DLL_AdjustTokenPrivileges
push 0x80000000
push 0xd
call sub.USER32.DLL_ExitWindowsEx
add esp, 0x14
ret

Function at 0x40ef9c
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
mov esi, 0x4a0728
push edi
push ebp
mov ebp, edx
cmp dword [esi + 4], 0
mov edi, ecx
mov ebx, eax
jne 0x40efb6
call fcn.0040ef64
mov eax, ebp
cmp edi, 8
jb 0x40f041
xor ebx, dword [eax]
xor edx, edx
mov dl, bl
sub edi, 8
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
xor edx, edx
mov ebx, ecx
mov dl, bl
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
xor edx, edx
mov ebx, ecx
mov dl, bl
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
xor edx, edx
mov ebx, ecx
mov dl, bl
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
xor edx, edx
mov ebx, ecx
xor ebx, dword [eax + 4]
add eax, 8
mov dl, bl
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
xor edx, edx
mov ebx, ecx
mov dl, bl
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
xor edx, edx
mov ebx, ecx
mov dl, bl
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
xor edx, edx
mov ebx, ecx
mov dl, bl
shr ebx, 8
mov ecx, dword [esi + edx*4]
xor ecx, ebx
cmp edi, 8
mov ebx, ecx
jae 0x40efc1
xor edx, edx
jmp 0x40f05b
mov ecx, ebx
xor cl, byte [eax + edx]
and ecx, 0xff
shr ebx, 8
mov ecx, dword [esi + ecx*4]
xor ecx, ebx
mov ebx, ecx
inc edx
cmp edi, edx
ja 0x40f045
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x40f15c
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffec
mov dword [esp], edx
mov edx, dword [esp]
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
xor edx, dword [eax + 0x204]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 4]
xor edx, dword [eax + 0x208]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [ecx + 8]
mov esi, dword [edx + 0xc]
xor ebx, dword [eax + 0x20c]
xor esi, dword [eax + 0x210]
xor edx, edx
mov ecx, esi
mov edi, esi
shr edi, 0x15
shl ecx, 0xb
or ecx, edi
mov edi, edx
and edi, 3
add ecx, ebx
xor ecx, dword [eax + edi*4 + 0x204]
mov ebp, ecx
mov edi, ecx
shr ebp, 8
and edi, 0xff
and ebp, 0xff
movzx edi, byte [eax + edi + 0x104]
movzx ebp, byte [eax + ebp + 0x104]
shl ebp, 8
or edi, ebp
mov ebp, ecx
shr ebp, 0x10
shr ecx, 0x18
and ebp, 0xff
and ecx, 0xff
movzx ebp, byte [eax + ebp + 0x104]
movzx ecx, byte [eax + ecx + 0x104]
shl ebp, 0x10
shl ecx, 0x18
or edi, ebp
or edi, ecx
mov ecx, ebx
xor edi, dword [esp + 4]
mov dword [esp + 0xc], edi
mov edi, ebx
shr edi, 0xf
shl ecx, 0x11
or ecx, edi
mov edi, edx
and edi, 3
xor ecx, esi
add ecx, dword [eax + edi*4 + 0x204]
mov ebp, ecx
mov edi, ecx
shr ebp, 8
and edi, 0xff
and ebp, 0xff
movzx edi, byte [eax + edi + 0x104]
movzx ebp, byte [eax + ebp + 0x104]
shl ebp, 8
or edi, ebp
mov ebp, ecx
shr ebp, 0x10
shr ecx, 0x18
and ebp, 0xff
and ecx, 0xff
movzx ebp, byte [eax + ebp + 0x104]
movzx ecx, byte [eax + ecx + 0x104]
shl ebp, 0x10
shl ecx, 0x18
or edi, ebp
or edi, ecx
xor edi, dword [esp + 8]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ecx, edi
mov esi, ecx
mov ebx, dword [esp + 0xc]
inc edx
cmp edx, 0x20
jl 0x40f1aa
mov edx, dword [esp + 0x10]
xor ebx, dword [eax + 0x204]
mov dword [edx], ebx
xor esi, dword [eax + 0x208]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 4], esi
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x10]
xor edx, dword [eax + 0x20c]
mov dword [ecx + 8], edx
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x10]
xor edx, dword [eax + 0x210]
mov dword [ecx + 0xc], edx
mov edx, dword [esp]
call fcn.0040f4a8
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x40f2fc
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffe0
mov ebx, eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
xor ecx, dword [ebx + 0x204]
mov dword [esp], ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
xor ecx, dword [ebx + 0x208]
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 8]
mov eax, dword [esp + 0xc]
xor esi, dword [ebx + 0x20c]
mov edi, dword [eax + 0xc]
xor edi, dword [ebx + 0x210]
push 0x10
push edx
lea eax, [esp + 0x18]
push eax
call fcn.00482810
add esp, 0xc
mov edx, 0x1f
mov eax, edi
mov ecx, edi
shr ecx, 0x15
shl eax, 0xb
or eax, ecx
mov ecx, edx
and ecx, 3
add eax, esi
xor eax, dword [ebx + ecx*4 + 0x204]
mov ebp, eax
mov ecx, eax
shr ebp, 8
and ecx, 0xff
and ebp, 0xff
movzx ecx, byte [ebx + ecx + 0x104]
movzx ebp, byte [ebx + ebp + 0x104]
shl ebp, 8
or ecx, ebp
mov ebp, eax
shr ebp, 0x10
shr eax, 0x18
and ebp, 0xff
and eax, 0xff
movzx ebp, byte [ebx + ebp + 0x104]
movzx eax, byte [ebx + eax + 0x104]
shl ebp, 0x10
shl eax, 0x18
or ecx, ebp
or ecx, eax
mov eax, esi
xor ecx, dword [esp]
mov dword [esp + 8], ecx
mov ecx, esi
shr ecx, 0xf
shl eax, 0x11
or eax, ecx
mov ecx, edx
and ecx, 3
xor eax, edi
add eax, dword [ebx + ecx*4 + 0x204]
mov ebp, eax
mov ecx, eax
shr ebp, 8
and ecx, 0xff
and ebp, 0xff
movzx ecx, byte [ebx + ecx + 0x104]
movzx ebp, byte [ebx + ebp + 0x104]
shl ebp, 8
or ecx, ebp
mov ebp, eax
shr ebp, 0x10
shr eax, 0x18
and ebp, 0xff
and eax, 0xff
movzx ebp, byte [ebx + ebp + 0x104]
movzx eax, byte [ebx + eax + 0x104]
shl ebp, 0x10
shl eax, 0x18
or ecx, ebp
or ecx, eax
xor ecx, dword [esp + 4]
mov dword [esp], esi
mov dword [esp + 4], edi
mov eax, ecx
mov edi, eax
mov esi, dword [esp + 8]
dec edx
test edx, edx
jge 0x40f358
mov eax, dword [esp + 0xc]
xor esi, dword [ebx + 0x204]
mov dword [eax], esi
xor edi, dword [ebx + 0x208]
mov edx, dword [esp + 0xc]
mov dword [edx + 4], edi
mov ecx, dword [esp]
mov eax, dword [esp + 0xc]
xor ecx, dword [ebx + 0x20c]
mov dword [eax + 8], ecx
mov eax, ebx
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0xc]
xor edx, dword [ebx + 0x210]
mov dword [ecx + 0xc], edx
lea edx, [esp + 0x10]
call fcn.0040f4a8
add esp, 0x20
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x40f4a8
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
mov ebx, 0x4a0728
xor ecx, ecx
movzx esi, byte [edx + ecx]
mov esi, dword [ebx + esi*4]
xor dword [eax + 0x204], esi
movzx esi, byte [edx + ecx + 1]
mov esi, dword [ebx + esi*4]
xor dword [eax + 0x208], esi
movzx esi, byte [edx + ecx + 2]
mov esi, dword [ebx + esi*4]
xor dword [eax + 0x20c], esi
movzx esi, byte [edx + ecx + 3]
mov esi, dword [ebx + esi*4]
xor dword [eax + 0x210], esi
add ecx, 4
cmp ecx, 0x10
jl 0x40f4b1
pop esi
pop ebx
ret
Function at 0x414734
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
add esp, 0xffffff70
xor eax, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], eax
xor edx, edx
mov dword [esp + 8], edx
mov esi, dword [esp + 8]
jmp 0x4147b1
xor eax, eax
mov edx, dword [esp]
add edx, esi
add edx, eax
mov cl, byte [edx + 1]
mov byte [esp + eax + 0x19], cl
mov bl, byte [edx]
sub bl, cl
mov byte [esp + eax + 0x18], bl
mov dl, byte [edx + 2]
sub dl, cl
mov byte [esp + eax + 0x1a], dl
add eax, 3
cmp eax, 0x78
jl 0x41475f
mov ebx, 3
mov cl, byte [esp + ebx + 0x18]
sub cl, byte [esp + ebx + 0x15]
movsx ecx, cl
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 8]
add dword [esp + edx*4 + 0xc], eax
inc ebx
cmp ebx, 0x78
jl 0x41478b
add esi, 0x780
mov eax, dword [esp + 4]
add eax, 0xffffff88
cmp esi, eax
jl 0x41475d
inc dword [esp + 8]
cmp dword [esp + 8], 2
jle 0x414757
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
cmp edx, eax
jb 0x4147dd
cmp eax, dword [esp + 0x14]
ja 0x4147dd
xor eax, eax
jmp 0x4147ef
cmp edx, dword [esp + 0x14]
ja 0x4147ea
mov eax, 1
jmp 0x4147ef
mov eax, 2
add esp, 0x90
pop esi
pop ebx
ret
Function at 0x4236d0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffbf0
mov dword [esp + 4], ecx
mov dword [esp], edx
mov edi, eax
push 5
push dword [esp + 4]
push dword [0x49edec]
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
push ebx
push dword [0x49edec]
call sub.KERNEL32.DLL_LoadResource
mov ebp, eax
push ebx
push dword [0x49edec]
call sub.KERNEL32.DLL_SizeofResource
mov ebx, eax
push ebx
call fcn.00481790
pop ecx
mov esi, eax
test esi, esi
jne 0x42372e
mov eax, dword [esp + 4]
xor edx, edx
mov dword [eax], edx
xor eax, eax
jmp 0x423847
push ebx
push ebp
push esi
call fcn.00482810
add esp, 0xc
xor edx, edx
xor ecx, ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esi]
shr eax, 0x10
cmp eax, 0xffff
lea eax, [esp + 0xc]
sete bl
push eax
mov eax, edi
lea ecx, [esp + 0xc]
mov edx, dword [esp + 4]
and ebx, 1
call fcn.00423908
test al, al
je 0x4237a2
mov ecx, esi
test bl, bl
je 0x42377a
mov eax, ecx
add eax, 8
mov ecx, eax
movsx eax, word [ecx + 0xe]
imul dword [esp + 8]
mov ebp, 0x64
cdq
idiv ebp
mov word [ecx + 0xe], ax
movsx eax, word [ecx + 0x10]
imul dword [esp + 0xc]
mov ebp, 0x64
cdq
idiv ebp
mov word [ecx + 0x10], ax
mov ebp, esi
test bl, bl
je 0x4237af
mov eax, 0xd
jmp 0x4237b4
mov eax, 9
add eax, eax
add ebp, eax
cmp word [ebp], 0xffff
jne 0x4237c7
mov edx, 2
jmp 0x4237d1
mov eax, ebp
call fcn.0040eab0
mov edx, eax
inc edx
add edx, edx
add ebp, edx
cmp word [ebp], 0xffff
jne 0x4237e4
mov ecx, 2
jmp 0x4237ee
mov eax, ebp
call fcn.0040eab0
mov ecx, eax
inc ecx
add ecx, ecx
lea edx, [esp + 0x10]
add ebp, ecx
mov ecx, 0x10000000
mov eax, ebp
call fcn.0040ea34
push 1
push dword [esp + 4]
lea ecx, [esp + 0x218]
lea edx, [esp + 0x18]
mov eax, edi
call fcn.0042328c
lea eax, [esp + 0x210]
push eax
call fcn.00482bd4
pop ecx
mov edx, dword [esp + 4]
mov dword [edx], eax
cmp dword [esp + 8], 0x64
jne 0x423845
cmp dword [esp + 0xc], 0x64
jne 0x423845
push esi
call fcn.004817a0
pop ecx
xor esi, esi
mov eax, esi
add esp, 0x410
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x4278f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
cmp dword [ebp - 0xc], 0
mov ebx, dword [ebp + 8]
jg 0x427910
xor eax, eax
jmp 0x4279d1
mov edx, dword [ebp - 0xc]
test edx, edx
jns 0x42791a
add edx, 0xf
sar edx, 4
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
add eax, 4
mov ecx, dword [eax]
xor ecx, dword [edx]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 4]
xor ecx, dword [edx + 4]
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 8]
xor ecx, dword [edx + 8]
mov dword [ebp - 0x1c], ecx
mov ecx, ebx
mov eax, dword [eax + 0xc]
xor eax, dword [edx + 0xc]
lea edx, [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 4]
call fcn.00427d6c
add dword [ebp - 8], 0x10
mov edx, dword [ebp - 0x14]
dec edx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jle 0x4279ad
mov eax, ebx
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
xor ecx, dword [edx]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + 4]
xor ecx, dword [edx + 4]
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 8]
xor ecx, dword [edx + 8]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + 0xc]
xor eax, dword [edx + 0xc]
mov dword [ebp - 0x18], eax
add ebx, 0x10
lea edx, [ebp - 0x24]
mov ecx, ebx
mov eax, dword [ebp - 4]
call fcn.00427d6c
add dword [ebp - 8], 0x10
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0
jg 0x427969
mov eax, dword [ebp - 4]
add eax, 4
mov edx, ebx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x14]
shl eax, 4
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4279d8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
mov esi, ecx
mov ebx, edx
mov dword [ebp - 4], eax
test ebx, ebx
je 0x4279ef
test esi, esi
jg 0x4279f6
xor eax, eax
jmp 0x427aac
push 0x10
mov edx, dword [ebp - 4]
add edx, 4
push edx
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00482810
add esp, 0xc
test esi, esi
jns 0x427a12
add esi, 0xf
sar esi, 4
mov dword [ebp - 8], esi
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x427a91
lea ecx, [ebp - 0x1c]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0042839c
lea edx, [ebp - 0x2c]
mov eax, edx
mov ecx, dword [eax]
xor dword [ebp - 0x1c], ecx
mov ecx, dword [eax + 4]
xor dword [ebp - 0x18], ecx
mov ecx, dword [eax + 8]
xor dword [ebp - 0x14], ecx
mov eax, dword [eax + 0xc]
xor dword [ebp - 0x10], eax
mov eax, edx
mov edx, ebx
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x18]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x14]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0xc], ecx
add ebx, 0x10
add dword [ebp + 8], 0x10
dec dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0
jg 0x427a24
push 0x10
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 4]
add eax, 4
push eax
call fcn.00482810
add esp, 0xc
mov eax, dword [ebp - 8]
shl eax, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x427cd0
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff0
mov edi, eax
mov esi, 1
xor eax, eax
xor ecx, ecx
mov edx, esi
mov ebx, ecx
shl edx, 4
shl ebx, 2
add edx, edi
add edx, ebx
xor ebx, ebx
add edx, 0x14
movzx ebp, byte [edx + 1]
mov bl, byte [edx]
lea ebp, [ebp*4 + 0x4a5106]
lea ebx, [ebx*4 + 0x4a4d06]
mov bl, byte [ebx + eax]
xor bl, byte [ebp + eax]
movzx ebp, byte [edx + 2]
movzx edx, byte [edx + 3]
lea ebp, [ebp*4 + 0x4a5506]
lea edx, [edx*4 + 0x4a5906]
xor bl, byte [ebp + eax]
xor bl, byte [edx + eax]
lea edx, [esp + ecx*4]
mov byte [edx + eax], bl
inc ecx
cmp ecx, 4
jl 0x427ce2
inc eax
cmp eax, 4
jl 0x427ce0
mov ecx, esi
push 0x10
shl ecx, 4
lea eax, [esp + 4]
add ecx, edi
push eax
add ecx, 0x14
push ecx
call fcn.00482810
add esp, 0xc
inc esi
cmp esi, 0xa
jl 0x427cde
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x42a914
Capabilities:
Hash data using sha1

Disassembly:
mov dword [eax], 0x67452301
xor edx, edx
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
mov dword [eax + 0x10], 0xc3d2e1f0
mov dword [eax + 0x18], edx
mov dword [eax + 0x14], edx
ret
Function at 0x4379a6
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov eax, dword [0x4a90b8]
push ebx
add esp, 0xfffffbec
cmp dword [eax + 0x30], 0
je 0x437aaf
push 1
push 0
mov edx, 0x4a84b8
mov eax, 0x4adfd0
xor ecx, ecx
call fcn.00457b40
dec eax
jne 0x437aaf
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, 0x4adfd0
mov edx, esp
lea ecx, [esp + 4]
call fcn.004592cc
cmp dword [esp + 4], 0
je 0x437aaf
push 0x400
push 0
lea edx, [esp + 0x1c]
xor ecx, ecx
mov eax, dword [0x4a90b8]
call fcn.0040e2b8
lea edx, [esp + 0x14]
push edx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
je 0x437a4c
lea edx, [esp + 0x14]
lea eax, [esp + 8]
call fcn.004554d4
xor eax, eax
mov al, byte [esp + 8]
cmp eax, 0x43
je 0x437a41
cmp eax, 0x4e
jne 0x437a4c
push dword [esp]
call fcn.00481004
pop ecx
jmp 0x437aaf
push 0x495bce
lea edx, [esp + 0x18]
push edx
call fcn.004849c0
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x437a8c
lea eax, [esp + 0x14]
push eax
mov eax, 0x1f6
call fcn.00410804
push eax
push 0x4a84b8
call fcn.0044142c
add esp, 0xc
push dword [esp]
call fcn.00481004
pop ecx
jmp 0x437aaf
push ebx
push dword [esp + 8]
push 1
push dword [esp + 0xc]
call fcn.00484eac
add esp, 0x10
push ebx
call fcn.00484510
pop ecx
push dword [esp]
call fcn.00481004
pop ecx
add esp, 0x414
pop ebx
ret
Function at 0x43b020
Capabilities:
Delete directory
Get common file path

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x43b029
mov eax, dword [ebp - 4]
add esp, 0xffffff34
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xc30], edx
mov ebx, eax
mov esi, dword [ebp + 8]
mov eax, 0x4959ec
call fcn.00482ea0
lea edx, [ebp - 0x1034]
mov eax, str.Rar_DIXXXXXX
call fcn.004629ac
test al, al
jne 0x43b07e
xor eax, eax
mov edx, dword [ebp - 0xc2c]
mov dword fs:[0], edx
jmp 0x43b207
lea ecx, [ebp - 0x1434]
push ecx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x1034]
push eax
call fcn.00484424
pop ecx
call fcn.0044f218
mov ecx, 0x4a88b8
mov edx, 0x4a84b8
mov eax, 0x4adfd0
call fcn.0045900c
mov edx, dword [0x4ae1d8]
mov dword [0x4a7c9c], edx
call fcn.0044fbdc
mov dword [0x4a76ec], 2
mov ecx, dword [ebp - 0xc30]
mov edx, ebx
mov eax, dword [0x4a90b8]
call fcn.0040e1d4
mov eax, 0x4adfd0
xor edx, edx
call fcn.00454abc
xor ebx, ebx
mov word [ebp - 0xc1c], 8
lea eax, [ebp - 0xc08]
call fcn.00410d98
inc dword [ebp - 0xc10]
mov edx, 0x495b9e
mov word [ebp - 0xc1c], 0x14
lea eax, [ebp - 0xc08]
call fcn.00410e38
lea eax, [ebp - 0x14bc]
call fcn.00411d14
lea eax, [ebp - 0x1498]
call fcn.00411d14
lea eax, [ebp - 0x1474]
call fcn.00411d14
jmp 0x43b19b
cmp dword [ebp - 0x14c0], 0
jne 0x43b19b
call fcn.0040e9e0
test eax, eax
je 0x43b181
cmp word [ebp - 0x1cd0], 0
je 0x43b181
test esi, esi
je 0x43b181
lea edx, [ebp - 0xc34]
push edx
push esi
push 0x400
lea ecx, [ebp - 0x1cd0]
push ecx
call sub.KERNEL32.DLL_GetFullPathNameW
jmp 0x43b18a
test esi, esi
je 0x43b18a
mov word [esi], 0
lea eax, [ebp - 0x20d0]
mov edx, edi
call fcn.00409cf4
mov bl, 1
jmp 0x43b1b2
lea edx, [ebp - 0x20d0]
lea eax, [ebp - 0xc08]
xor ecx, ecx
call fcn.00410eac
test al, al
jne 0x43b146
lea eax, [ebp - 0x1434]
push eax
call fcn.00484424
pop ecx
test bl, bl
jne 0x43b1cf
lea edx, [ebp - 0x1034]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
mov byte [0x4adb40], 0
mov eax, 0x4adb14
call fcn.00441fd8
mov eax, ebx
mov edx, 2
push eax
lea eax, [ebp - 0xc08]
dec dword [ebp - 0xc10]
call fcn.00410e08
pop eax
mov edx, dword [ebp - 0xc2c]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x43c2d8
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff004
push eax
add esp, 0xfffff6cc
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov edi, eax
mov ebx, dword [ebp + 0xc]
lea esi, [ebp - 0x44]
push 0x3c
push 0
push esi
call fcn.00482880
add esp, 0xc
mov dword [esi], 0x3c
mov dword [esi + 4], 0x500
test bl, bl
jne 0x43c31b
or dword [esi + 4], 0x40
mov dword [esi + 0x10], edi
lea edx, [ebp - 0x94]
mov ecx, 0x50
mov eax, dword [esi + 0x10]
call fcn.0043c509
test al, al
je 0x43c33d
lea eax, [ebp - 0x94]
jmp 0x43c33f
xor eax, eax
mov dword [esi + 0xc], eax
mov edx, dword [ebp - 8]
mov dword [esi + 0x18], edx
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x14], ecx
push 0x496040
push edi
call fcn.00482b61
add esp, 8
test eax, eax
jne 0x43c372
push 0x496044
push edi
call fcn.00482b61
add esp, 8
test eax, eax
je 0x43c39b
mov eax, edi
call fcn.0040a924
cmp edi, eax
jne 0x43c39b
push edi
push str.._s
lea edx, [ebp - 0x894]
push edx
call fcn.00486578
add esp, 0xc
lea ecx, [ebp - 0x894]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x1c], 1
call fcn.0040e9e0
test eax, eax
je 0x43c458
mov eax, dword [ebp - 4]
call fcn.0040d7cc
cmp word [eax], 0
je 0x43c458
xor edi, edi
push 0x495ce3
call sub.KERNEL32.DLL_GetModuleHandleA
test eax, eax
je 0x43c3de
push str.ShellExecuteExW
push eax
call sub.KERNEL32.DLL_GetProcAddress
mov edi, eax
test edi, edi
jne 0x43c3e9
xor eax, eax
jmp 0x43c500
mov edx, dword [ebp - 4]
mov dword [esi + 0x10], edx
mov eax, dword [esi + 0xc]
test eax, eax
je 0x43c40f
lea edx, [ebp - 0x934]
mov ecx, 0x10000000
call fcn.0040ea48
lea edx, [ebp - 0x934]
mov dword [esi + 0xc], edx
cmp dword [ebp - 8], 0
je 0x43c431
lea edx, [ebp - 0x1134]
mov ecx, 0x10000000
mov eax, dword [ebp - 8]
call fcn.0040ea48
lea eax, [ebp - 0x1134]
mov dword [esi + 0x18], eax
cmp dword [ebp + 0x10], 0
je 0x43c453
lea edx, [ebp - 0x1934]
mov ecx, 0x10000000
mov eax, dword [ebp + 0x10]
call fcn.0040ea48
lea edx, [ebp - 0x1934]
mov dword [esi + 0x14], edx
push esi
call edi
jmp 0x43c45e
push esi
call sub.SHELL32.DLL_ShellExecuteExA
test eax, eax
je 0x43c46e
call sub.KERNEL32.DLL_GetLastError
cmp eax, 0x483
jne 0x43c475
xor eax, eax
jmp 0x43c500
test bl, bl
jne 0x43c4fe
mov eax, dword [esi + 0x38]
test eax, eax
je 0x43c4bd
mov edx, dword [0x495a30]
mov dword [edx*4 + 0x4b3464], eax
mov ecx, dword [0x495a30]
mov eax, dword [esi + 0x20]
mov dword [ecx*4 + 0x4b34a4], eax
mov edx, dword [0x495a30]
inc edx
and edx, 0x8000000f
jns 0x43c4b5
dec edx
or edx, 0xfffffff0
inc edx
mov dword [0x495a30], edx
jmp 0x43c4f0
xor ebx, ebx
mov eax, dword [ebx*4 + 0x4b34a4]
cmp eax, dword [esi + 0x20]
jne 0x43c4ea
push 0
push dword [ebx*4 + 0x4b3464]
call sub.KERNEL32.DLL_WaitForSingleObject
cmp eax, 0x102
jne 0x43c4ea
mov edx, dword [ebx*4 + 0x4b3464]
mov dword [esi + 0x38], edx
inc ebx
cmp ebx, 0x10
jl 0x43c4bf
cmp dword [ebp + 8], 0
je 0x43c4fe
mov ecx, dword [ebp + 8]
mov eax, dword [esi + 0x38]
mov dword [ecx], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
Function at 0x43e22f
Capabilities:
Read .ini file

Disassembly:
add esp, 0xfffffb38
cmp byte [0x49ede8], 0
jne 0x43e304
push 0x400
lea eax, [esp + 4]
push eax
push 0
call sub.KERNEL32.DLL_GetModuleFileNameA
push str.rar.ini
lea eax, [esp + 4]
call fcn.0040a924
push eax
call fcn.00482a00
add esp, 8
push esp
push 0x64
lea edx, [esp + 0x408]
push edx
push 0x495a5d
push str.regname
push str.registration
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push esp
push 0x64
lea ecx, [esp + 0x46c]
push ecx
push 0x495a5d
push str.regcode
push str.registration
call sub.KERNEL32.DLL_GetPrivateProfileStringA
push esp
push 0
push str.informed
push str.registration
call sub.KERNEL32.DLL_GetPrivateProfileIntA
cmp byte [esp + 0x400], 0
je 0x43e304
cmp byte [esp + 0x464], 0
je 0x43e304
test eax, eax
jne 0x43e304
push esp
push 0x495c83
push str.informed
push str.registration
call sub.KERNEL32.DLL_WritePrivateProfileStringA
push 0
push 0x442a48
push dword [0x4ad5a8]
push str.REREG
push dword [0x49edec]
call sub.USER32.DLL_DialogBoxParamA
add esp, 0x4c8
ret