joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40a6ac
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9b0
push ebx
push esi
push edi
mov edi, eax
mov eax, 0x498e90
call fcn.0048dbf8
mov word [ebp - 0x30], 8
lea eax, [ebp - 0x10]
mov edx, edi
call fcn.0040e518
inc dword [ebp - 0x24]
lea eax, [ebp - 0x1c]
mov word [ebp - 0x30], 0x14
mov word [ebp - 0x30], 0x20
mov edx, 0x10000
call fcn.0040289c
inc dword [ebp - 0x24]
or esi, 0xffffffff
mov word [ebp - 0x30], 0x14
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
cmp dword [0x4b982c], 0
je 0x40a735
lea eax, [ebp - 0x250]
call fcn.0047788c
push pe_nt_image_headers32
lea edx, [ebp - 0x450]
push edx
push dword [0x4b982c]
call sub.USER32.DLL_GetWindowTextA
mov eax, edi
call fcn.00409ac0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
push 0
push 0
xor edx, edx
mov eax, edi
call fcn.00409808
jmp 0x40a7f2
add dword [ebp - 0x48], 1
adc dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
and eax, 0xf
xor edx, edx
cmp edx, 0
jne 0x40a7cc
cmp eax, 0
jne 0x40a7cc
cmp dword [0x4b982c], 0
je 0x40a7c7
push 0
push 0x10000
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.00491bd0
push edx
push eax
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
call fcn.0040e3f8
push eax
mov eax, 0x51e
call fcn.004116e0
push eax
lea edx, [ebp - 0x650]
push edx
call fcn.00490628
add esp, 0xc
lea eax, [ebp - 0x650]
call fcn.0047789c
call fcn.00476dec
call fcn.0040f348
mov ecx, ebx
mov edx, dword [ebp - 0x1c]
mov eax, esi
call fcn.0040fe58
cmp dword [ebp + 0xc], 0x80000000
mov esi, eax
jne 0x40a7e7
cmp dword [ebp + 8], 0
je 0x40a7f2
mov eax, ebx
cdq
sub dword [ebp + 8], eax
sbb dword [ebp + 0xc], edx
cmp dword [ebp + 0xc], 0x80000000
jne 0x40a808
cmp dword [ebp + 8], 0
jne 0x40a808
mov ecx, 0x10000
jmp 0x40a827
cmp dword [ebp + 0xc], 0
jne 0x40a819
cmp dword [ebp + 8], 0x10000
jbe 0x40a822
jmp 0x40a81b
jle 0x40a822
mov ecx, 0x10000
jmp 0x40a827
mov eax, dword [ebp + 8]
mov ecx, eax
mov edx, dword [ebp - 0x1c]
mov eax, edi
call fcn.004096a4
mov ebx, eax
test eax, eax
jne 0x40a754
cmp dword [0x4b982c], 0
je 0x40a85f
lea eax, [ebp - 0x250]
call fcn.0047789c
lea eax, [ebp - 0x450]
call fcn.00477864
call fcn.00476dec
mov eax, esi
mov edx, 2
xor eax, 0xffffffff
push eax
lea eax, [ebp - 0x1c]
dec dword [ebp - 0x24]
call fcn.0040177c
dec dword [ebp - 0x24]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.0040e584
pop eax
mov edx, dword [ebp - 0x40]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x40b124
Capabilities:
Move file

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 2
add esp, 0xfffff004
push eax
dec eax
jne 0x40b12d
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, 0x498fb4
call fcn.0048dbf8
lea eax, [ebp - 0x10e4]
call fcn.00412df4
lea eax, [ebp - 0x10b8]
call fcn.00412df4
lea eax, [ebp - 0x108c]
call fcn.00412df4
push 0
lea ecx, [ebp - 0x1cf8]
mov edx, ebx
mov eax, esi
call fcn.00411f0c
test al, al
jne 0x40b1a1
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b356
cmp byte [ebp - 0x1cf8], 0
je 0x40b1b3
cmp byte [ebp - 0x1060], 0
jne 0x40b1c7
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b356
lea eax, [ebp - 0x1cf8]
call fcn.0040b578
lea edx, [ebp - 0x1060]
call fcn.0040e61c
test eax, eax
je 0x40b1f7
mov eax, esi
call fcn.0040b578
lea edx, [ebp - 0x1060]
call fcn.0040e61c
test eax, eax
je 0x40b20b
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b356
xor ebx, ebx
push 0x400
push esi
push edi
call fcn.0048d9a8
add esp, 0xc
push ebx
push str.rtmp_d
mov eax, edi
call fcn.0040b578
push eax
call fcn.00490628
add esp, 0xc
mov eax, edi
xor edx, edx
call fcn.0040a0c8
test al, al
je 0x40b24a
add ebx, 0x7b
cmp ebx, 0x2710
jl 0x40b20d
mov eax, edi
xor edx, edx
call fcn.0040a0c8
test al, al
je 0x40b26b
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b356
push 0x400
push esi
lea ecx, [ebp - 0x24f8]
push ecx
call fcn.0048d9a8
add esp, 0xc
lea eax, [ebp - 0x1cf8]
call fcn.0040b578
push eax
lea eax, [ebp - 0x24f8]
call fcn.0040b578
push eax
call fcn.0048d758
add esp, 8
push edi
lea edx, [ebp - 0x24f8]
push edx
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
jne 0x40b2c5
xor eax, eax
mov edx, dword [ebp - 0xc44]
mov dword fs:[0], edx
jmp 0x40b356
mov word [ebp - 0xc34], 8
lea eax, [ebp - 0xc20]
call fcn.00409020
inc dword [ebp - 0xc28]
mov word [ebp - 0xc34], 0x14
xor ebx, ebx
xor edx, edx
mov eax, esi
call fcn.0040a0c8
test al, al
jne 0x40b308
lea eax, [ebp - 0xc20]
xor ecx, ecx
mov edx, esi
call fcn.00409298
mov ebx, eax
lea eax, [ebp - 0x24f8]
push eax
push edi
call sub.KERNEL32.DLL_MoveFileA
test bl, bl
je 0x40b32f
lea eax, [ebp - 0xc20]
call fcn.004093cc
lea eax, [ebp - 0xc20]
call fcn.00409460
mov al, 1
mov edx, 2
push eax
lea eax, [ebp - 0xc20]
dec dword [ebp - 0xc28]
call fcn.004090d0
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 0x40f348
Capabilities:
Check for time delay via gettickcount

Disassembly:
cmp byte [0x499820], 0
jne 0x40f361
call fcn.00495aec
mov dword [0x49981c], eax
inc byte [0x499820]
call fcn.00495aec
sub eax, dword [0x49981c]
cmp eax, 0x64
jle 0x40f39d
cmp dword [0x4bc1b4], 0
je 0x40f398
mov eax, 0x4a6984
mov edx, 0xff
call fcn.00429794
mov eax, 0x4a6984
mov edx, 0xff
call fcn.0042977c
call fcn.00444258
mov eax, dword [0x499818]
test eax, eax
je 0x40f3ac
push eax
call sub.KERNEL32.DLL_Sleep
ret
Function at 0x40f7bc
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 0x40f808
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 0x40fe58
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov edi, 0x4a88d4
push ebp
mov ebp, edx
cmp dword [edi + 4], 0
mov esi, ecx
mov ebx, eax
jne 0x40fe72
call fcn.0040fe20
mov eax, ebp
jmp 0x40fe8a
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 0x40fe92
test al, 7
jne 0x40fe76
cmp esi, 8
jb 0x40ff1b
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 0x40fe9b
xor edx, edx
jmp 0x40ff35
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 0x40ff1f
mov eax, ebx
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x410008
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 0x410056
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.00410354
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x4101a8
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.0048d568
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 0x410204
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.00410354
add esp, 0x20
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x410354
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
mov ebx, 0x4a88d4
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 0x41035d
pop esi
pop ebx
ret
Function at 0x415b34
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 0x415bb1
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 0x415b5f
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 0x415b8b
add esi, 0x780
mov eax, dword [esp + 4]
add eax, 0xffffff88
cmp esi, eax
jl 0x415b5d
inc dword [esp + 8]
cmp dword [esp + 8], 2
jle 0x415b57
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
cmp edx, eax
jb 0x415bdd
cmp eax, dword [esp + 0x14]
ja 0x415bdd
xor eax, eax
jmp 0x415bef
cmp edx, dword [esp + 0x14]
ja 0x415bea
mov eax, 1
jmp 0x415bef
mov eax, 2
add esp, 0x90
pop esi
pop ebx
ret
Function at 0x42508c
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 [0x4a6fb8]
call sub.KERNEL32.DLL_FindResourceA
mov ebx, eax
push ebx
push dword [0x4a6fb8]
call sub.KERNEL32.DLL_LoadResource
mov ebp, eax
push ebx
push dword [0x4a6fb8]
call sub.KERNEL32.DLL_SizeofResource
mov ebx, eax
push ebx
call fcn.0048c4e8
pop ecx
mov esi, eax
test esi, esi
jne 0x4250ea
mov eax, dword [esp + 4]
xor edx, edx
mov dword [eax], edx
xor eax, eax
jmp 0x425203
push ebx
push ebp
push esi
call fcn.0048d568
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.004252c4
test al, al
je 0x42515e
mov ecx, esi
test bl, bl
je 0x425136
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 0x42516b
mov eax, 0xd
jmp 0x425170
mov eax, 9
add eax, eax
add ebp, eax
cmp word [ebp], 0xffff
jne 0x425183
mov edx, 2
jmp 0x42518d
mov eax, ebp
call fcn.0040f90c
mov edx, eax
inc edx
add edx, edx
add ebp, edx
cmp word [ebp], 0xffff
jne 0x4251a0
mov ecx, 2
jmp 0x4251aa
mov eax, ebp
call fcn.0040f90c
mov ecx, eax
inc ecx
add ecx, ecx
lea edx, [esp + 0x10]
add ebp, ecx
mov ecx, 0x10000000
mov eax, ebp
call fcn.0040f86c
push 1
push dword [esp + 4]
lea ecx, [esp + 0x218]
lea edx, [esp + 0x18]
mov eax, edi
call fcn.00424c48
lea eax, [esp + 0x210]
push eax
call fcn.0048d92c
pop ecx
mov edx, dword [esp + 4]
mov dword [edx], eax
cmp dword [esp + 8], 0x64
jne 0x425201
cmp dword [esp + 0xc], 0x64
jne 0x425201
push esi
call fcn.0048c4f8
pop ecx
xor esi, esi
mov eax, esi
add esp, 0x410
pop ebp
pop edi
pop esi
pop ebx
ret

Function at 0x429674
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.004116e0
push eax
test ebx, ebx
je 0x429698
cmp byte [ebx], 0
jne 0x42969a
xor ebx, ebx
push ebx
call fcn.00444878
add esp, 0xc
call sub.KERNEL32.DLL_GetLastError
cmp eax, 3
jne 0x429711
push esi
call fcn.0048d788
pop ecx
mov ebx, eax
mov eax, esi
call fcn.0040bf24
test al, al
jne 0x4296d8
push esp
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
push esp
call fcn.0048d788
pop ecx
add eax, ebx
inc eax
mov ebx, eax
cmp ebx, 0x104
jle 0x429711
push 0x104
mov eax, 0x564
call fcn.004116e0
push eax
lea edx, [esp + 0x408]
push edx
call fcn.00490628
add esp, 0xc
mov edx, 1
lea eax, [esp + 0x400]
call fcn.0044a1d4
mov eax, edi
call fcn.0042981c
add esp, 0x600
pop edi
pop esi
pop ebx
ret
Function at 0x429948
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 0x429968
xor eax, eax
jmp 0x429a29
mov edx, dword [ebp - 0xc]
test edx, edx
jns 0x429972
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.00429dc4
add dword [ebp - 8], 0x10
mov edx, dword [ebp - 0x14]
dec edx
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 0
jle 0x429a05
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.00429dc4
add dword [ebp - 8], 0x10
dec dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0
jg 0x4299c1
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 0x429a30
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 0x429a47
test esi, esi
jg 0x429a4e
xor eax, eax
jmp 0x429b04
push 0x10
mov edx, dword [ebp - 4]
add edx, 4
push edx
lea ecx, [ebp - 0x2c]
push ecx
call fcn.0048d568
add esp, 0xc
test esi, esi
jns 0x429a6a
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 0x429ae9
lea ecx, [ebp - 0x1c]
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.0042a3f4
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 0x429a7c
push 0x10
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 4]
add eax, 4
push eax
call fcn.0048d568
add esp, 0xc
mov eax, dword [ebp - 8]
shl eax, 4
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x429d28
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 + 0x4adabe]
lea ebx, [ebx*4 + 0x4ad6be]
mov bl, byte [ebx + eax]
xor bl, byte [ebp + eax]
movzx ebp, byte [edx + 2]
movzx edx, byte [edx + 3]
lea ebp, [ebp*4 + 0x4adebe]
lea edx, [edx*4 + 0x4ae2be]
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 0x429d3a
inc eax
cmp eax, 4
jl 0x429d38
mov ecx, esi
push 0x10
shl ecx, 4
lea eax, [esp + 4]
add ecx, edi
push eax
add ecx, 0x14
push ecx
call fcn.0048d568
add esp, 0xc
inc esi
cmp esi, 0xa
jl 0x429d36
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x42c96c
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 0x43a2ff
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov eax, dword [0x4b32c4]
push ebx
add esp, 0xfffffbec
cmp dword [eax + 0x30], 0
je 0x43a408
push 1
push 0
mov edx, 0x4b26c4
mov eax, 0x4ba564
xor ecx, ecx
call fcn.0045bbc8
dec eax
jne 0x43a408
xor edx, edx
xor eax, eax
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, 0x4ba564
mov edx, esp
lea ecx, [esp + 4]
call fcn.0045d50c
cmp dword [esp + 4], 0
je 0x43a408
push 0x400
push 0
lea edx, [esp + 0x1c]
xor ecx, ecx
mov eax, dword [0x4b32c4]
call fcn.0040f0b8
lea edx, [esp + 0x14]
push edx
call sub.KERNEL32.DLL_GetFileAttributesA
cmp eax, 0xffffffff
je 0x43a3a5
lea edx, [esp + 0x14]
lea eax, [esp + 8]
call fcn.004594ac
xor eax, eax
mov al, byte [esp + 8]
cmp eax, 0x43
je 0x43a39a
cmp eax, 0x4e
jne 0x43a3a5
push dword [esp]
call fcn.0048bd5c
pop ecx
jmp 0x43a408
push 0x49cb89
lea edx, [esp + 0x18]
push edx
call fcn.0048f700
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x43a3e5
lea eax, [esp + 0x14]
push eax
mov eax, 0x1f6
call fcn.004116e0
push eax
push 0x4b26c4
call fcn.00444878
add esp, 0xc
push dword [esp]
call fcn.0048bd5c
pop ecx
jmp 0x43a408
push ebx
push dword [esp + 8]
push 1
push dword [esp + 0xc]
call fcn.0048fb18
add esp, 0x10
push ebx
call fcn.0048f204
pop ecx
push dword [esp]
call fcn.0048bd5c
pop ecx
add esp, 0x414
pop ebx
ret