joyce8/EMBER2024-capa huggingface dataset:
Function at 0x427d10
Capabilities:
Create thread

Disassembly:
push esi
lea eax, [esp + 8]
push eax
push 0
mov esi, ecx
mov ecx, dword [esp + 0x10]
push ecx
push edx
push 0
push 0
call sub.MSVCRT.dll__beginthreadex
add esp, 0x18
mov dword [esi], eax
pop esi
test eax, eax
je 0x427d38
xor eax, eax
ret 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x427d47
mov eax, 1
ret 4

Function at 0x4289a0
Capabilities:
Hash data using sha256

Disassembly:
mov eax, dword [0x434158]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x20], 0x6a09e667
mov dword [ecx + 0x24], 0xbb67ae85
mov dword [ecx + 0x28], 0x3c6ef372
mov dword [ecx + 0x2c], 0xa54ff53a
mov dword [ecx + 0x30], 0x510e527f
mov dword [ecx + 0x34], 0x9b05688c
mov dword [ecx + 0x38], 0x1f83d9ab
mov dword [ecx + 0x3c], 0x5be0cd19
ret

Function at 0x428fb0
Capabilities:
Hash data using sha256

Disassembly:
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 8]
and eax, 0x3f
mov byte [eax + esi + 0x40], 0x80
inc eax
push edi
mov edi, edx
cmp eax, 0x38
jbe 0x428ff3
cmp eax, 0x40
je 0x428fe5
mov edx, 0x40
sub edx, eax
push edx
lea ecx, [eax + esi + 0x40]
push 0
push ecx
call sub.MSVCRT.dll_memset
add esp, 0xc
mov eax, dword [esi]
push 1
lea edx, [esi + 0x40]
lea ecx, [esi + 0x20]
call eax
xor eax, eax
mov ecx, 0x38
sub ecx, eax
push ecx
lea edx, [eax + esi + 0x40]
push 0
push edx
call sub.MSVCRT.dll_memset
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
shld ecx, eax, 3
add eax, eax
add eax, eax
add eax, eax
bswap ecx
bswap eax
add esp, 0xc
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], eax
mov eax, dword [esi]
push 1
lea edx, [esi + 0x40]
lea ecx, [esi + 0x20]
call eax
lea ecx, [esi + 0x20]
mov edx, 4
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
bswap ebp
bswap eax
mov dword [edi], ebp
mov dword [edi + 4], eax
add edi, 8
add ecx, 8
dec edx
jne 0x429038
xor eax, eax
pop edi
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x20], 0x6a09e667
mov dword [esi + 0x24], 0xbb67ae85
mov dword [esi + 0x28], 0x3c6ef372
mov dword [esi + 0x2c], 0xa54ff53a
mov dword [esi + 0x30], 0x510e527f
mov dword [esi + 0x34], 0x9b05688c
mov dword [esi + 0x38], 0x1f83d9ab
mov dword [esi + 0x3c], 0x5be0cd19
pop esi
pop ebp
pop ebx
ret

Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43200c
nop
nop
nop
nop
pop eax
nop
add eax, 0x40729f
nop
sub eax, 0x407245
nop
mov ebx, dword [eax]
nop
nop
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
nop
nop
add ebx, 4
nop
cmp ebx, ecx
nop
nop
nop
nop
nop
nop
nop
jl 0x432030
nop
add eax, 0xc
nop
nop
nop
nop
nop
cmp dword [eax], 0
nop
nop
nop
nop
jne 0x43201e
nop
nop
nop
nop
popal
nop
jmp 0x431219
Function at 0x401219
Capabilities:
Terminate process

Disassembly:
mov eax, dword fs:[0]
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x40401c
push 0x40109a
push eax
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
push eax
fnstcw word [esp]
or word [esp], 0x300
fldcw word [esp]
add esp, 4
push 0
push 0
push 0x404028
push 0x404024
push 0x404020
call sub.CRTDLL.DLL___GetMainArgs
push dword [0x404028]
push dword [0x404024]
push dword [0x404020]
mov dword [0x404014], esp
call fcn.0040129c
add esp, 0x18
xor ecx, ecx
mov dword [ebp - 4], ecx
push eax
call sub.CRTDLL.DLL_exit
leave
ret

Function at 0x40129c
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
push esi
xor esi, esi
mov dword [ebp - 0x84], 1
mov dword [ebp - 0x88], 0x112e
mov dword [ebp - 0x8c], 0x54
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
jmp 0x401314
mov dword [ebp - 0x94], 0x18d3
mov eax, dword [ebp - 0x94]
or eax, eax
jl 0x4012fa
cmp eax, dword [0x4040e0]
jge 0x4012fa
cmp byte [eax + 0x4040e4], 0x71
jl 0x40130d
add dword [ebp - 0x94], 0xfffffe85
cmp dword [ebp - 0x94], 0x37
jg 0x4012de
sub dword [ebp - 0x90], 0x57
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x8c]
jle 0x40132a
cmp eax, dword [0x4040e0]
jl 0x4012d4
add dword [ebp - 0x8c], 0x12a
cmp dword [ebp - 0x8c], 0x172c
jl 0x4012c6
sub dword [ebp - 0x88], 0x15d
cmp dword [ebp - 0x88], 0x41
jg 0x4012bc
call fcn.00401bed
mov esi, eax
and dword [ebp - 4], 0
lea eax, [ebp - 4]
push eax
mov eax, esi
or al, 0x40
push eax
mov eax, dword [fcn.00401edc]
mov edx, dword [0x4040dc]
sub edx, eax
push edx
push dword [0x4040d8]
call sub.KERNEL32.dll_VirtualProtect
cmp dword [ebp - 4], 0
je 0x401496
mov dword [ebp - 0x8c], 0x5a
mov dword [ebp - 0x98], 0x27d
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
mov ecx, 0x27d
cmp ecx, eax
jle 0x4013cd
mov dword [ebp - 0x94], 0x27d
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x90], eax
jmp 0x401429
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x9c], eax
jmp 0x40140c
mov eax, dword [ebp - 0x9c]
or eax, eax
jl 0x401405
cmp eax, dword [0x4040e0]
jge 0x401405
cmp byte [eax + 0x4040e4], 0x12
jle 0x401422
sub dword [ebp - 0x9c], 0x37
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0x8c]
jle 0x401422
cmp eax, dword [0x4040e0]
jl 0x4013e9
add dword [ebp - 0x90], 0x3d
mov eax, dword [ebp - 0x90]
cmp eax, dword [ebp - 0x94]
jge 0x40143b
or eax, eax
jg 0x4013db
add dword [ebp - 0x8c], 0x252
cmp dword [ebp - 0x8c], 0x1435
jl 0x401398
push esi
call fcn.0040194a
lea eax, [ebp - 0x84]
push eax
push esi
call fcn.00401a59
mov eax, esi
add eax, 0x1ce00
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x84]
push eax
mov eax, dword [ebp - 0x88]
mov ecx, esi
inc ecx
cdq
idiv ecx
push eax
push 0x4040e4
call fcn.00401edc
add esp, 0x18
xor eax, eax
pop esi
leave
ret
Function at 0x4017c2
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov esi, dword [ebp + 0x10]
mov ebx, esi
add ebx, 0xc8
or esi, esi
je 0x4017e6
mov eax, dword [ebp + 0xc]
mov edx, eax
add edx, eax
mov dword [ebp - 0xc], edx
jmp 0x4017ec
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
cdq
idiv ebx
mov dword [ebp - 8], eax
and dword [ebp - 4], 0
jmp 0x401935
mov edi, dword [ebp - 4]
mov ecx, esi
shl edi, cl
imul edi, ebx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 8]
cmp dword [ebp - 4], eax
jne 0x401847
mov edi, dword [ebp + 0xc]
mov edx, dword [ebp - 4]
mov dword [ebp - 0x1c], edx
mov eax, esi
mov dword [ebp - 0x18], eax
mov ecx, edi
or cl, 1
cdq
idiv ecx
mov dword [ebp - 0x20], eax
mov edx, eax
add edx, edi
mov edi, dword [ebp - 0x1c]
mov ecx, edi
mov edi, esi
sar edi, cl
mov ecx, dword [ebp - 0x1c]
sub ecx, edi
mov edi, ecx
imul edi, ebx
mov ebx, edx
sub ebx, edi
or ebx, ebx
je 0x401945
and dword [ebp - 0x10], 0
push esi
call fcn.0040149b
mov dword [ebp - 0x34], eax
mov edi, dword [ebp - 0x14]
xor edi, esi
mov edx, eax
mov ecx, esi
inc ecx
mov eax, edx
imul eax, ecx
mov ecx, ebx
mov edx, esi
shl edx, cl
mov ecx, ebx
add ecx, edx
cdq
idiv ecx
add edi, edx
mov dword [ebp - 0x28], edi
mov eax, edi
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
mov edx, esi
dec edx
and eax, edx
mov byte [ebp - 0x35], al
push esi
call fcn.0040149b
add esp, 8
mov dword [ebp - 0x2c], eax
mov edi, eax
mov edx, dword [ebp - 0x14]
or edx, esi
mov dword [ebp - 0x40], edx
mov eax, esi
mov dword [ebp - 0x3c], eax
mov ecx, edi
or cl, 1
cdq
idiv ecx
mov dword [ebp - 0x44], eax
mov edx, eax
add edi, eax
mov eax, edi
mov edi, ebx
or di, 1
mov edx, esi
imul edx, edi
mov ecx, ebx
sub ecx, edx
cdq
idiv ecx
mov edi, dword [ebp - 0x40]
add edi, edx
mov dword [ebp - 0x30], edi
mov eax, edi
mov edx, dword [ebp + 8]
movzx eax, byte [edx + eax]
add eax, esi
mov byte [ebp - 0x21], al
mov dword [ebp - 0x4c], edx
movzx eax, byte [ebp - 0x35]
mov dword [ebp - 0x48], eax
mov ecx, esi
inc ecx
xor edx, edx
div ecx
mov dword [ebp - 0x50], eax
mov edx, eax
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + edi], dl
or esi, esi
je 0x40190f
movzx eax, byte [ebp - 0x21]
mov edx, eax
add edx, eax
mov dword [ebp - 0x54], edx
jmp 0x401916
movzx eax, byte [ebp - 0x21]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp + 8]
mov ecx, dword [ebp - 0x54]
mov byte [edx + eax], cl
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x7e8
jl 0x401853
inc dword [ebp - 4]
mov edi, dword [ebp - 8]
mov ecx, esi
sar edi, cl
cmp dword [ebp - 4], edi
jle 0x4017fe
pop edi
pop esi
pop ebx
leave
ret
Function at 0x401bed
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b4
push ebx
push esi
push edi
and dword [ebp - 0x19c], 0
xor edi, edi
mov dword [ebp - 0x2a4], 0x56
mov dword [ebp - 0x2a8], 0x245d
jmp 0x401d34
mov eax, dword [ebp - 0x2a8]
or eax, eax
jl 0x401c3b
cmp eax, dword [0x4040e0]
jge 0x401c3b
cmp byte [eax + 0x4040e4], 0x38
jg 0x401d4a
mov dword [ebp - 0x2ac], 0x1548
mov eax, dword [ebp - 0x2ac]
or eax, eax
jl 0x401c6a
cmp eax, dword [0x4040e0]
jge 0x401c6a
movsx eax, byte [eax + 0x4040e4]
cmp eax, 0xed
jle 0x401d2a
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x2b0], eax
jmp 0x401cfe
mov eax, dword [ebp - 0x2b0]
or eax, eax
jl 0x401c9c
cmp eax, dword [0x4040e0]
jge 0x401c9c
movsx eax, byte [eax + 0x4040e4]
cmp eax, 0xa5
je 0x401d13
mov dword [ebp - 0x2b4], 0x5b
mov eax, dword [ebp - 0x2b4]
or eax, eax
jl 0x401cc2
cmp eax, dword [0x4040e0]
jge 0x401cc2
cmp byte [eax + 0x4040e4], 0x79
jge 0x401cf4
mov eax, dword [ebp - 0x2b4]
or eax, eax
jl 0x401cde
cmp eax, dword [0x4040e0]
jge 0x401cde
cmp byte [eax + 0x4040e4], 0x33
jg 0x401cf4
add dword [ebp - 0x2b4], 0x19c
cmp dword [ebp - 0x2b4], 0xe2e
jl 0x401ca6
add dword [ebp - 0x2b0], 0x9c
mov eax, dword [ebp - 0x2b0]
cmp eax, 0x56b
jge 0x401d13
or eax, eax
jg 0x401c7b
add dword [ebp - 0x2ac], 0xfffffee5
cmp dword [ebp - 0x2ac], 1
jg 0x401c45
add dword [ebp - 0x2a8], 0x4ce
mov eax, dword [ebp - 0x2a8]
cmp eax, dword [ebp - 0x2a4]
jge 0x401d4a
or eax, eax
jg 0x401c1b
add dword [ebp - 0x2a4], 0x152
cmp dword [ebp - 0x2a4], 0xc73
jl 0x401c0c
lea eax, [ebp - 0x104]
push eax
push 0x104
call sub.KERNEL32.dll_GetTempPathA
and dword [ebp - 0x198], 0
lea eax, [ebp - 0x198]
push eax
call sub.KERNEL32.dll_GetVersionExA
push 0
push 0
push 3
push 0
push 0
push 0x80000000
lea eax, [ebp - 0x104]
push eax
call sub.KERNEL32.dll_CreateFileA
mov ebx, eax
mov byte [ebp - 0x104], 0
call sub.KERNEL32.dll_GetLastError
mov esi, eax
mov dword [ebp - 0x2a4], 0x12
mov eax, dword [ebp - 0x2a4]
or eax, eax
jl 0x401de2
cmp eax, dword [0x4040e0]
jge 0x401de2
movsx eax, byte [eax + 0x4040e4]
cmp eax, 0x8b
jg 0x401eb8
mov dword [ebp - 0x2a8], 0x1a0a
mov dword [ebp - 0x2ac], 0xa46
mov dword [ebp - 0x2b0], 0x35
mov eax, dword [ebp - 0x2b0]
or eax, eax
jl 0x401e21
cmp eax, dword [0x4040e0]
jge 0x401e21
movsx eax, byte [eax + 0x4040e4]
cmp eax, 0xf5
jle 0x401e70
and dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x2b4]
or eax, eax
jl 0x401e44
cmp eax, dword [0x4040e0]
jge 0x401e44
cmp byte [eax + 0x4040e4], 0x11
jl 0x401e5a
add dword [ebp - 0x2b4], 0x25b
cmp dword [ebp - 0x2b4], 0x1698
jl 0x401e28
add dword [ebp - 0x2b0], 0x3a5
cmp dword [ebp - 0x2b0], 0x23f7
jl 0x401e00
add dword [ebp - 0x2ac], 0xfffffe7d
cmp dword [ebp - 0x2ac], 0x1b
jg 0x401df6
add dword [ebp - 0x2a8], 0xfffffc3e
cmp dword [ebp - 0x2a8], 0x3f
jg 0x401dec
add dword [ebp - 0x2a4], 0x251
cmp dword [ebp - 0x2a4], 0x24d1
jl 0x401dbd
mov edi, esi
sub edi, 3
push ebx
call sub.KERNEL32.dll_CloseHandle
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret
Function at 0x4670c0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x52000]
push edi
jmp 0x4670da
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x4670e1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x4670d0
mov eax, 1
add ebx, ebx
jne 0x4670f3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x467104
jne 0x467114
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x467114
dec eax
add ebx, ebx
jne 0x467110
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x4670e8
xor ecx, ecx
sub eax, 3
jb 0x46712c
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x46719e
sar eax, 1
mov ebp, eax
jmp 0x467137
add ebx, ebx
jne 0x467137
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x467144
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x467168
inc ecx
add ebx, ebx
jne 0x467154
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x467149
jne 0x467165
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x467149
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x467188
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x467179
jmp 0x4670d6
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x467188
add edi, ecx
jmp 0x4670d6
pop esi
mov edi, esi
mov ecx, 0x915
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x4671a6
cmp byte [edi], 0x11
jne 0x4671a6
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x4671ab
lea edi, [esi + 0x64000]
mov eax, dword [edi]
or eax, eax
je 0x467223
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0xa2318]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0xa23a4]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x4671d8
mov ecx, edi
jns 0x467207
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0xa23a8]
or eax, eax
je 0x46721d
mov dword [ebx], eax
add ebx, 4
jmp 0x4671f5
call dword [esi + 0xa23b8]
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x467254
cmp al, 0xef
ja 0x467247
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x467229
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x467236
mov ebp, dword [esi + 0xa23ac]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x207]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x467288
sub esp, 0xffffff80
jmp 0x40a067
Function at 0x406b81
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x41c3dc]
jne 0x406b8b
repz ret
jmp fcn.0040b47c

Function at 0x4115dc
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x41c3dc]
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.00409b27
and dword [ebp - 0x14], 0
cmp dword [0x41eb08], 0
mov dword [ebp - 0x18], eax
jne 0x41168f
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x411737
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x411737
mov esi, dword [sym.imp.KERNEL32.dll_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x41eb08], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x41eb0c], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x41eb10], eax
call edi
push eax
call esi
mov dword [0x41eb18], eax
test eax, eax
je 0x41168f
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x41eb14], eax
mov eax, dword [0x41eb14]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, ecx
je 0x4116e8
cmp dword [0x41eb18], ecx
je 0x4116e8
push eax
call esi
push dword [0x41eb18]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x4116e8
test ebx, ebx
je 0x4116e8
call edi
test eax, eax
je 0x4116df
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x4116df
test byte [ebp - 8], 1
jne 0x4116e8
or dword [ebp + 0x10], 0x200000
jmp 0x41171b
mov eax, dword [0x41eb0c]
cmp eax, dword [ebp - 0x18]
je 0x41171b
push eax
call esi
test eax, eax
je 0x41171b
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41171b
mov eax, dword [0x41eb10]
cmp eax, dword [ebp - 0x18]
je 0x41171b
push eax
call esi
test eax, eax
je 0x41171b
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x41eb08]
call esi
test eax, eax
je 0x411737
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x411739
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00406b81
leave
ret
Function at 0x10005750
Capabilities:
Enumerate files on windows

Disassembly:
push 0xffffffffffffffff
push 0x1006148b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x180
push ebx
push ebp
mov ebp, ecx
lea ecx, [esp + 8]
lea eax, [ebp + 0x40]
push eax
call fcn.100564a8
mov ecx, dword [esp + 8]
mov dword [esp + 0x190], 0
mov eax, dword [ecx - 8]
test eax, eax
je 0x100057d2
lea edx, [esp + 0x10]
push 1
push edx
lea ecx, [esp + 0x10]
call fcn.100543f7
mov eax, dword [eax]
push 0x1034a1c0
push eax
call fcn.10047344
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
setne bl
call fcn.10056733
test bl, bl
je 0x100057d2
push 0x1034a1c0
lea ecx, [esp + 0xc]
call fcn.10056ac3
push 0x1034dd08
lea ecx, [esp + 0xc]
call fcn.10056ac3
mov ecx, dword [esp + 8]
lea eax, [esp + 0x48]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0xc], eax
jne 0x1000580e
lea ecx, [esp + 8]
mov dword [esp + 0x190], eax
call fcn.10056733
jmp 0x100058d9
push esi
mov esi, dword [esp + 0x19c]
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, 0x23
test byte [esp + 0x50], 0x10
je 0x10005892
lea edx, [esp + 0x7c]
push 0x1034dd04
push edx
call fcn.10047344
add esp, 8
test eax, eax
je 0x10005892
lea eax, [esp + 0x7c]
push 0x1034dd00
push eax
call fcn.10047344
add esp, 8
test eax, eax
je 0x10005892
mov eax, dword [ebp + 0x1c]
lea edx, [esp + 0x1c]
push edx
push 0
lea ecx, [esp + 0x84]
push 0x1100
push eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], 0xffff0003
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 1
mov dword [esp + 0x44], ecx
mov dword [esp + 0x34], ebx
call edi
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x10005822
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [ebp + 0x1c]
push esi
push 2
push 0x1102
push ecx
call edi
lea ecx, [esp + 0x10]
mov dword [esp + 0x198], 0xffffffff
call fcn.10056733
pop edi
pop esi
mov ecx, dword [esp + 0x188]
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18c
ret 4

Function at 0x100060d0
Capabilities:
Query or enumerate registry value

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
sub esp, 0x10c
lea eax, [esp]
push esi
push eax
push 1
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, eax
test esi, esi
jne 0x10006132
mov edx, dword [esp + 4]
lea eax, [esp + 8]
lea ecx, [esp + 0xc]
push eax
push ecx
push esi
push edx
mov dword [esp + 0x18], 0x104
call dword [sym.imp.ADVAPI32.dll_RegQueryValueA]
mov ecx, dword [esp + 0x11c]
lea eax, [esp + 0xc]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edx, dword [esp + 4]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, esi
pop esi
add esp, 0x10c
ret 0xc
Function at 0x10006140
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x1006150b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20c
mov eax, dword [0x10355d98]
push esi
push edi
mov edi, ecx
mov dword [esp + 8], eax
mov eax, dword [edi + 0x44]
mov dword [esp + 0x21c], 0
test eax, eax
jne 0x10006278
mov ecx, dword [edi + 0x48]
lea esi, [edi + 0x48]
mov eax, dword [ecx - 8]
test eax, eax
jne 0x100061a6
lea ecx, [esp + 8]
mov dword [esp + 0x21c], 0xffffffff
call fcn.10056733
xor eax, eax
jmp 0x100062ef
push str.mailto:
lea ecx, [esp + 0xc]
call fcn.10056870
push esi
lea ecx, [esp + 0xc]
call fcn.10056aff
mov ecx, dword [esp + 8]
push ebx
push ebp
mov ebp, dword [esp + 0x22c]
push ebp
push 0
push 0
push ecx
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov esi, eax
cmp esi, 0x20
ja 0x100062cd
lea edx, [esp + 0x14]
mov ecx, edi
push edx
push str..htm
push closesocket
call fcn.100060d0
test eax, eax
jne 0x100062cd
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x14]
push str._shellopencommand
push eax
call ebx
lea ecx, [esp + 0x14]
lea edx, [esp + 0x14]
push ecx
push edx
push closesocket
mov ecx, edi
call fcn.100060d0
test eax, eax
jne 0x100062cd
lea eax, [esp + 0x14]
push 0x1034dd1c
push eax
call fcn.10048380
mov esi, eax
add esp, 8
test esi, esi
jne 0x100062ac
lea ecx, [esp + 0x14]
push 0x1034dd18
push ecx
call fcn.10048300
mov esi, eax
add esp, 8
test esi, esi
jne 0x100062ac
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
lea esi, [esp + eax + 0x13]
jmp 0x100062af
lea edx, [edi + 0x4c]
lea ecx, [esp + 8]
push edx
call fcn.10056820
mov eax, dword [esp + 8]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x100061be
lea ecx, [esp + 8]
mov dword [esp + 0x21c], 0xffffffff
call fcn.10056733
xor eax, eax
jmp 0x100062ef
mov byte [esi], 0
push 0x1034dd14
push esi
call ebx
mov eax, dword [esp + 0x10]
push eax
push esi
call ebx
lea ecx, [esp + 0x14]
push ebp
push ecx
call dword [sym.imp.KERNEL32.dll_WinExec]
mov esi, eax
xor edx, edx
cmp esi, 0x20
setg dl
lea ecx, [esp + 0x10]
mov esi, edx
mov dword [esp + 0x224], 0xffffffff
call fcn.10056733
pop ebp
mov eax, esi
pop ebx
mov ecx, dword [esp + 0x214]
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x218
ret 4