joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40d170
Capabilities:
Create thread
Terminate process

Disassembly:
mov eax, dword [0x6ee268]
cmp eax, 1
je 0x40d1be
cmp eax, 4
je 0x40d1be
push 0
cmp eax, 2
jne 0x40d1ac
push 0
push 0
push 0x40d270
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 3
jne 0x40d1bc
push 0
push 0
push 0x40d370
jmp 0x40d18f
jmp 0x40d1a6
push 0
push 0
push 0
push 0x40d2f0
jmp 0x40d18f

Function at 0x40d1d0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x40d0d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret

Function at 0x40d1f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0x5aa474
push ebx
mov ebx, dword [ebp - 4]
push edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40d252
push esi
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 4], ecx
test esi, esi
pop esi
je 0x40d249
sub edi, ecx
jmp 0x40d230
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 4]
cmp edx, dword [ebx + 0xf]
jb 0x40d230
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call fcn.0040cd60
add esp, 4
pop edi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x40d3a0
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
mov eax, dword [0x6dd8d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push 0x5aa54c
push eax
mov dword [ebp - 0x40c], ecx
or ebx, 0xffffffff
call dword [sym.imp.MSVCR120.dll_fopen]
add esp, 8
mov dword [ebp - 0x408], eax
test eax, eax
jne 0x40d3ed
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059978a
mov esp, ebp
pop ebp
ret 4
push esi
push edi
nop
push eax
push 0x400
lea eax, [ebp - 0x404]
push 1
push eax
call dword [sym.imp.MSVCR120.dll_fread]
mov edi, eax
lea esi, [ebp - 0x404]
add esp, 0x10
mov dword [ebp - 0x410], edi
mov edx, edi
test edi, edi
je 0x40d43c
mov edi, dword [ebp - 0x40c]
movzx eax, byte [esi]
lea esi, [esi + 1]
movzx ecx, bl
xor ecx, eax
shr ebx, 8
xor ebx, dword [edi + ecx*4]
dec edx
jne 0x40d422
mov edi, dword [ebp - 0x410]
mov eax, dword [ebp - 0x408]
cmp edi, 0x400
je 0x40d3f0
push eax
call dword [sym.imp.MSVCR120.dll_fclose]
mov ecx, dword [ebp - 4]
add esp, 4
not ebx
xor ecx, ebp
mov eax, ebx
pop edi
pop esi
pop ebx
call fcn.0059978a
mov esp, ebp
pop ebp
ret 4
Function at 0x40d470
Capabilities:
Hash data using crc32b

Disassembly:
push ebx
push esi
push edi
push 0x400
mov edi, ecx
push 0
push edi
call sub.MSVCR120.dll_memset
add esp, 0xc
mov eax, 0x80
xor ebx, ebx
lea esp, [esp]
xor edx, edx
test bl, 1
cmovne edx, eax
mov eax, ebx
shr eax, 1
test al, 1
je 0x40d4a3
or edx, 0x40
shr eax, 1
test al, 1
je 0x40d4ac
or edx, 0x20
shr eax, 1
test al, 1
je 0x40d4b5
or edx, 0x10
shr eax, 1
test al, 1
je 0x40d4be
or edx, 8
shr eax, 1
test al, 1
je 0x40d4c7
or edx, 4
shr eax, 1
test al, 1
je 0x40d4d0
or edx, 2
test al, 2
je 0x40d4d7
or edx, 1
shl edx, 0x18
mov ecx, edx
and ecx, 0x80000000
neg ecx
lea eax, [edx + edx]
sbb ecx, ecx
and ecx, 0x4c11db7
xor ecx, eax
mov edx, ecx
and edx, 0x80000000
neg edx
lea eax, [ecx + ecx]
sbb edx, edx
and edx, 0x4c11db7
xor edx, eax
mov ecx, edx
and ecx, 0x80000000
neg ecx
lea eax, [edx + edx]
sbb ecx, ecx
and ecx, 0x4c11db7
xor ecx, eax
mov edx, ecx
and edx, 0x80000000
neg edx
lea eax, [ecx + ecx]
sbb edx, edx
and edx, 0x4c11db7
xor edx, eax
mov ecx, edx
and ecx, 0x80000000
neg ecx
lea eax, [edx + edx]
sbb ecx, ecx
and ecx, 0x4c11db7
xor ecx, eax
mov edx, ecx
and edx, 0x80000000
neg edx
lea eax, [ecx + ecx]
sbb edx, edx
and edx, 0x4c11db7
xor edx, eax
mov ecx, edx
and ecx, 0x80000000
neg ecx
lea eax, [edx + edx]
sbb ecx, ecx
and ecx, 0x4c11db7
xor ecx, eax
mov edx, ecx
and edx, 0x80000000
neg edx
lea eax, [ecx + ecx]
sbb edx, edx
and edx, 0x4c11db7
xor edx, eax
xor esi, esi
mov dword [edi + ebx*4], edx
lea ecx, [esi + 0x1f]
lea ebx, [ebx]
test dl, 1
je 0x40d5ae
mov eax, 1
shl eax, cl
or esi, eax
dec ecx
shr edx, 1
cmp ecx, 0xffffffff
jg 0x40d5a0
mov dword [edi + ebx*4], esi
mov eax, 0x80
inc ebx
cmp ebx, 0xff
jle 0x40d490
pop edi
pop esi
pop ebx
ret

Function at 0x40efd0
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x6e568c]
add eax, dword [0x6e5688]
add eax, dword [0x6e5684]
add eax, dword [0x6e5680]
add eax, dword [0x6e567c]
add eax, dword [0x6e5678]
add eax, dword [0x6e5674]
add eax, dword [0x6e5670]
add eax, dword [0x6e566c]
add eax, dword [0x6e5668]
add eax, dword [0x6e5664]
add eax, dword [0x6e5660]
add eax, dword [0x6e565c]
add eax, dword [0x6e5658]
add eax, dword [0x6e5654]
add eax, dword [0x6e5650]
add eax, dword [0x6e564c]
add eax, dword [0x6e5648]
add eax, dword [0x6e5644]
add eax, dword [0x6e5640]
add eax, dword [0x6e563c]
add eax, dword [0x6e5638]
mov edx, dword [0x6e5690]
add eax, dword [0x6e5634]
inc edx
mov dword [0x6e5690], edx
cmp eax, dword [0x6e5624]
je 0x40f077
cmp edx, 5
jg fcn.0040f1e0
jmp 0x40f6a0
mov dword [0x6e5634], 0
mov dword [0x6e5638], 0
mov dword [0x6e563c], 0
mov dword [0x6e5640], 0
mov dword [0x6e5644], 0
mov dword [0x6e5648], 0
mov dword [0x6e564c], 0
mov dword [0x6e5650], 0
mov dword [0x6e5654], 0
mov dword [0x6e5658], 0
mov dword [0x6e565c], 0
mov dword [0x6e5660], 0
mov dword [0x6e5664], 0
mov dword [0x6e5668], 0
mov dword [0x6e566c], 0
mov dword [0x6e5670], 0
mov dword [0x6e5674], 0
mov dword [0x6e5678], 0
mov dword [0x6e567c], 0
mov dword [0x6e5680], 0
mov dword [0x6e5684], 0
mov dword [0x6e5688], 0
mov dword [0x6e568c], 0
ret
Function at 0x40f180
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x40f080
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret

Function at 0x40f1a0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x40f0f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret

Function at 0x40f1e0
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59ac5b
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x6dd8d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x6ee264], 1
jne 0x40f28d
push 1
push 0x40
push 8
push 0x5ab480
lea ecx, [ebp - 0xb4]
call fcn.0040c520
lea eax, [ebp - 0xb4]
mov dword [ebp - 4], 0
push str._nAKS_Scan:
push eax
call fcn.0040afa0
lea eax, [ebp - 0xb4]
push str.Thread_attack_
push eax
call fcn.0040afa0
add esp, 0x10
lea ecx, [ebp - 0xb0]
call fcn.0040a310
test eax, eax
jne 0x40f27c
push eax
mov eax, dword [ebp - 0xb4]
lea ecx, [ebp - 0xb4]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0x54]
call fcn.0040c630
lea ecx, [ebp - 0x54]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [0x6ee268]
cmp eax, 1
je 0x40f2db
cmp eax, 4
je 0x40f2db
push 0
cmp eax, 2
jne 0x40f2c9
push 0
push 0
push 0x40f510
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 3
jne 0x40f2d9
push 0
push 0
push 0x40f670
jmp 0x40f2ac
jmp 0x40f2c3
push 0
push 0
push 0
push 0x40f5c0
jmp 0x40f2ac

Function at 0x40f790
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x40f7b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x410e40
Capabilities:
Acquire debug privileges
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x6dd8d0]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x18]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x410e77
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059978a
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x20]
push eax
push 0x5ab8e4
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
je 0x410e67
mov eax, dword [ebp - 0x20]
push 0
push 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
push 0x10
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x14]
push eax
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x14], 1
mov dword [ebp - 8], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x410e67
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x410e67
push 0
push 0
push 0
push 0x410350
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.0059978a
mov esp, ebp
pop ebp
ret

Function at 0x410f00
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x410f20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x4168c0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x416eb0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret

Function at 0x416f00
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x4177d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret

Function at 0x417820
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x417970
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x41c4a0
Capabilities:
Create thread
Set file attributes
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59ae56
mov eax, dword fs:[0]
push eax
sub esp, 0x158
push esi
mov eax, dword [0x6dd8d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x6ee264], 1
jne 0x41c55f
push 1
push 0x40
push 8
push 0x5af3bc
lea ecx, [ebp - 0x164]
call fcn.0040c520
lea eax, [ebp - 0x164]
mov dword [ebp - 4], 0
push str._nHT_Scan:
push eax
call fcn.0040afa0
lea eax, [ebp - 0x164]
push 0x5af298
push eax
call fcn.0040afa0
add esp, 0x10
lea ecx, [ebp - 0x160]
call fcn.0040a310
test eax, eax
jne 0x41c541
push eax
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x164]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
call fcn.0040c630
lea ecx, [ebp - 0x104]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
cmp dword [0x6ee274], 1
jne 0x41c644
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.MSVCR120.dll__time64]
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.MSVCR120.dll__localtime64]
add esp, 8
lea ecx, [ebp - 0xbc]
mov esi, eax
push 1
push 0x40
push 8
push 0x5af2b0
call fcn.0040c520
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 1
push 0x5af2b4
push eax
call fcn.0040afa0
push esi
call dword [sym.imp.MSVCR120.dll_asctime]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040afa0
lea eax, [ebp - 0xbc]
push str.HT_Scan:
push eax
call fcn.0040afa0
lea eax, [ebp - 0xbc]
push str.Hide_windows_detected_
push eax
call fcn.0040afa0
lea eax, [ebp - 0xbc]
push 0x5af2ec
push eax
call fcn.0040afa0
add esp, 0x2c
lea ecx, [ebp - 0xb8]
call fcn.0040a310
test eax, eax
jne 0x41c626
push eax
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xbc]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
push 2
push 0x5af314
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x5c]
call fcn.0040c630
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [0x6ee268]
push 0
cmp eax, 1
jne 0x41c676
push 0
push 0
push 0x41c8d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 2
jne 0x41c686
push 0
push 0
push 0x41c850
jmp 0x41c659
cmp eax, 3
jne 0x41c696
push 0
push 0
push 0x41c950
jmp 0x41c659
cmp eax, 4
jne 0x41c6c7
push 0
push 0
push 0x40f490
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x200010
push str.H_Scan
push str.Generic_Hide_Window
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41c66e
jmp 0x41c670
Function at 0x41c6d0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x41c810
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret

Function at 0x41c6f0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x20a00
call fcn.005997b0
mov eax, dword [0x6dd8d0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor esi, esi
xor eax, eax
push esi
push esi
mov dword [ebp - 0x209fc], eax
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
je 0x41c7ed
push ebx
lea ebx, [ebp - 0x209f4]
lea esp, [esp]
push edi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x41c7ca
lea eax, [ebp - 0x20a00]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 0x20a00]
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
jne 0x41c7ca
mov eax, dword [ebp - 0x20a00]
mov dword [ebx], eax
lea eax, [ebx + 4]
push 0xff
push eax
push edi
mov dword [ebx - 4], edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
push 0xff
lea eax, [ebx + 0x103]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameA]
inc dword [ebp - 0x209fc]
add ebx, 0x208
mov ecx, dword [ebp - 0x20a00]
xor eax, eax
test esi, esi
jle 0x41c7be
lea ebx, [ebx]
cmp ecx, dword [ebp + eax*4 - 0x400]
je 0x41c7be
inc eax
cmp eax, esi
jl 0x41c7b0
cmp eax, esi
jne 0x41c7ca
mov dword [ebp + esi*4 - 0x400], ecx
inc esi
push 2
push edi
call dword [sym.imp.USER32.dll_GetWindow]
mov edi, eax
test edi, edi
jne 0x41c730
mov eax, dword [ebp - 0x209fc]
pop ebx
test eax, eax
je 0x41c7ed
cmp esi, 1
jg 0x41c805
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0059978a
mov esp, ebp
pop ebp
ret
call fcn.0041c4a0
int3

Function at 0x41c980
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x41c9a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x41d050
Capabilities:
Create thread
Set file attributes
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59ae56
mov eax, dword fs:[0]
push eax
sub esp, 0x158
push esi
mov eax, dword [0x6dd8d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x6ee264], 1
jne 0x41d10f
push 1
push 0x40
push 8
push 0x5af714
lea ecx, [ebp - 0x164]
call fcn.0040c520
lea eax, [ebp - 0x164]
mov dword [ebp - 4], 0
push str._nI_Scan:
push eax
call fcn.0040afa0
lea eax, [ebp - 0x164]
push 0x5af3e0
push eax
call fcn.0040afa0
add esp, 0x10
lea ecx, [ebp - 0x160]
call fcn.0040a310
test eax, eax
jne 0x41d0f1
push eax
mov eax, dword [ebp - 0x164]
lea ecx, [ebp - 0x164]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
call fcn.0040c630
lea ecx, [ebp - 0x104]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
cmp dword [0x6ee274], 1
jne 0x41d1f4
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.MSVCR120.dll__time64]
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.MSVCR120.dll__localtime64]
add esp, 8
lea ecx, [ebp - 0xbc]
mov esi, eax
push 1
push 0x40
push 8
push 0x5af3f0
call fcn.0040c520
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 1
push 0x5af3f4
push eax
call fcn.0040afa0
push esi
call dword [sym.imp.MSVCR120.dll_asctime]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040afa0
lea eax, [ebp - 0xbc]
push str.I_Scan:
push eax
call fcn.0040afa0
lea eax, [ebp - 0xbc]
push 0x5af414
push eax
call fcn.0040afa0
lea eax, [ebp - 0xbc]
push 0x5af424
push eax
call fcn.0040afa0
add esp, 0x2c
lea ecx, [ebp - 0xb8]
call fcn.0040a310
test eax, eax
jne 0x41d1d6
push eax
mov eax, dword [ebp - 0xbc]
lea ecx, [ebp - 0xbc]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
push 2
push 0x5af44c
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x5c]
call fcn.0040c630
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [0x6ee268]
push 0
cmp eax, 1
jne 0x41d226
push 0
push 0
push 0x41d300
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 2
jne 0x41d236
push 0
push 0
push 0x41d280
jmp 0x41d209
cmp eax, 3
jne 0x41d246
push 0
push 0
push 0x41d380
jmp 0x41d209
cmp eax, 4
jne 0x41d277
push 0
push 0
push 0x40f490
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x200010
push str.I_Scan
push str.Dll_injection_
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x41d21e
jmp 0x41d220
Function at 0x41ecd0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x41e790
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x41f9f0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x420180
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x4202f0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x420560
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x4208a0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x4209f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x421140
Capabilities:
Encode data using xor
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x6dd8d0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x6ee278], 1
push ebx
push esi
push edi
jne 0x4211e9
movzx eax, word [0x449081]
push eax
lea eax, [ebp - 0x10]
push 0x5b123c
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
mov dword [ebp - 0x14], 0x5b1240
add esp, 0xc
mov ebx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x14]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4211d2
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x14], ecx
test esi, esi
je 0x4211c9
sub edi, ecx
lea ecx, [ecx]
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 0x14]
cmp edx, dword [ebx + 0xf]
jb 0x4211b0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x30
push edi
lea eax, [ebp - 0x10]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov eax, 0x7361
cmp word [0x449081], ax
jne 0x42120a
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0059978a
mov esp, ebp
pop ebp
ret
call fcn.00420dd0
int3

Function at 0x421320
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x421210
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret

Function at 0x421340
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x427350
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x427630
Capabilities:
Acquire debug privileges
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x6dd8d0]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x6ee28c], 1
jne 0x427659
push 0
push 0
push 0
push 0x427aa0
jmp 0x4276e0
lea eax, [ebp - 0x18]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x427680
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0059978a
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x20]
push eax
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
je 0x427670
mov eax, dword [ebp - 0x20]
push 0
push 0
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
push 0x10
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x14]
push eax
push 0
push dword [ebp - 0x18]
mov dword [ebp - 0x14], 1
mov dword [ebp - 8], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x427670
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x427670
push 0
push 0
push 0
push 0x427570
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.0059978a
mov esp, ebp
pop ebp
ret
Function at 0x427700
Capabilities:
Create thread
Encode data using xor
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59aefb
mov eax, dword fs:[0]
push eax
sub esp, 0xac
push ebx
push esi
push edi
mov eax, dword [0x6dd8d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x6ee264], 1
jne 0x42785e
mov dword [ebp - 0x10], 0x5b388c
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x427792
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x10], ecx
test esi, esi
je 0x427789
sub edi, ecx
jmp 0x427770
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 0x10]
cmp edx, dword [ebx + 0xf]
jb 0x427770
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 1
push 0x40
push 8
push edi
lea ecx, [ebp - 0xb8]
call fcn.0040c520
mov dword [ebp - 0x10], 0x5b3780
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
add edi, 0x14
mov dword [ebp - 4], 0
cmp byte [ebx + 0x13], 0
je 0x427802
mov esi, dword [ebx + 0xf]
lea eax, [esi + 1]
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
add esp, 4
mov ecx, eax
xor edx, edx
mov dword [ebp - 0x10], ecx
test esi, esi
je 0x4277f9
sub edi, ecx
mov edi, edi
mov eax, edx
add ecx, edx
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [edi + ecx]
mov byte [ecx], al
mov ecx, dword [ebp - 0x10]
cmp edx, dword [ebx + 0xf]
jb 0x4277e0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
lea eax, [ebp - 0xb8]
push edi
push eax
call fcn.0040afa0
push dword [0x6ee1b4]
lea eax, [ebp - 0xb8]
push eax
call fcn.0040afa0
add esp, 0x10
lea ecx, [ebp - 0xb4]
call fcn.0040a310
test eax, eax
jne 0x42784d
push eax
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0xb8]
push 2
mov eax, dword [eax + 4]
add ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool_]
lea ecx, [ebp - 0x58]
call fcn.0040c630
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVCP120.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [0x6ee268]
cmp eax, 1
je 0x4278a9
cmp eax, 3
je 0x4278a9
cmp eax, 4
je 0x4278a9
push 0
cmp eax, 2
jne 0x42789f
push 0
push 0
push 0x4279a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
test eax, eax
jne 0x427899
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
push 0
push 0
push 0x427a20
jmp 0x427882