joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40b60c
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x40b615
mov eax, dword [ebp - 4]
add esp, 0xfffffb0c
push ebx
push esi
push edi
mov ebx, edx
mov esi, eax
lea edi, [ebp - 0x20f8]
mov eax, 0x4a0fc0
call fcn.00495388
lea eax, [ebp - 0x10e4]
call fcn.004137a4
lea eax, [ebp - 0x10b8]
call fcn.004137a4
lea eax, [ebp - 0x108c]
call fcn.004137a4
push 0
lea ecx, [ebp - 0x1cf8]
mov edx, ebx
mov eax, esi
call fcn.004128bc
test al, al
jne 0x40b689
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b83e
cmp byte [ebp - 0x1cf8], 0
je 0x40b69b
cmp byte [ebp - 0x1060], 0
jne 0x40b6af
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b83e
lea eax, [ebp - 0x1cf8]
call fcn.0040ba60
lea edx, [ebp - 0x1060]
call fcn.0040ee00
test eax, eax
je 0x40b6df
mov eax, esi
call fcn.0040ba60
lea edx, [ebp - 0x1060]
call fcn.0040ee00
test eax, eax
je 0x40b6f3
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b83e
xor ebx, ebx
push 0x400
push esi
push edi
call fcn.00495138
add esp, 0xc
push ebx
push str.rtmp_d
mov eax, edi
call fcn.0040ba60
push eax
call fcn.00497eb8
add esp, 0xc
mov eax, edi
xor edx, edx
call fcn.0040a504
test al, al
je 0x40b732
add ebx, 0x7b
cmp ebx, 0x2710
jl 0x40b6f5
mov eax, edi
xor edx, edx
call fcn.0040a504
test al, al
je 0x40b753
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b83e
push 0x400
push esi
lea ecx, [ebp - 0x24f8]
push ecx
call fcn.00495138
add esp, 0xc
lea eax, [ebp - 0x1cf8]
call fcn.0040ba60
push eax
lea eax, [ebp - 0x24f8]
call fcn.0040ba60
push eax
call fcn.00494f58
add esp, 8
push edi
lea edx, [ebp - 0x24f8]
push edx
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
jne 0x40b7ad
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b83e
mov word [ebp - 0xc34], 8
lea eax, [ebp - 0xc20]
call fcn.00409448
inc dword [ebp - 0xc28]
mov word [ebp - 0xc34], 0x14
xor ebx, ebx
xor edx, edx
mov eax, esi
call fcn.0040a504
test al, al
jne 0x40b7f0
lea eax, [ebp - 0xc20]
xor ecx, ecx
mov edx, esi
call fcn.004096c0
mov ebx, eax
lea eax, [ebp - 0x24f8]
push eax
push edi
call sub.KERNEL32.DLL_MoveFileA
test bl, bl
je 0x40b817
lea eax, [ebp - 0xc20]
call fcn.004097f4
lea eax, [ebp - 0xc20]
call fcn.00409888
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 0xc20]
dec dword [ebp - 0xc28]
call fcn.004094f8
pop eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x40faf8
Capabilities:
Check for time delay via gettickcount

Disassembly:
cmp byte [0x4a1bac], 0
jne 0x40fb11
call fcn.0049d37c
mov dword [0x4a1ba8], eax
inc byte [0x4a1bac]
call fcn.0049d37c
sub eax, dword [0x4a1ba8]
cmp eax, 0x64
jle 0x40fb4d
cmp dword [0x4c4df0], 0
je 0x40fb48
mov eax, 0x4af120
mov edx, 0xff
call fcn.0042cf98
mov eax, 0x4af120
mov edx, 0xff
call fcn.0042cf80
call fcn.0044844c
mov eax, dword [0x4a1ba4]
test eax, eax
je 0x40fb5c
push eax
call sub.KERNEL32.DLL_Sleep
ret
Function at 0x40ff6c
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 0x40ffb8
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 0x410774
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov edi, 0x4b1070
push ebp
mov ebp, edx
cmp dword [edi + 4], 0
mov esi, ecx
mov ebx, eax
jne 0x41078e
call fcn.0041073c
mov eax, ebp
jmp 0x4107a6
mov edx, ebx
xor ecx, ecx
xor dl, byte [eax]
dec esi
mov cl, dl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
inc eax
mov ebx, edx
test esi, esi
jbe 0x4107ae
test al, 7
jne 0x410792
cmp esi, 8
jb 0x410837
xor ebx, dword [eax]
xor ecx, ecx
mov cl, bl
sub esi, 8
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
xor ecx, ecx
mov ebx, edx
mov cl, bl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
xor ecx, ecx
mov ebx, edx
mov cl, bl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
xor ecx, ecx
mov ebx, edx
mov cl, bl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
xor ecx, ecx
mov ebx, edx
xor ebx, dword [eax + 4]
add eax, 8
mov cl, bl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
xor ecx, ecx
mov ebx, edx
mov cl, bl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
xor ecx, ecx
mov ebx, edx
mov cl, bl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
xor ecx, ecx
mov ebx, edx
mov cl, bl
shr ebx, 8
mov edx, dword [edi + ecx*4]
xor edx, ebx
cmp esi, 8
mov ebx, edx
jae 0x4107b7
xor edx, edx
jmp 0x410851
mov ecx, ebx
xor cl, byte [eax + edx]
and ecx, 0xff
shr ebx, 8
mov ecx, dword [edi + ecx*4]
xor ecx, ebx
mov ebx, ecx
inc edx
cmp esi, edx
ja 0x41083b
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x410924
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 0x410972
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.00410c70
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x410ac4
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.00494d68
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 0x410b20
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.00410c70
add esp, 0x20
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x410c70
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
mov ebx, 0x4b1070
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 0x410c79
pop esi
pop ebx
ret
Function at 0x416938
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 0x4169b5
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 0x416963
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 0x41698f
add esi, 0x780
mov eax, dword [esp + 4]
add eax, 0xffffff88
cmp esi, eax
jl 0x416961
inc dword [esp + 8]
cmp dword [esp + 8], 2
jle 0x41695b
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
cmp edx, eax
jb 0x4169e1
cmp eax, dword [esp + 0x14]
ja 0x4169e1
xor eax, eax
jmp 0x4169f3
cmp edx, dword [esp + 0x14]
ja 0x4169ee
mov eax, 1
jmp 0x4169f3
mov eax, 2
add esp, 0x90
pop esi
pop ebx
ret

Function at 0x416ffc
Capabilities:
Create thread

Disassembly:
push ebx
push ecx
push esp
push 0
push edx
push eax
push 0x10000
push 0
call sub.KERNEL32.DLL_CreateThread
mov ebx, eax
test ebx, ebx
jne 0x41703d
mov edx, str.CreateThread_failed
mov eax, 0x4af120
call fcn.0042cdfc
mov eax, 0x4af120
call fcn.0042d020
mov eax, 0x4af120
mov edx, 2
call fcn.0042cf80
mov eax, ebx
pop edx
pop ebx
ret
Function at 0x428708
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 [0x4af754]
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
push ebx
push dword [0x4af754]
call sub.KERNEL32.DLL_LoadResource
mov ebp, eax
push ebx
push dword [0x4af754]
call sub.KERNEL32.DLL_SizeofResource
mov ebx, eax
push ebx
call fcn.00493ce8
pop ecx
mov esi, eax
test esi, esi
jne 0x428766
mov eax, dword [esp + 4]
xor edx, edx
mov dword [eax], edx
xor eax, eax
jmp 0x42887f
push ebx
push ebp
push esi
call fcn.00494d68
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.00428940
test al, al
je 0x4287da
mov ecx, esi
test bl, bl
je 0x4287b2
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 0x4287e7
mov eax, 0xd
jmp 0x4287ec
mov eax, 9
add eax, eax
add ebp, eax
cmp word [ebp], 0xffff
jne 0x4287ff
mov edx, 2
jmp 0x428809
mov eax, ebp
call fcn.00410228
mov edx, eax
inc edx
add edx, edx
add ebp, edx
cmp word [ebp], 0xffff
jne 0x42881c
mov ecx, 2
jmp 0x428826
mov eax, ebp
call fcn.00410228
mov ecx, eax
inc ecx
add ecx, ecx
lea edx, [esp + 0x10]
add ebp, ecx
mov ecx, 0x10000000
mov eax, ebp
call fcn.0041001c
push 1
push dword [esp + 4]
lea ecx, [esp + 0x218]
lea edx, [esp + 0x18]
mov eax, edi
call fcn.004282c4
lea eax, [esp + 0x210]
push eax
call fcn.004950bc
pop ecx
mov edx, dword [esp + 4]
mov dword [edx], eax
cmp dword [esp + 8], 0x64
jne 0x42887d
cmp dword [esp + 0xc], 0x64
jne 0x42887d
push esi
call fcn.00493cf8
pop ecx
xor esi, esi
mov eax, esi
add esp, 0x410
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x42ce78
Capabilities:
Get common file path

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffa00
mov esi, ecx
mov ebx, edx
mov edi, eax
push esi
mov eax, 0x1f6
call fcn.0041202c
push eax
test ebx, ebx
je 0x42ce9c
cmp byte [ebx], 0
jne 0x42ce9e
xor ebx, ebx
push ebx
call fcn.00448a7c
add esp, 0xc
call sub.KERNEL32.DLL_GetLastError
cmp eax, 3
jne 0x42cf15
push esi
call fcn.00494f88
pop ecx
mov ebx, eax
mov eax, esi
call fcn.0040c494
test al, al
jne 0x42cedc
push esp
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
push esp
call fcn.00494f88
pop ecx
add eax, ebx
inc eax
mov ebx, eax
cmp ebx, 0x104
jle 0x42cf15
push 0x104
mov eax, 0x564
call fcn.0041202c
push eax
lea edx, [esp + 0x408]
push edx
call fcn.00497eb8
add esp, 0xc
mov edx, 1
lea eax, [esp + 0x400]
call fcn.0044e4e4
mov eax, edi
call fcn.0042d020
add esp, 0x600
pop edi
pop esi
pop ebx
ret
Function at 0x42d14c
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 0x42d16c
xor eax, eax
jmp 0x42d22d
mov edx, dword [ebp - 0xc]
test edx, edx
jns 0x42d176
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.0042d5c8
add dword [ebp - 8], 0x10
mov edx, dword [ebp - 0x14]
dec edx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jle 0x42d209
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.0042d5c8
add dword [ebp - 8], 0x10
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0
jg 0x42d1c5
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 0x42d234
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 0x42d24b
test esi, esi
jg 0x42d252
xor eax, eax
jmp 0x42d308
push 0x10
mov edx, dword [ebp - 4]
add edx, 4
push edx
lea ecx, [ebp - 0x2c]
push ecx
call fcn.00494d68
add esp, 0xc
test esi, esi
jns 0x42d26e
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 0x42d2ed
lea ecx, [ebp - 0x1c]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0042dbf8
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 0x42d280
push 0x10
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 4]
add eax, 4
push eax
call fcn.00494d68
add esp, 0xc
mov eax, dword [ebp - 8]
shl eax, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x42d52c
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 + 0x4b6256]
lea ebx, [ebx*4 + 0x4b5e56]
mov bl, byte [ebx + eax]
xor bl, byte [ebp + eax]
movzx ebp, byte [edx + 2]
movzx edx, byte [edx + 3]
lea ebp, [ebp*4 + 0x4b6656]
lea edx, [edx*4 + 0x4b6a56]
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 0x42d53e
inc eax
cmp eax, 4
jl 0x42d53c
mov ecx, esi
push 0x10
shl ecx, 4
lea eax, [esp + 4]
add ecx, edi
push eax
add ecx, 0x14
push ecx
call fcn.00494d68
add esp, 0xc
inc esi
cmp esi, 0xa
jl 0x42d53a
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x430190
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 0x43de2d
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebx
mov eax, dword [0x4bbab4]
push esi
add esp, 0xfffffbe8
cmp dword [eax + 0x30], 0
je 0x43dfcd
push 1
push 0
mov edx, 0x4baeb4
mov eax, 0x4c319c
xor ecx, ecx
call fcn.00461128
dec eax
jne 0x43dfcd
xor edx, edx
xor eax, eax
mov dword [esp], edx
xor edx, edx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
cmp byte [0x4b87d4], 0
je 0x43de90
push 1
lea ecx, [esp + 0xc]
lea edx, [esp + 8]
mov eax, 0x4c319c
call fcn.00462c20
jmp 0x43dea4
push 1
lea ecx, [esp + 0xc]
lea edx, [esp + 4]
mov eax, 0x4c319c
call fcn.00462b20
cmp dword [esp + 8], 0
je 0x43dfcd
push 0x400
push 0
lea edx, [esp + 0x20]
xor ecx, ecx
mov eax, dword [0x4bbab4]
call fcn.0040f868
lea eax, [esp + 0x18]
push eax
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
je 0x43df00
lea edx, [esp + 0x18]
lea eax, [esp + 0xc]
call fcn.0045e910
xor eax, eax
mov al, byte [esp + 0xc]
cmp eax, 0x43
je 0x43def2
cmp eax, 0x4e
jne 0x43df00
push dword [esp]
call fcn.0049355c
pop ecx
jmp 0x43dfcd
push 0x4a4eed
lea edx, [esp + 0x1c]
push edx
call fcn.00496e90
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x43df43
lea eax, [esp + 0x18]
push eax
mov eax, 0x1f6
call fcn.0041202c
push eax
push 0x4baeb4
call fcn.00448a7c
add esp, 0xc
push dword [esp]
call fcn.0049355c
pop ecx
jmp 0x43dfcd
cmp byte [0x4b87d4], 0
je 0x43dfa0
push ebx
push 0xff
call fcn.00498c18
add esp, 8
push ebx
push 0xfe
call fcn.00498c18
add esp, 8
xor esi, esi
cmp esi, dword [esp + 8]
jge 0x43dfb3
push ebx
mov eax, dword [esp + 8]
movzx edx, word [eax + esi*2]
push edx
call fcn.00498c18
add esp, 8
push ebx
mov ecx, dword [esp + 8]
movzx eax, word [ecx + esi*2]
sar eax, 8
push eax
call fcn.00498c18
add esp, 8
inc esi
cmp esi, dword [esp + 8]
jl 0x43df70
jmp 0x43dfb3
push ebx
push dword [esp + 0xc]
push 1
push dword [esp + 0xc]
call fcn.004972a8
add esp, 0x10
push ebx
call fcn.00496994
pop ecx
push dword [esp]
call fcn.0049356c
pop ecx
push dword [esp + 4]
call fcn.0049356c
pop ecx
add esp, 0x418
pop esi
pop ebx
ret
Function at 0x442425
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 0x44242e
mov eax, dword [ebp - 4]
add esp, 0xfffffb1c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0xc30], edx
mov ebx, eax
mov esi, dword [ebp + 8]
mov eax, 0x4a4ca0
call fcn.00495388
lea edx, [ebp - 0x1034]
mov eax, str.Rar_DIXXXXXX
call fcn.0046e83c
test al, al
jne 0x442483
xor eax, eax
mov edx, dword [ebp - 0xc2c]
mov dword fs:[0], edx
jmp 0x44260e
lea ecx, [ebp - 0x1434]
push ecx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
lea eax, [ebp - 0x1034]
push eax
call fcn.004968ec
pop ecx
call fcn.00456dc0
mov ecx, 0x4bb2b4
mov edx, 0x4baeb4
mov eax, 0x4c319c
call fcn.00462710
mov edx, dword [0x4c33a4]
mov dword [0x4b9a6c], edx
call fcn.00457920
mov dword [0x4b9084], 2
mov ecx, dword [ebp - 0xc30]
mov edx, ebx
mov eax, dword [0x4bbab4]
call fcn.0040f784
mov eax, 0x4c319c
xor ecx, ecx
xor edx, edx
call fcn.0045d718
xor ebx, ebx
mov word [ebp - 0xc1c], 8
lea eax, [ebp - 0xc08]
call fcn.004126ec
inc dword [ebp - 0xc10]
mov edx, 0x4a4eb5
mov word [ebp - 0xc1c], 0x14
lea eax, [ebp - 0xc08]
call fcn.0041278c
lea eax, [ebp - 0x18d4]
call fcn.004137a4
lea eax, [ebp - 0x18a8]
call fcn.004137a4
lea eax, [ebp - 0x187c]
call fcn.004137a4
jmp 0x4425a2
cmp byte [ebp - 0x18d8], 0
jne 0x4425a2
call fcn.0040ffc8
test eax, eax
je 0x442588
cmp word [ebp - 0x20e8], 0
je 0x442588
test esi, esi
je 0x442588
lea edx, [ebp - 0xc34]
push edx
push esi
push 0x400
lea ecx, [ebp - 0x20e8]
push ecx
call sub.KERNEL32.DLL_GetFullPathNameW
jmp 0x442591
test esi, esi
je 0x442591
mov word [esi], 0
lea eax, [ebp - 0x24e8]
mov edx, edi
call fcn.0040a9a4
mov bl, 1
jmp 0x4425b9
lea edx, [ebp - 0x24e8]
lea eax, [ebp - 0xc08]
xor ecx, ecx
call fcn.00412800
test al, al
jne 0x44254d
lea eax, [ebp - 0x1434]
push eax
call fcn.004968ec
pop ecx
test bl, bl
jne 0x4425d6
lea edx, [ebp - 0x1034]
push edx
call sub.KERNEL32.DLL_RemoveDirectoryA
mov byte [0x4c29f0], 0
mov eax, 0x4c29c4
call fcn.00449644
mov eax, ebx
mov edx, 2
push eax
lea eax, [ebp - 0xc08]
dec dword [ebp - 0xc10]
call fcn.0041275c
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