joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10022a00
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 8]
push esi
push edi
dec ecx
nop
xor eax, eax
xor esi, esi
mov dword [ebp - 4], eax
test ecx, ecx
je 0x10022aec
nop
mov ecx, dword [ebx + 4]
dec ecx
shl esi, cl
add esi, esi
mov dword [ebp - 8], esi
jmp 0x10022a30
mov edi, dword [ebx]
mov eax, dword [edi]
cmp eax, 0x270
jne 0x10022a7c
lea eax, [edi + 8]
mov esi, 0x270
mov edx, dword [eax - 4]
lea eax, [eax + 4]
xor edx, dword [eax - 4]
and edx, 0x7fffffff
xor edx, dword [eax - 8]
mov ecx, edx
and cl, 1
movzx ecx, cl
neg ecx
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [eax + 0x62c]
xor ecx, edx
mov dword [eax + 0x9b8], ecx
dec esi
jne 0x10022a43
jmp 0x10022a8a
cmp eax, 0x4e0
jb 0x10022a8a
mov ecx, edi
call fcn.10022b20
mov eax, dword [edi]
mov edx, dword [edi + eax*4 + 4]
inc eax
mov dword [edi], eax
mov ecx, edx
mov eax, dword [edi + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
cmp eax, dword [ebx + 8]
ja 0x10022a30
mov esi, dword [ebp - 8]
mov ecx, dword [ebx + 4]
or esi, eax
mov eax, dword [ebp - 4]
dec ecx
shl eax, cl
mov ecx, dword [ebp + 8]
add eax, eax
or eax, dword [ebx + 8]
dec ecx
mov dword [ebp - 4], eax
cmp eax, ecx
jb 0x10022a20
xor edx, edx
div dword [ebp + 8]
mov ecx, eax
mov edi, edx
xor edx, edx
mov eax, esi
div dword [ebp + 8]
cmp eax, ecx
jb 0x10022b0c
mov ecx, dword [ebp + 8]
dec ecx
cmp edi, ecx
jne 0x10022a10
mov eax, esi
xor edx, edx
div dword [ebp + 8]
pop edi
pop esi
mov eax, edx
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x10022b20
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebx
mov ebx, ecx
mov ecx, 0xe3
push esi
push edi
lea edi, [ebx + 0x9c4]
mov edx, dword [edi + 4]
lea edi, [edi + 4]
xor edx, dword [edi - 4]
and edx, 0x7fffffff
xor edx, dword [edi - 4]
mov eax, edx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr edx, 1
and eax, 0x9908b0df
xor eax, dword [edi + 0x630]
xor eax, edx
mov dword [edi - 0x9c4], eax
dec ecx
jne 0x10022b30
lea esi, [ebx + 0xd50]
mov edi, 0x18c
mov ecx, dword [esi]
lea esi, [esi + 4]
xor ecx, dword [esi]
and ecx, 0x7fffffff
xor ecx, dword [esi - 4]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [esi - 0xd50]
xor eax, ecx
mov dword [esi - 0x9c4], eax
dec edi
jne 0x10022b70
mov ecx, dword [ebx + 0x1380]
xor ecx, dword [ebx + 4]
and ecx, 0x7fffffff
xor ecx, dword [ebx + 0x1380]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx + 0x634]
xor eax, ecx
mov dword [ebx + 0x9c0], eax
mov dword [ebx], edi
pop edi
pop esi
pop ebx
ret
Function at 0x10023bf0
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002ac68
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x1003e01c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0
push 0x10023300
call dword [sym.imp.USER32.dll_EnumWindows]
test eax, eax
jne 0x10023c96
jmp 0x10023c38
cmp dword [0x10040550], eax
je 0x10023c84
sub esp, 0x18
mov ecx, esp
push str.wXEy4213x3cw63cy
call fcn.10003820
lea ecx, [ebp - 0x28]
call fcn.10019f40
add esp, 0x18
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0x10
jb 0x10023c69
mov eax, dword [eax]
push eax
call fcn.10023240
add esp, 4
cmp dword [ebp - 0x14], 0x10
jb 0x10023c84
push dword [ebp - 0x28]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x10023c96
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret

Function at 0x10023cb0
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002ac9b
mov eax, dword fs:[0]
push eax
mov eax, 0x122c
call fcn.100281b0
mov eax, dword [0x1003e01c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ebx, eax
lea eax, [ebp - 0x121c]
push eax
push 0x1000
lea eax, [ebp - 0x1218]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_K32EnumProcessModules]
test eax, eax
je 0x10023d8b
xor esi, esi
test dword [ebp - 0x121c], 0xfffffffc
jbe 0x10023d8b
mov edi, dword [sym.imp.MSVCR120.dll_wcsstr]
push 0x104
lea eax, [ebp - 0x218]
push eax
push dword [ebp + esi*4 - 0x1218]
push ebx
call dword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExW]
test eax, eax
je 0x10023d7d
lea eax, [ebp - 0x218]
push str.speed
push eax
call edi
add esp, 8
test eax, eax
jne 0x10023dae
lea eax, [ebp - 0x218]
push str.seworker
push eax
call edi
add esp, 8
test eax, eax
jne 0x10023dae
lea eax, [ebp - 0x218]
push str.i386
push eax
call edi
add esp, 8
test eax, eax
jne 0x10023dae
mov eax, dword [ebp - 0x121c]
inc esi
shr eax, 2
cmp esi, eax
jb 0x10023d20
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002769f
mov esp, ebp
pop ebp
ret
jmp 0x10023dc0
cmp dword [0x10040550], 0
je 0x10023e29
sub esp, 0x18
mov ecx, esp
push 0x1c
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push str.wXEy420S7H47Hx30Wky530f43o8
mov byte [ecx], 0
call fcn.100039d0
lea ecx, [ebp - 0x1238]
call fcn.10019f40
add esp, 0x18
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0x10
jb 0x10023e08
mov eax, dword [eax]
push eax
call fcn.10023240
add esp, 4
cmp dword [ebp - 0x1224], 0x10
jb 0x10023e29
push dword [ebp - 0x1238]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
jmp 0x10023e3b
jmp 0x10023d92
Function at 0x10024560
Capabilities:
Create thread
Hide thread from debugger
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push edi
push 0x100772f0
push 0
push 0x1003e178
push 0x10023ba0
push 0
push 0
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.NtSetInformationThread
push 0x100351d8
mov dword [ebp - 4], eax
mov dword [0x100772e0], eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
test eax, eax
je 0x100245b6
push 0
push 0
push 0x11
push dword [ebp - 4]
call eax
push 0x100772dc
push 0
push 0x1003e178
push 0x10023a40
push 0
push 0
call esi
push str.NtSetInformationThread
push 0x100351d8
mov dword [ebp - 4], eax
mov dword [0x100772e4], eax
call edi
push eax
call ebx
test eax, eax
je 0x100245f3
push 0
push 0
push 0x11
push dword [ebp - 4]
call eax
push 0x100772ec
push 0
push 0x1003e178
push 0x10023570
push 0
push 0
call esi
push str.NtSetInformationThread
push 0x100351d8
mov dword [ebp - 4], eax
mov dword [0x100772fc], eax
call edi
push eax
call ebx
test eax, eax
je 0x10024630
push 0
push 0
push 0x11
push dword [ebp - 4]
call eax
push 0x10076f54
push 0
push 0x1003e178
push 0x10023aa0
push 0
push 0
call esi
push str.NtSetInformationThread
push 0x100351d8
mov dword [ebp - 4], eax
mov dword [0x100772f4], eax
call edi
push eax
call ebx
test eax, eax
je 0x1002466d
push 0
push 0
push 0x11
push dword [ebp - 4]
call eax
push 0x10076bc8
push 0
push 0x1003e178
push 0x10005f40
push 0
push 0
call esi
push str.NtSetInformationThread
push 0x100351d8
mov dword [ebp - 4], eax
mov dword [0x10076bcc], eax
call edi
push eax
call ebx
test eax, eax
je 0x100246aa
push 0
push 0
push 0x11
push dword [ebp - 4]
call eax
push 0
push 0
push 0
push 0x10022d90
push 0
push 0
call esi
push str.NtSetInformationThread
push 0x100351d8
mov esi, eax
call edi
push eax
call ebx
test eax, eax
je 0x100246d9
push 0
push 0
push 0x11
push esi
call eax
call fcn.10005c10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x100247e0
Capabilities:
Terminate process

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x1003e01c]
xor eax, ebp
mov dword [ebp - 4], eax
jmp 0x10024815
movdqu xmm0, xmmword [0x10035480]
movzx eax, word [0x10035498]
lea edx, [ebp - 0x50]
mov word [ebp - 0x38], ax
mov ecx, str.Conquer.exe
movzx eax, byte [0x1003549a]
movdqu xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x36], al
movq xmm0, qword [0x10035490]
movzx eax, word [0x1003547c]
movq qword [ebp - 0x40], xmm0
movdqu xmm0, xmmword [str.x____x____xx____xxxxxxxxxx]
mov word [ebp - 0x18], ax
movzx eax, byte [0x1003547e]
mov byte [ebp - 0x16], al
lea eax, [ebp - 0x30]
movdqu xmmword [ebp - 0x30], xmm0
push eax
movq xmm0, qword [0x10035474]
movq qword [ebp - 0x20], xmm0
call fcn.1000f750
add esp, 4
mov dword [0x10077344], eax
mov dword [0x10077340], eax
call fcn.100260b0
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.10026580
push 0x100246f0
push 0x10077344
call fcn.10025b40
call fcn.10026110
test eax, eax
je 0x100248c2
push 0
call dword [sym.imp.MSVCR120.dll_exit]
jmp 0x100248d4
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002769f
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret

Function at 0x100249f0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 0xc]
sub eax, 0x10000
push eax
call fcn.10024ba0
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 8]
jbe 0x10024abd
mov edx, dword [ebp - 4]
cmp edx, dword [section..data]
jb 0x10024a3a
mov eax, dword [ebp - 4]
cmp eax, dword [0x1003e004]
ja 0x10024a3a
mov ecx, dword [ebp - 4]
sub ecx, 0x8000000
mov dword [ebp - 4], ecx
jmp 0x10024a0a
push 0x1c
push 0
lea edx, [ebp - 0x24]
push edx
call sub.MSVCR120.dll_memset
add esp, 0xc
push 0x1c
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x10024a60
jmp 0x10024abd
cmp dword [ebp - 0x14], 0x10000
jne 0x10024aa3
cmp dword [ebp - 0x18], 0x10000
jb 0x10024aa3
push 0x40
push 0x3000
push 0x10000
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x10024a96
mov eax, dword [ebp - 8]
jmp 0x10024abf
mov eax, dword [ebp - 4]
sub eax, 0x10000
mov dword [ebp - 4], eax
jmp 0x10024ab8
mov ecx, dword [ebp - 0x20]
sub ecx, 0x10000
push ecx
call fcn.10024ba0
add esp, 4
mov dword [ebp - 4], eax
jmp 0x10024a0a
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x10024ad0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [ebp + 8]
push eax
call fcn.10024bd0
add esp, 4
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 0xc]
jae 0x10024b95
mov edx, dword [ebp - 4]
cmp edx, dword [section..data]
jb 0x10024b15
mov eax, dword [ebp - 4]
cmp eax, dword [0x1003e004]
ja 0x10024b15
mov ecx, dword [ebp - 4]
add ecx, 0x8000000
mov dword [ebp - 4], ecx
jmp 0x10024ae5
push 0x1c
push 0
lea edx, [ebp - 0x24]
push edx
call sub.MSVCR120.dll_memset
add esp, 0xc
push 0x1c
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
test eax, eax
jne 0x10024b3b
jmp 0x10024b95
cmp dword [ebp - 0x14], 0x10000
jne 0x10024b7e
cmp dword [ebp - 0x18], 0x10000
jb 0x10024b7e
push 0x40
push 0x3000
push 0x10000
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x10024b71
mov eax, dword [ebp - 8]
jmp 0x10024b97
mov eax, dword [ebp - 4]
add eax, 0x10000
mov dword [ebp - 4], eax
jmp 0x10024b90
mov ecx, dword [ebp - 0x24]
add ecx, dword [ebp - 0x18]
push ecx
call fcn.10024bd0
add esp, 4
mov dword [ebp - 4], eax
jmp 0x10024ae5
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x10025fa0
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x10040180], eax
je 0x10025fbe
mov eax, 0x10dd
jmp 0x1002609f
mov eax, dword [0x10040190]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x1002603c
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
movzx eax, byte [edx + 0x36]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
jne 0x1002601a
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x10], 0
je 0x1002601a
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
push eax
call fcn.10025050
add esp, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
push edx
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
jmp 0x10025fc6
mov dword [0x10040190], 0
call fcn.10025930
mov ecx, dword [0x1004018c]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x10026089
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.KERNEL32.dll_ResumeThread]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
mov edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
jmp 0x10026054
mov dword [0x1004018c], 0
mov dword [0x10040180], 0
xor eax, eax
mov esp, ebp
pop ebp
ret

Function at 0x10026580
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
cmp dword [0x10040184], 0
je 0x10026599
mov eax, dword [0x10040184]
jmp 0x10026639
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp dword [ebp + 8], eax
jne 0x100265ab
xor eax, eax
jmp 0x10026639
push 8
call fcn.100278cc
add esp, 4
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x10026601
mov dword [ebp - 8], 8
cmp dword [ebp - 4], 0
je 0x100265ea
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
push edx
call sub.MSVCR120.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [ebp - 4], 0
mov eax, dword [ebp - 8]
mov dword [0x10040184], eax
mov dword [0x10040188], 0
mov eax, dword [ebp - 8]
jmp 0x10026639
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
jne 0x1002661b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 8], eax
jmp 0x100265cb
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [0x1004018c]
mov dword [ecx], edx
mov eax, dword [ebp - 4]
mov dword [0x1004018c], eax
xor eax, eax
mov esp, ebp
pop ebp
ret 4
Function at 0x6b24a690
Capabilities:
Write file on windows

Disassembly:
push ebx
sub esp, 0x18
mov dword [esp], 2
lea ebx, [esp + 0x24]
call fcn.6b2592d0
mov dword [esp + 8], 0x1b
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.Mingw_w64_runtime_failure:_n
call sub.msvcrt.dll_fwrite
mov dword [esp], 2
call fcn.6b2592d0
mov edx, dword [esp + 0x20]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
lea esi, [esi]

Function at 0x6b24a6f0
Capabilities:
Allocate or change rwx memory

Disassembly:
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x30
mov esi, dword [0x6b367054]
test esi, esi
jle 0x6b24a810
mov eax, dword [0x6b367058]
xor ecx, ecx
add eax, 0xc
mov edx, dword [eax]
cmp ebx, edx
jb 0x6b24a724
mov edi, dword [eax + 4]
add edx, dword [edi + 8]
cmp ebx, edx
jb 0x6b24a7a7
add ecx, 1
add eax, 0x14
cmp ecx, esi
jne 0x6b24a710
mov dword [esp], ebx
call fcn.6b24aee0
mov edi, eax
test eax, eax
je 0x6b24a837
mov eax, dword [0x6b367058]
lea ebx, [esi + esi*4]
shl ebx, 2
add eax, ebx
mov dword [eax + 0x10], edi
mov dword [eax], 0
call fcn.6b24b020
mov edx, dword [0x6b367058]
add eax, dword [edi + 0xc]
mov dword [edx + ebx + 0xc], eax
lea edx, [esp + 0x14]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], edx
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
sub esp, 0xc
test eax, eax
je 0x6b24a817
mov eax, dword [esp + 0x28]
lea edx, [eax - 0x40]
and edx, 0xffffffbf
je 0x6b24a7a0
lea edx, [eax - 4]
and edx, 0xfffffffb
jne 0x6b24a7b0
add dword [0x6b367054], 1
add esp, 0x30
pop ebx
pop esi
pop edi
ret
cmp eax, 2
mov edx, 4
mov eax, 0x40
mov ecx, dword [esp + 0x20]
cmove eax, edx
mov edx, dword [esp + 0x14]
add ebx, dword [0x6b367058]
mov dword [ebx + 8], ecx
mov dword [ebx + 4], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
sub esp, 0x10
test eax, eax
jne 0x6b24a7a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp], str.__VirtualProtect_failed_with_code_0x_x
mov dword [esp + 4], eax
call fcn.6b24a690
lea esi, [esi]
lea esi, [esi]
xor esi, esi
jmp 0x6b24a72e
mov eax, dword [0x6b367058]
mov eax, dword [eax + ebx + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edi + 8]
mov dword [esp], str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov dword [esp + 4], eax
call fcn.6b24a690
mov dword [esp + 4], ebx
mov dword [esp], str.Address__p_has_no_image_section
call fcn.6b24a690
lea esi, [esi]
nop
Function at 0x6b24ab50
Capabilities:
Get thread local storage value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1c
mov dword [esp], 0x6b367064
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ebx, dword [0x6b36705c]
sub esp, 4
test ebx, ebx
je 0x6b24aba5
mov ebp, dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [esi]
mov eax, dword [ebx]
mov dword [esp], eax
call ebp
sub esp, 4
mov esi, eax
call edi
test eax, eax
jne 0x6b24ab9e
test esi, esi
je 0x6b24ab9e
mov eax, dword [ebx + 4]
mov dword [esp], esi
call eax
mov ebx, dword [ebx + 8]
test ebx, ebx
jne 0x6b24ab80
mov dword [esp], 0x6b367064
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret

Function at 0x6b24aee0
Capabilities:
Parse pe header

Disassembly:
xor eax, eax
cmp word [0x6b240000], 0x5a4d
jne 0x6b24af05
mov ecx, dword [0x6b24003c]
cmp dword [ecx + 0x6b240000], 0x4550
lea edx, [ecx + 0x6b240000]
je 0x6b24af10
ret
cmp word [ecx + 0x6b240018], 0x10b
jne 0x6b24af05
push esi
movzx eax, word [ecx + 0x6b240014]
push ebx
movzx esi, word [ecx + 0x6b240006]
mov ebx, dword [esp + 0xc]
lea eax, [edx + eax + 0x18]
sub ebx, 0x6b240000
test si, si
je 0x6b24af58
xor ecx, ecx
mov edx, dword [eax + 0xc]
cmp ebx, edx
jb 0x6b24af4e
add edx, dword [eax + 8]
cmp ebx, edx
jb 0x6b24af5a
add ecx, 1
add eax, 0x28
cmp ecx, esi
jne 0x6b24af40
xor eax, eax
pop ebx
pop esi
ret

Function at 0x6b250290
Capabilities:
Allocate thread local storage

Disassembly:
sub esp, 0x1c
mov dword [0x6b3670c0], 0xffffffff
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffff
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
sub esp, 0x10
mov dword [0x6b3670c4], eax
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x6b250300
mov dword [esp + 4], 0x6b2501a0
mov dword [esp], eax
mov dword [0x6b3670bc], eax
call fcn.6b259b50
test eax, eax
jne 0x6b316d79
add esp, 0x1c
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x6b2502ea
Function at 0x6b259b70
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push edi
push esi
push ebx
sub esp, 0x30
mov eax, dword [0x6b36702c]
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp], 1
mov ebx, dword [esp + 0x40]
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
sub esp, 4
test eax, eax
je 0x6b259bad
mov dword [esp], 0
call dword [sym.imp.USER32.dll_OpenClipboard]
sub esp, 4
test eax, eax
jne 0x6b259be0
mov dword [esp], 0x6b31f176
mov ecx, ebx
call fcn.6b2e2e80
sub esp, 4
mov eax, dword [esp + 0x2c]
sub eax, dword [0x6b36702c]
jne 0x6b259c53
add esp, 0x30
mov eax, ebx
pop ebx
pop esi
pop edi
ret
mov dword [esp], 1
call dword [sym.imp.USER32.dll_GetClipboardData]
sub esp, 4
mov esi, eax
test eax, eax
je 0x6b259c48
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
sub esp, 4
test eax, eax
je 0x6b259c48
mov dword [esp], eax
lea edi, [esp + 0x14]
mov ecx, edi
call fcn.6b2e2e80
sub esp, 4
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
sub esp, 4
call dword [sym.imp.USER32.dll_CloseClipboard]
mov dword [esp], edi
mov ecx, ebx
call fcn.6b2e2790
mov ecx, edi
sub esp, 4
call fcn.6b2e3660
jmp 0x6b259bbe
call dword [sym.imp.USER32.dll_CloseClipboard]
jmp 0x6b259bad
call fcn.6b241590
nop
nop
nop
nop
nop
nop
nop
nop
Function at 0x6b25c170
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ecx, 0x1a
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x80]
mov esi, 0x6b320e25
push ebx
sub esp, 0x9c
mov eax, dword [str.not_enough_space_for_format_expansion__Please_submit_full_bug_report_at_https:__gcc.gnu.org_bugs__:_n]
mov dword [ebp - 0x81], eax
mov eax, dword [0x6b320e89]
mov dword [ebp - 0x1c], eax
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
lea eax, [edx + 0x84]
and eax, 0xfffffff0
call fcn.6b24b1c0
mov ecx, 0x1a
sub esp, eax
lea esi, [ebp - 0x81]
lea ebx, [esp + 0x1b]
and ebx, 0xfffffff0
mov edi, ebx
lea eax, [ebx + 0x68]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 8], edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x8c], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.6b259a70
mov edx, dword [ebp - 0x8c]
mov byte [ebx + edx + 0x68], 0
mov dword [esp], ebx
call fcn.6b315980
nop
nop
nop
nop
nop
nop
nop
push edi
push esi
push ebx
sub esp, 0x20
cmp byte [0x6b31e248], 0
jne 0x6b25c296
mov byte [0x6b31e248], 1
call fcn.6b3135a0
test eax, eax
je 0x6b25c264
mov ebx, dword [eax + 4]
xor eax, eax
cmp byte [ebx], 0x2a
mov dword [esp + 8], 0
sete al
mov dword [esp + 4], 0
add ebx, eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.6b24a340
mov dword [esp], 2
mov esi, dword [fcn.6b2592d0]
mov edi, eax
call esi
mov dword [esp + 8], 0x30
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.terminate_called_after_throwing_an_instance_of_
call sub.msvcrt.dll_fwrite
mov edx, dword [esp + 0x1c]
mov dword [esp], 2
test edx, edx
je 0x6b25c254
call esi
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
mov dword [esp], 2
call esi
mov dword [esp + 8], 2
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x6b321629
call sub.msvcrt.dll_fwrite
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x6b316164
jmp 0x6b31615c
call esi
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_fputs
jmp 0x6b25c21a
mov dword [esp], 2
call dword [0x6b31d0a0]
mov dword [esp + 8], 0x2d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], str.terminate_called_without_an_active_exception_n
call sub.msvcrt.dll_fwrite
jmp 0x6b316157
mov dword [esp], 2
call dword [0x6b31d0a0]
mov dword [esp + 8], 0x1d
mov dword [esp + 0xc], eax
mov dword [esp + 4], 1
mov dword [esp], 0x6b3215d8
call sub.msvcrt.dll_fwrite
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop
nop
nop
call sub.msvcrt.dll_abort
mov dword [esp], edi
call fcn.6b259a38
call fcn.6b3138d0
call fcn.6b313490
call fcn.6b3135d0
jmp 0x6b316157
Function at 0x408913
Capabilities:
Encode data using xor

Disassembly:
sub esp, 4
mov dword [esp], 0x4085d8
pop ecx
inc eax
call fcn.0040893e
add eax, edi
add edi, 0x2b9bb99f
xor dword [ebx], ecx
inc ebx
dec eax
cmp ebx, edx
jne fcn.00408913
mov edi, eax
ret