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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
pushal
call 0x10003a8f
pop dword [ebp - 0x38]
mov eax, 0x8205331b
sub eax, 0x7204f88c
sub dword [ebp - 0x38], eax
push 0x40
push 0x1000
push 0x3d003
push 0
mov eax, sym.imp.kernel32.dll_VirtualAlloc
add eax, dword [ebp - 0x38]
call dword [eax]
mov ecx, 0x4aeb
mov edi, eax
mov edx, 0xa29e27e6
add edx, 0x6d69ba1a
add edx, dword [ebp - 0x38]
mov esi, 0x4793348e
sub esi, 0xff8a6c45
xor dword [ebp - 0x30], 0xe2c60a4e
mov ebx, dword [edx]
add dword [ebp - 0x34], ecx
sub ebx, esi
sub dword [ebp - 0x10], eax
mov dword [edi], ebx
add edi, 0xaa9c708
add edi, 0xf55638fc
add edx, 0x323119f6
sub edx, 0x323119f2
loop 0x10003ae3
add eax, 0x7b8d3628
sub eax, 0x7b8c17a9
mov ebx, eax
add eax, 0xc7cba92f
add eax, 0x383456d6
mov ecx, 0x6cd7a796
add ecx, 0xa328586a
add ecx, dword [ebp - 0x38]
call ebx
leave
ret

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx
Function at 0x401140
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x447ca9
mov eax, dword fs:[0]
push eax
push ebx
push esi
mov eax, dword [0x459080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [esi], vtable.CNsBase.0
mov eax, dword [section..data]
mov edx, dword [eax + 0xc]
mov ecx, section..data
call edx
add eax, 0x10
mov dword [esi + 0x4c], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
lea eax, [ebx + 1]
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ebx
mov word [esi + 0x30], pe_nt_image_headers32
mov dword [esi + 0x34], ebx
mov dword [esi + 0x38], 4
mov byte [esi + 0x3c], bl
test byte [0x45c378], al
jne 0x4011e6
or dword [0x45c378], eax
mov ecx, 0x45c37c
mov byte [ebp - 4], al
call sym.Install_ring.exe_public:_void___thiscall_CNsFont::constructor_void_
push 0x448400
call fcn.00417acc
add esp, 4
mov byte [ebp - 4], bl
push ebx
push ebx
push ebx
push ebx
push ebx
mov ecx, 0x45c37c
call sym.Install_ring.exe_public:_struct_HFONT______thiscall_CNsFont::GetFont_int__wchar_t_const___int__int__int_
mov dword [esi + 0x24], eax
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov byte [esi + 0x48], bl
mov dword [esi + 0x50], esi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x402480
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
mov al, byte [ebp + 8]
mov byte [ecx + 0x31], al
test al, al
je 0x40249d
mov eax, dword [ecx + 0x54]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop ebp
ret 4
mov ecx, dword [ecx + 0x54]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
pop ebp
ret 4

Function at 0x403bc0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, 0x66666667
imul dword [esi + 0x18]
push ebx
push edi
sar edx, 1
mov edi, edx
shr edi, 0x1f
add edi, edx
mov ebx, edi
mov dword [ebp - 4], 5
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
push 0x40
sub eax, ebx
push eax
mov eax, dword [esi + 0xc]
push ecx
mov ecx, dword [esi + 0x54]
push edx
push eax
push 0
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
add ebx, edi
dec dword [ebp - 4]
jne 0x403be0
mov edx, dword [esi + 0x54]
push 0
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x54]
push 0
push 0
push 0x200
push eax
mov byte [esi + 0xc7], 1
call dword [sym.imp.USER32.dll_SendMessageW]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x403ef0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, 0x66666667
imul dword [esi + 0x18]
sar edx, 2
push ebx
mov ebx, dword [esi + 0x10]
push edi
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, edi
cdq
sub eax, edx
sar eax, 1
mov byte [esi + 0xc8], 1
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], edi
mov dword [ebp - 8], 9
jmp 0x403f33
mov eax, dword [ebp - 0xc]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
add ebx, eax
mov eax, dword [esi + 0x18]
sub eax, dword [ebp - 4]
push 0x40
push eax
mov eax, dword [esi + 0x54]
push ecx
push ebx
push edx
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0xf
call dword [sym.imp.KERNEL32.dll_Sleep]
add dword [ebp - 4], edi
dec dword [ebp - 8]
jne 0x403f30
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
cdq
push 0x40
sub eax, edx
mov edx, dword [esi + 0xc]
push 1
sar eax, 1
add eax, dword [esi + 0x10]
push ecx
push eax
mov eax, dword [esi + 0x54]
push edx
push 0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esi + 0x54]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 0x54]
push 0
push 0
push 0x200
push edx
mov byte [esi + 0xc7], 1
call dword [sym.imp.USER32.dll_SendMessageW]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x403ff0
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [esi + 0x54]
push ebx
push edi
mov edi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xffffffffffffffec
push eax
call edi
mov ecx, dword [esi + 0x54]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov edx, dword [esi + 0x54]
push 2
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov eax, dword [esi + 0x54]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, 1
mov ecx, dword [esi + 0x54]
push 0xffffffffffffffec
push ecx
call edi
mov edx, dword [esi + 0x54]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push edx
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov al, bl
mov cl, 0x13
imul cl
add al, 0x3c
movzx edx, al
mov eax, dword [esi + 0x54]
push 2
push edx
push 0
push eax
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0xa
jle 0x404033
pop edi
pop ebx
ret
Function at 0x4049b0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, 0x66666667
imul dword [esi + 0x14]
push ebx
push edi
sar edx, 2
mov edi, edx
shr edi, 0x1f
add edi, edx
mov ebx, edi
mov dword [ebp - 4], 0xa
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x10]
push 0x40
push eax
mov eax, dword [esi + 0xc]
sub ecx, ebx
push ecx
mov ecx, dword [esi + 0x54]
push edx
push eax
push 0
push ecx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
add ebx, edi
dec dword [ebp - 4]
jne 0x4049d1
mov ecx, dword [esi + 0x54]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 0x54]
push 0
push 0
push 0x200
push edx
mov byte [esi + 0xc7], 1
call dword [sym.imp.USER32.dll_SendMessageW]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x404c90
Capabilities:
Hide graphical window

Disassembly:
mov ecx, dword [esi + 0x54]
push 0
push ecx
mov dword [esi + 0x68], eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 0x54]
push 0
push 0
push 0x200
push edx
mov byte [esi + 0xc7], 1
call dword [sym.imp.USER32.dll_SendMessageW]
ret

Function at 0x405690
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x4056ec
mov eax, dword [esi + 0x54]
push 0
push 0
push 0x200
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esi + 0x54]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 0x10c]
mov eax, dword [esi + 0x54]
push 0x472
push str.ck_W
push edx
push eax
call sym.Install_ring.exe_int___cdecl_ShowTray_struct_HWND_____struct_HICON_____wchar_t_const___unsigned_int_
mov ecx, dword [esi + 0x54]
push 2
push 0x44bd8c
push 0x44bd94
push ecx
call sym.Install_ring.exe_int___cdecl_ShowBalloon_struct_HWND_____wchar_t_const___wchar_t_const___int_
add esp, 0x20
pop esi
pop ebp
ret 4

Function at 0x406250
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, eax
mov eax, dword [ebp + 8]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
jne 0x406268
pop edi
pop ebp
ret
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
je 0x40629a
mov ecx, dword [ebp + 8]
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
add eax, esi
and edi, 0xf
jbe 0x406296
cmp esi, eax
jae 0x40629a
dec edi
movzx edx, word [esi]
lea esi, [esi + edx*2 + 2]
jne 0x406288
cmp esi, eax
jb 0x4062a0
pop esi
xor eax, eax
pop edi
pop ebp
ret
movzx eax, word [esi]
neg eax
sbb eax, eax
and eax, esi
pop esi
pop edi
pop ebp
ret
Function at 0x409740
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4479f8
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push edi
mov eax, dword [0x459080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [esi + 0x3d0], 0
jle 0x4098ca
xor edi, edi
jmp 0x409780
cmp byte [esi + 0xc7], 0
jne 0x409917
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0x64
jl 0x409780
dec dword [esi + 0x3d0]
mov eax, dword [section..data]
mov edx, dword [eax + 0xc]
mov ecx, section..data
call edx
add eax, 0x10
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
mov eax, dword [esi + 0x3d0]
push eax
push 0x44c0b8
lea edi, [ebp - 0x10]
call fcn.00405ee0
mov edx, dword [ebp - 0x10]
mov ebx, dword [esi + 0x220]
lea eax, [esi + 0x220]
lea edi, [edx - 0x10]
sub ebx, 0x10
add esp, 8
cmp edi, ebx
je 0x409894
cmp dword [ebx + 0xc], 0
jl 0x40988a
mov ecx, dword [edi]
cmp ecx, dword [ebx]
jne 0x40988a
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [edi + 0xc], 0
lea ecx, [edi + 0xc]
jl 0x409827
cmp eax, dword [edi]
jne 0x409827
mov dword [ebp - 0x14], edi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x409863
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x409928
mov ecx, dword [edi + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edi + 4]
lea edx, [ecx + ecx + 2]
push edx
lea edx, [edi + 0x10]
push edx
lea ecx, [ecx + ecx + 2]
push ecx
add eax, 0x10
push eax
call fcn.00418031
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x40987c
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov dword [esi + 0x220], eax
jmp 0x409894
mov ebx, dword [edx - 0xc]
push edx
push eax
call fcn.00405a00
mov edx, dword [esi]
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4098bd
mov ecx, dword [edi]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push edi
call edx
cmp dword [esi + 0x3d0], 0
jg 0x409774
mov ecx, dword [esi + 0x3cc]
mov eax, dword [esi]
mov edx, dword [eax + 0x5c]
push ecx
mov ecx, esi
call edx
mov eax, dword [esi + 0x54]
push 0
mov ebx, 1
push eax
mov dword [esi + 0x68], ebx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi + 0x54]
push 0
push 0
push 0x200
push ecx
mov byte [esi + 0xc7], bl
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [esi + 0x54]
push 0
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00405d50
int3
Function at 0x40c930
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x447716
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push esi
push edi
mov eax, dword [0x459080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x50], ecx
mov esi, dword [ebp - 0x50]
add esi, 0x14
call fcn.00405700
mov dword [ebp - 4], 0
mov esi, dword [ebp - 0x50]
add esi, 0x1c
call fcn.00405700
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x50]
mov dword [edx + 8], 0
mov eax, dword [ebp - 0x50]
mov dword [eax + 0xc], 0
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x10], 0
mov edi, dword [ebp - 0x50]
add edi, 0x14
mov edx, 0x44bef8
call fcn.00405880
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x18], 0
mov edi, dword [ebp - 0x50]
add edi, 0x1c
mov edx, 0x44bef8
call fcn.00405880
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x20], 0
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x24], 0
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x28], 0
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x2c], 0
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x30], 0
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x34], 1
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x38], 0x32
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x3c], 1
mov edx, dword [ebp - 0x50]
mov dword [edx + 0x40], 0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x40db60
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4474fb
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push esi
mov eax, dword [0x459080]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x10], edx
mov eax, dword [ebp + 8]
add eax, 0x14
mov esi, dword [ebp - 0x30]
add esi, 0x14
call fcn.00405720
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x18], edx
mov eax, dword [ebp + 8]
add eax, 0x1c
mov esi, dword [ebp - 0x30]
add esi, 0x1c
call fcn.00405720
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x20]
mov dword [eax + 0x20], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x24]
mov dword [eax + 0x24], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x28]
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x2c]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x30]
mov dword [eax + 0x30], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x34]
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x38]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x40]
mov dword [eax + 0x40], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x411e50
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov dword [ebp - 0x10], ecx
xor eax, eax
cmp dword [ebp + 0x10], 0
setne al
mov dword [ebp - 0xc], eax
xor ecx, ecx
jne 0x411e65
xor edx, edx
jne 0x411e65
cmp dword [ebp - 0xc], 0
jne 0x411e7d
push 0x80004005
call fcn.00406320
xor eax, eax
jne 0x411e59
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 4]
push eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [edx]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 8], eax
cmp dword [ebp + 8], 0
je 0x411f90
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0
jbe 0x411f88
mov edx, dword [ebp - 4]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0
jbe 0x411f77
cmp dword [ebp - 0x14], 2
jbe 0x411ee0
cmp dword [ebp - 0x14], 7
je 0x411f16
jmp 0x411f77
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jne 0x411f05
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
shr eax, 1
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + eax*2 - 2]
test edx, edx
je 0x411f14
xor eax, eax
mov ecx, dword [ebp + 8]
mov word [ecx], ax
mov eax, 0xd
jmp 0x411f93
jmp 0x411f86
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jne 0x411f66
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
shr eax, 1
cmp eax, 1
jb 0x411f66
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
shr edx, 1
mov eax, dword [ebp + 8]
movzx ecx, word [eax + edx*2 - 2]
test ecx, ecx
jne 0x411f66
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
shr eax, 1
cmp eax, 1
jbe 0x411f75
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
shr edx, 1
mov eax, dword [ebp + 8]
movzx ecx, word [eax + edx*2 - 4]
test ecx, ecx
je 0x411f75
xor edx, edx
mov eax, dword [ebp + 8]
mov word [eax], dx
mov eax, 0xd
jmp 0x411f93
jmp 0x411f86
xor ecx, ecx
mov edx, dword [ebp + 8]
mov word [edx], cx
mov eax, 0xd
jmp 0x411f93
jmp 0x411f90
xor eax, eax
mov ecx, dword [ebp + 8]
mov word [ecx], ax
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret 0xc
Function at 0x411fa0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0x10], ecx
xor eax, eax
jne 0x411fa9
xor ecx, ecx
jne 0x411fa9
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
shl eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0
lea edx, [ebp - 8]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 4]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x411ff0
mov eax, dword [ebp - 0xc]
jmp 0x41204d
cmp dword [ebp - 4], 1
je 0x412003
cmp dword [ebp - 4], 2
je 0x412003
mov eax, 0xd
jmp 0x41204d
cmp dword [ebp + 0xc], 0
je 0x412041
cmp dword [ebp - 8], 0
je 0x412039
mov eax, dword [ebp - 8]
xor edx, edx
mov ecx, 2
div ecx
test edx, edx
jne 0x412030
mov edx, dword [ebp - 8]
shr edx, 1
mov eax, dword [ebp + 0xc]
movzx ecx, word [eax + edx*2 - 2]
test ecx, ecx
je 0x412037
mov eax, 0xd
jmp 0x41204d
jmp 0x412041
xor edx, edx
mov eax, dword [ebp + 0xc]
mov word [eax], dx
mov ecx, dword [ebp - 8]
shr ecx, 1
mov edx, dword [ebp + 0x10]
mov dword [edx], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret 0xc
Function at 0x416f50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
xor eax, eax
jne 0x416f59
xor ecx, ecx
jne 0x416f59
mov dword [ebp - 4], 0
push 0
lea edx, [ebp - 4]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0xc]
mov eax, dword [edx]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x416f92
call fcn.004174c0
jmp 0x416fa8
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp + 0xc]
je 0x416fa6
push 0x26
call fcn.0040f280
add esp, 4
jmp 0x416fa8
xor eax, eax
mov esp, ebp
pop ebp
ret 8

Function at 0x41799a
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x459080]
jne 0x4179a4
repz ret
jmp fcn.004189d4

Function at 0x420185
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x459080]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.0041c08a
and dword [ebp - 0x14], 0
cmp dword [0x45bed4], 0
mov dword [ebp - 0x18], eax
jne 0x420238
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x4202e0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x4202e0
mov esi, dword [0x459e60]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x45bed4], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x45bed8], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x45bedc], eax
call edi
push eax
call esi
mov dword [0x45bee4], eax
test eax, eax
je 0x420238
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x45bee0], eax
mov eax, dword [0x45bee0]
mov ecx, dword [ebp - 0x18]
mov esi, dword [0x459e64]
cmp eax, ecx
je 0x420291
cmp dword [0x45bee4], ecx
je 0x420291
push eax
call esi
push dword [0x45bee4]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x420291
test ebx, ebx
je 0x420291
call edi
test eax, eax
je 0x420288
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x420288
test byte [ebp - 8], 1
jne 0x420291
or dword [ebp + 0x10], 0x200000
jmp 0x4202c4
mov eax, dword [0x45bed8]
cmp eax, dword [ebp - 0x18]
je 0x4202c4
push eax
call esi
test eax, eax
je 0x4202c4
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4202c4
mov eax, dword [0x45bedc]
cmp eax, dword [ebp - 0x18]
je 0x4202c4
push eax
call esi
test eax, eax
je 0x4202c4
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x45bed4]
call esi
test eax, eax
je 0x4202e0
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x4202e2
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041799a
leave
ret