joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40b540
Capabilities:
Encode data using xor
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x6e31d0]
push ebx
push esi
push edi
cmp eax, 1
jne 0x40b5c2
mov dword [ebp - 4], 0x5a6be0
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40b5a6
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
je 0x40b59d
sub edi, 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 - 4]
cmp edx, dword [ebx + 0xf]
jb 0x40b584
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6e314c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 2
jne 0x40b63e
mov dword [ebp - 4], 0x5a6c60
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40b622
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
je 0x40b619
sub edi, ecx
lea ebx, [ebx]
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 0x40b600
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6e314c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 4], 0x5a6be0
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40b693
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
je 0x40b68a
sub edi, 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 - 4]
cmp edx, dword [ebx + 0xf]
jb 0x40b671
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6e314c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0x40b860
Capabilities:
Encode data using xor
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
call fcn.0040bd70
mov eax, dword [0x6e31d0]
cmp eax, 1
jne 0x40b8ee
mov dword [ebp - 4], 0x5a6aa8
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40b8d2
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
je 0x40b8c9
sub edi, ecx
lea esp, [esp]
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 0x40b8b0
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6e314c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 2
jne 0x40b964
mov dword [ebp - 4], 0x5a6b40
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40b948
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
je 0x40b93f
sub edi, 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 - 4]
cmp edx, dword [ebx + 0xf]
jb 0x40b926
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6e314c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 4], 0x5a6aa8
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40b9b9
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
je 0x40b9b0
sub edi, 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 - 4]
cmp edx, dword [ebx + 0xf]
jb 0x40b997
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6e314c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]

Function at 0x40bb10
Capabilities:
Check os version
Encode data using xor
Query or enumerate registry value

Disassembly:
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jae 0x40bb25
mov dword [0x6da1f4], 1
ret
jmp fcn.0040ba50

Function at 0x40bc00
Capabilities:
Create thread

Disassembly:
call fcn.0040bc60
test eax, eax
je 0x40bc48
cmp dword [0x6da1f0], 0
jne 0x40bc27
push 0
push 0
push 0
push 0x40c2e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp dword [0x6da1ec], 0
jne 0x40bc5d
push 0
push 0
push 0
push fcn.0040b6b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
ret
push 0
push 0
push 0
push 0x40bd00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
ret
Function at 0x40bc60
Capabilities:
Get token membership

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x6d28d0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor esi, esi
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], esi
push eax
push esi
push esi
push esi
push esi
push esi
push esi
push 0x220
push 0x20
push 2
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], esi
push eax
mov word [ebp - 8], 0x500
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x40bcb9
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x10]
push esi
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
test eax, eax
jne 0x40bcc1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x40bcd6
push eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
mov dword [ebp - 0x10], 0
test esi, esi
jne 0x40bcec
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x14]
xor ecx, ebp
pop esi
call fcn.00597574
mov esp, ebp
pop ebp
ret
push 0x5cd5d8
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], esi
push eax
call sub.MSVCR120.dll__CxxThrowException
int3
Function at 0x40c120
Capabilities:
Create thread
Terminate process

Disassembly:
push 0
push 0
push 0
push 0x40c150
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]

Function at 0x40c580
Capabilities:
Create thread
Terminate process

Disassembly:
mov eax, dword [0x6e31d0]
cmp eax, 1
je 0x40c5ce
cmp eax, 4
je 0x40c5ce
push 0
cmp eax, 2
jne 0x40c5bc
push 0
push 0
push 0x40ca90
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 0x40c5cc
push 0
push 0
push 0x40d1d0
jmp 0x40c59f
jmp 0x40c5b6
push 0
push 0
push 0
push 0x40cb10
jmp 0x40c59f
Function at 0x40c9f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0x5a6f50
push ebx
mov ebx, dword [ebp - 4]
push edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40ca52
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 0x40ca49
sub edi, ecx
jmp 0x40ca30
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 0x40ca30
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call fcn.0040c680
add esp, 4
pop edi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x40ca70
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x40c5e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x40cfd0
Capabilities:
Create thread
Terminate process

Disassembly:
mov eax, dword [0x6e31d0]
cmp eax, 1
je 0x40d01e
cmp eax, 4
je 0x40d01e
push 0
cmp eax, 2
jne 0x40d00c
push 0
push 0
push 0x40d0d0
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 0x40d01c
push 0
push 0
push 0x40d1d0
jmp 0x40cfef
jmp 0x40d006
push 0
push 0
push 0
push 0x40d150
jmp 0x40cfef

Function at 0x40d030
Capabilities:
Create thread

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

Function at 0x40d050
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0x5a7034
push ebx
mov ebx, dword [ebp - 4]
push edi
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x40d0b2
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 0x40d0a9
sub edi, ecx
jmp 0x40d090
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 0x40d090
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push edi
call fcn.0040cbc0
add esp, 4
pop edi
pop ebx
mov esp, ebp
pop ebp
ret

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
mov eax, dword [0x6d28d0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push 0x5a705c
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 0x40d24d
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00597574
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 0x40d29c
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 0x40d282
mov edi, dword [ebp - 0x410]
mov eax, dword [ebp - 0x408]
cmp edi, 0x400
je 0x40d250
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.00597574
mov esp, ebp
pop ebp
ret 4
Function at 0x40d2d0
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 0x40d303
or edx, 0x40
shr eax, 1
test al, 1
je 0x40d30c
or edx, 0x20
shr eax, 1
test al, 1
je 0x40d315
or edx, 0x10
shr eax, 1
test al, 1
je 0x40d31e
or edx, 8
shr eax, 1
test al, 1
je 0x40d327
or edx, 4
shr eax, 1
test al, 1
je 0x40d330
or edx, 2
test al, 2
je 0x40d337
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 0x40d40e
mov eax, 1
shl eax, cl
or esi, eax
dec ecx
shr edx, 1
cmp ecx, 0xffffffff
jg 0x40d400
mov dword [edi + ebx*4], esi
mov eax, 0x80
inc ebx
cmp ebx, 0xff
jle 0x40d2f0
pop edi
pop esi
pop ebx
ret

Function at 0x40ee10
Capabilities:
Terminate process

Disassembly:
mov eax, dword [0x6da660]
add eax, dword [0x6da65c]
add eax, dword [0x6da658]
add eax, dword [0x6da654]
add eax, dword [0x6da650]
add eax, dword [0x6da64c]
add eax, dword [0x6da648]
add eax, dword [0x6da644]
add eax, dword [0x6da640]
add eax, dword [0x6da63c]
add eax, dword [0x6da638]
add eax, dword [0x6da634]
add eax, dword [0x6da630]
add eax, dword [0x6da62c]
add eax, dword [0x6da628]
add eax, dword [0x6da624]
add eax, dword [0x6da620]
add eax, dword [0x6da61c]
add eax, dword [0x6da618]
add eax, dword [0x6da614]
add eax, dword [0x6da610]
add eax, dword [0x6da60c]
mov edx, dword [0x6da664]
add eax, dword [0x6da608]
inc edx
mov dword [0x6da664], edx
cmp eax, dword [0x6da5f8]
je 0x40eeb7
cmp edx, 5
jg fcn.0040f020
jmp 0x40f4b0
mov dword [0x6da608], 0
mov dword [0x6da60c], 0
mov dword [0x6da610], 0
mov dword [0x6da614], 0
mov dword [0x6da618], 0
mov dword [0x6da61c], 0
mov dword [0x6da620], 0
mov dword [0x6da624], 0
mov dword [0x6da628], 0
mov dword [0x6da62c], 0
mov dword [0x6da630], 0
mov dword [0x6da634], 0
mov dword [0x6da638], 0
mov dword [0x6da63c], 0
mov dword [0x6da640], 0
mov dword [0x6da644], 0
mov dword [0x6da648], 0
mov dword [0x6da64c], 0
mov dword [0x6da650], 0
mov dword [0x6da654], 0
mov dword [0x6da658], 0
mov dword [0x6da65c], 0
mov dword [0x6da660], 0
ret
Function at 0x40efc0
Capabilities:
Create thread

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

Function at 0x40efe0
Capabilities:
Create thread

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

Function at 0x40f020
Capabilities:
Create thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59912b
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x6d28d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x6e31cc], 1
jne 0x40f0cd
push 1
push 0x40
push 8
push str.GameGuard_Log.txt
lea ecx, [ebp - 0xb4]
call fcn.0040c3b0
lea eax, [ebp - 0xb4]
mov dword [ebp - 4], 0
push str._nAKS_Scan:
push eax
call fcn.0040ae40
lea eax, [ebp - 0xb4]
push str.Thread_attack_
push eax
call fcn.0040ae40
add esp, 0x10
lea ecx, [ebp - 0xb0]
call fcn.00409fd0
test eax, eax
jne 0x40f0bc
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.0040c4c0
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 [0x6e31d0]
cmp eax, 1
je 0x40f11b
cmp eax, 4
je 0x40f11b
push 0
cmp eax, 2
jne 0x40f109
push 0
push 0
push 0x40f350
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 0x40f119
push 0
push 0
push 0x40d1d0
jmp 0x40f0ec
jmp 0x40f103
push 0
push 0
push 0
push 0x40f400
jmp 0x40f0ec

Function at 0x40f5a0
Capabilities:
Create thread

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x6d28d0]
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 0x410c37
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00597574
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 0x410c27
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 0x410c27
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x410c27
push 0
push 0
push 0
push 0x410140
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
call fcn.00597574
mov esp, ebp
pop ebp
ret

Function at 0x410cc0
Capabilities:
Create thread

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

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

Function at 0x416b70
Capabilities:
Create thread

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

Function at 0x417460
Capabilities:
Create thread

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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x598ca6
mov eax, dword fs:[0]
push eax
sub esp, 0x158
push esi
mov eax, dword [0x6d28d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x6e31cc], 1
jne 0x41c13f
push 1
push 0x40
push 8
push str.GameGuard_Log.txt
lea ecx, [ebp - 0x164]
call fcn.0040c3b0
lea eax, [ebp - 0x164]
mov dword [ebp - 4], 0
push str._nHT_Scan:
push eax
call fcn.0040ae40
lea eax, [ebp - 0x164]
push str.Hide_windows_detected_
push eax
call fcn.0040ae40
add esp, 0x10
lea ecx, [ebp - 0x160]
call fcn.00409fd0
test eax, eax
jne 0x41c121
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.0040c4c0
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 [0x6e31dc], 1
jne 0x41c224
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 0x5a6ee4
call fcn.0040c3b0
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 1
push str._nLocal_Time:
push eax
call fcn.0040ae40
push esi
call dword [sym.imp.MSVCR120.dll_asctime]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040ae40
lea eax, [ebp - 0xbc]
push str.HT_Scan:
push eax
call fcn.0040ae40
lea eax, [ebp - 0xbc]
push str.Hide_windows_detected_
push eax
call fcn.0040ae40
lea eax, [ebp - 0xbc]
push str._n__________________
push eax
call fcn.0040ae40
add esp, 0x2c
lea ecx, [ebp - 0xb8]
call fcn.00409fd0
test eax, eax
jne 0x41c206
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 0x5a6ee4
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x5c]
call fcn.0040c4c0
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 [0x6e31d0]
push 0
cmp eax, 1
jne 0x41c256
push 0
push 0
push 0x41c4b0
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 0x41c266
push 0
push 0
push 0x41c430
jmp 0x41c239
cmp eax, 3
jne 0x41c276
push 0
push 0
push 0x40d1d0
jmp 0x41c239
cmp eax, 4
jne 0x41c2a7
push 0
push 0
push 0x40f2d0
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 0x41c24e
jmp 0x41c250
Function at 0x41c2b0
Capabilities:
Create thread

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

Function at 0x41c2d0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x20a00
call fcn.00597590
mov eax, dword [0x6d28d0]
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 0x41c3cd
push ebx
lea ebx, [ebp - 0x209f4]
lea esp, [esp]
push edi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x41c3aa
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 0x41c3aa
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 0x41c39e
lea ebx, [ebx]
cmp ecx, dword [ebp + eax*4 - 0x400]
je 0x41c39e
inc eax
cmp eax, esi
jl 0x41c390
cmp eax, esi
jne 0x41c3aa
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 0x41c310
mov eax, dword [ebp - 0x209fc]
pop ebx
test eax, eax
je 0x41c3cd
cmp esi, 1
jg 0x41c3e5
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00597574
mov esp, ebp
pop ebp
ret
call fcn.0041c080
int3

Function at 0x41c530
Capabilities:
Create thread

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