joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41a8d0
Capabilities:
Create thread
Set file attributes
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x584bd6
push eax
mov dword fs:[0], esp
sub esp, 0x158
cmp dword [0x6bd78c], 1
push esi
jne 0x41a985
push 1
push 0x40
push 8
push str.GameGuard_Log.txt
lea ecx, [ebp - 0x164]
call fcn.0040ba20
lea eax, [ebp - 0x164]
mov dword [ebp - 4], 0
push str._nHT_Scan:
push eax
call fcn.0040a570
lea eax, [ebp - 0x164]
push str.Hide_windows_detected_
push eax
call fcn.0040a570
add esp, 0x10
lea ecx, [ebp - 0x160]
call fcn.004096e0
test eax, eax
jne 0x41a967
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.0040bb20
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 [0x6bd79c], 1
jne 0x41aa6a
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 0x58cec4
call fcn.0040ba20
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 1
push str._nLocal_Time:
push eax
call fcn.0040a570
push esi
call dword [sym.imp.MSVCR120.dll_asctime]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str.HT_Scan:
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str.Hide_windows_detected_
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str._n__________________
push eax
call fcn.0040a570
add esp, 0x2c
lea ecx, [ebp - 0xb8]
call fcn.004096e0
test eax, eax
jne 0x41aa4c
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 0x58cec4
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x5c]
call fcn.0040bb20
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 [0x6bd790]
push 0
cmp eax, 1
jne 0x41aa9c
push 0
push 0
push 0x41acc0
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 0x41aaac
push 0
push 0
push 0x41ac40
jmp 0x41aa7f
cmp eax, 3
jne 0x41aabc
push 0
push 0
push 0x40fac0
jmp 0x41aa7f
cmp eax, 4
jne 0x41aaed
push 0
push 0
push 0x40e7d0
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 0x41aa94
jmp 0x41aa96

Function at 0x41aaf0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x41ac00
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x41ab10
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x209fc
call fcn.00583770
push esi
push edi
xor esi, esi
xor eax, eax
push esi
push esi
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_FindWindowA]
mov edi, eax
test edi, edi
je 0x41abe1
push ebx
lea ebx, [ebp - 0x209f8]
nop
push edi
call dword [sym.imp.USER32.dll_GetParent]
test eax, eax
jne 0x41abc1
lea eax, [ebp - 8]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 8]
push 0
push 0x400
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
jne 0x41abc1
mov eax, dword [ebp - 8]
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 - 4]
add ebx, 0x208
mov ecx, dword [ebp - 8]
xor eax, eax
test esi, esi
jle 0x41abb5
cmp ecx, dword [ebp + eax*4 - 0x404]
je 0x41abb5
inc eax
cmp eax, esi
jl 0x41aba7
cmp eax, esi
jne 0x41abc1
mov dword [ebp + esi*4 - 0x404], ecx
inc esi
push 2
push edi
call dword [sym.imp.USER32.dll_GetWindow]
mov edi, eax
test edi, edi
jne 0x41ab40
mov eax, dword [ebp - 4]
pop ebx
test eax, eax
je 0x41abe1
cmp esi, 1
jg 0x41abef
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
call fcn.0041a8d0
int3

Function at 0x41ad40
Capabilities:
Create thread

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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x584bd6
push eax
mov dword fs:[0], esp
sub esp, 0x158
cmp dword [0x6bd78c], 1
push esi
jne 0x41b4c5
push 1
push 0x40
push 8
push str.GameGuard_Log.txt
lea ecx, [ebp - 0x164]
call fcn.0040ba20
lea eax, [ebp - 0x164]
mov dword [ebp - 4], 0
push str._nI_Scan:
push eax
call fcn.0040a570
lea eax, [ebp - 0x164]
push str.Dll_injection_
push eax
call fcn.0040a570
add esp, 0x10
lea ecx, [ebp - 0x160]
call fcn.004096e0
test eax, eax
jne 0x41b4a7
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.0040bb20
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 [0x6bd79c], 1
jne 0x41b5aa
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 0x58cec4
call fcn.0040ba20
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 1
push str._nLocal_Time:
push eax
call fcn.0040a570
push esi
call dword [sym.imp.MSVCR120.dll_asctime]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str.I_Scan:
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str.Dll_injection_
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str._n__________________
push eax
call fcn.0040a570
add esp, 0x2c
lea ecx, [ebp - 0xb8]
call fcn.004096e0
test eax, eax
jne 0x41b58c
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 0x58cec4
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x5c]
call fcn.0040bb20
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 [0x6bd790]
push 0
cmp eax, 1
jne 0x41b5dc
push 0
push 0
push 0x41b6b0
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 0x41b5ec
push 0
push 0
push 0x41b630
jmp 0x41b5bf
cmp eax, 3
jne 0x41b5fc
push 0
push 0
push 0x40fac0
jmp 0x41b5bf
cmp eax, 4
jne 0x41b62d
push 0
push 0
push 0x40e7d0
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 0x41b5d4
jmp 0x41b5d6
Function at 0x41c850
Capabilities:
Create thread
Encode data using xor
Set file attributes
Terminate process

Disassembly:
push dword [0x6bd6c0]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x41c884
mov ecx, dword [sym.imp.MSVCP120.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
push 0x41b730
push dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___void_const__]
mov ecx, eax
call dword [sym.imp.MSVCP120.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
jmp fcn.0041c2a0
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
ret
Function at 0x41cd30
Capabilities:
Create thread

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

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

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

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x6bd7a0], 1
push ebx
push esi
push edi
jne 0x41edfc
movzx eax, word [0x449081]
push eax
lea eax, [ebp - 0x10]
push 0x591888
push eax
call dword [sym.imp.MSVCR120.dll_sprintf]
mov dword [ebp - 4], str.A__XE
add esp, 0xc
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x41ede5
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 0x41eddc
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 0x41edc3
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 0x41ee13
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0041ea20
int3

Function at 0x41ee60
Capabilities:
Create thread

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

Function at 0x41ee80
Capabilities:
Create thread

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
cmp dword [0x6bd7b4], 1
jne 0x4250ad
call fcn.00425590
mov eax, 1
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 4]
push eax
push 0x28
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x4250ca
xor eax, eax
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0xc]
push eax
push str.SeDebugPrivilege
push 0
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueA]
test eax, eax
je 0x4250c4
mov eax, dword [ebp - 0xc]
push 0
push 0
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
push 0x10
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x1c]
push eax
push 0
push dword [ebp - 4]
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x10], 2
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x4250c4
push dword [ebp - 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x4250c4
push 0
push 0
push 0
push 0x424fe0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x425140
Capabilities:
Create thread
Encode data using xor
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x584c0b
push eax
mov dword fs:[0], esp
sub esp, 0xac
cmp dword [0x6bd78c], 1
push ebx
push esi
push edi
jne 0x42528e
mov dword [ebp - 0x10], 0x58db84
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x4251c3
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 0x4251ba
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 - 0x10]
cmp edx, dword [ebx + 0xf]
jb 0x4251a1
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.0040ba20
mov dword [ebp - 0x10], 0x591010
mov ebx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x10]
add edi, 0x14
mov dword [ebp - 4], 0
cmp byte [ebx + 0x13], 0
je 0x425232
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 0x425229
sub edi, ecx
nop
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 0x425210
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
lea eax, [ebp - 0xb8]
push edi
push eax
call fcn.0040a570
push dword [0x6bd6dc]
lea eax, [ebp - 0xb8]
push eax
call fcn.0040a570
add esp, 0x10
lea ecx, [ebp - 0xb4]
call fcn.004096e0
test eax, eax
jne 0x42527d
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.0040bb20
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 [0x6bd790]
cmp eax, 1
je 0x4252d9
cmp eax, 3
je 0x4252d9
cmp eax, 4
je 0x4252d9
push 0
cmp eax, 2
jne 0x4252cf
push 0
push 0
push 0x4253b0
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 0x4252c9
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
push 0
push 0
push 0x425430
jmp 0x4252b2

Function at 0x425560
Capabilities:
Create thread
Inject dll
Inject thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
test eax, eax
jne 0x42556e
xor al, al
pop ebp
ret
push eax
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
test eax, eax
je 0x42556a
mov dword [ebp + 8], eax
pop ebp
jmp fcn.004254d0

Function at 0x425590
Capabilities:
Create thread

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

Disassembly:
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x426350
push 0
push 0
call esi
push 0
push 0
push 0
push 0x426370
push 0
push 0
call esi
push 0
push 0
push 0
push 0x425f20
push 0
push 0
call esi
pop esi
ret

Function at 0x426be0
Capabilities:
Create thread

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

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0x6bd6a8], 0xb7
push ebx
push esi
push edi
jne 0x426ebf
mov eax, dword [0x6bd790]
cmp eax, 1
jne 0x426dd2
mov dword [ebp - 4], 0x593ed0
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x426db6
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 0x426dad
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 0x426d94
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6bd70c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
cmp eax, 2
jne 0x426e4e
mov dword [ebp - 4], 0x593f20
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x426e32
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 0x426e29
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 0x426e10
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6bd70c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 4], 0x593ed0
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x426ea3
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 0x426e9a
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 0x426e81
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x200030
push dword [0x6bd70c]
push edi
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4273b0
Capabilities:
Create thread
Set file attributes
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x584bd6
push eax
mov dword fs:[0], esp
sub esp, 0x158
cmp dword [0x6bd78c], 1
push esi
jne 0x427450
push 1
push 0x40
push 8
push str.GameGuard_Log.txt
lea ecx, [ebp - 0x164]
call fcn.0040ba20
lea eax, [ebp - 0x164]
mov dword [ebp - 4], 0
push str._nHTTP_Server_connection_fail_
push eax
call fcn.0040a570
add esp, 8
lea ecx, [ebp - 0x160]
call fcn.004096e0
test eax, eax
jne 0x427432
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.0040bb20
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 [0x6bd79c], 1
jne 0x427524
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 0x58cec4
call fcn.0040ba20
lea eax, [ebp - 0xbc]
mov dword [ebp - 4], 1
push str._nLocal_Time:
push eax
call fcn.0040a570
push esi
call dword [sym.imp.MSVCR120.dll_asctime]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str.HTTP_Server_connection_fail_
push eax
call fcn.0040a570
lea eax, [ebp - 0xbc]
push str._n__________________
push eax
call fcn.0040a570
add esp, 0x24
lea ecx, [ebp - 0xb8]
call fcn.004096e0
test eax, eax
jne 0x427506
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 0x58cec4
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea ecx, [ebp - 0x5c]
call fcn.0040bb20
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 [0x6bd790]
cmp eax, 1
je 0x42756f
cmp eax, 3
je 0x42756f
cmp eax, 4
je 0x42756f
push 0
cmp eax, 2
jne 0x427565
push 0
push 0
push 0x427580
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 0x42755f
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0
push 0
push 0
push 0x4275b0
jmp 0x427548

Function at 0x4275e0
Capabilities:
Create thread

Disassembly:
push 0
push 0
push 0
push 0x4271d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
ret
Function at 0x427710
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push edi
push str.USER32.DLL
mov dword [ecx + 4], 0
mov dword [ecx + 0x18], str.SPLASH
mov dword [ecx + 8], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 4], 0x59412c
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 4]
add edi, 0x14
mov dword [ebp - 8], eax
cmp byte [ebx + 0x13], 0
je 0x427795
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 0x427789
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 0x427770
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
mov eax, dword [ebp - 8]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
pop edi
mov dword [0x6bd6b4], eax
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x427a80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x584ca8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20
mov dword [ebp - 0x10], 0x594164
push ebx
mov ebx, dword [ebp - 0x10]
push edi
mov edi, dword [ebp - 0x10]
add edi, 0x14
cmp byte [ebx + 0x13], 0
je 0x427af4
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 - 0x10], ecx
test esi, esi
pop esi
je 0x427aeb
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 - 0x10]
cmp edx, dword [ebx + 0xf]
jb 0x427ad2
mov eax, dword [ebx + 0xf]
mov edi, ecx
mov byte [ecx + eax], 0
push 0x808080
push edi
lea ecx, [ebp - 0x2c]
call fcn.00427600
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0
call fcn.00427a40
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea ecx, [ebp - 0x2c]
call fcn.00427670
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.00427630
mov ecx, dword [ebp - 0xc]
pop edi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret