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

Disassembly:
sub esp, 0x20
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
push ebp
mov ebp, dword [eax + 0x18]
mov eax, dword [edx + 0x18]
push esi
mov esi, dword [edx + 0x105c]
push edi
mov edi, dword [edx + 0x1050]
imul esi, edi
add esi, eax
cmp eax, esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x28], esi
jae 0x4adb36
push ebx
mov edx, dword [edx + 0x1058]
add edx, eax
add edi, eax
cmp eax, edx
mov ebx, eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edx
jae 0x4adb11
movzx ebp, byte [ebx]
movzx esi, byte [ebx + 1]
movzx eax, byte [edi + 1]
movzx edi, byte [edi]
mov edx, eax
push 0xf
pop ecx
and edx, ecx
mov ebx, ebp
and ebx, ecx
add edx, ebx
mov ebx, edi
and ebx, ecx
add edx, ebx
mov ebx, esi
and ebx, ecx
lea edx, [edx + ebx + 2]
mov ecx, eax
and ecx, 0xffff00f0
mov ebx, ebp
and ebx, 0xffff00f0
add ecx, ebx
mov ebx, edi
and ebx, 0xffff00f0
add ecx, ebx
mov ebx, esi
and ebx, 0xffff00f0
shr edx, 2
lea ecx, [ecx + ebx + 0x20]
mov ebx, dword [esp + 0x14]
shr ecx, 2
xor dl, cl
mov ecx, 0xf0
and ax, cx
and bp, cx
and di, cx
and si, cx
and dl, 0xf
add eax, ebp
add eax, edi
mov edi, dword [esp + 0x18]
lea eax, [eax + esi + 0x20]
shr eax, 2
xor dl, al
mov eax, dword [esp + 0x10]
inc dword [esp + 0x10]
inc ebx
inc ebx
inc edi
inc edi
cmp ebx, dword [esp + 0x24]
mov byte [eax], dl
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
jb 0x4ada5f
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
add ebp, dword [edx + 0x1050]
mov edx, dword [ecx]
mov edi, dword [edx + 0x1050]
lea eax, [eax + edi*2]
cmp eax, esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
jb 0x4ada3b
pop ebx
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x20
ret

Function at 0x4b8144
Capabilities:
Check for software breakpoints

Disassembly:
push esi
mov esi, dword [esp + 8]
cmp dword [esi + 0x10], 0xca
jne 0x4b8171
push esi
call fcn.004bfc41
cmp byte [esi + 0x40], 0
pop ecx
je 0x4b816a
mov dword [esi + 0x10], 0xcf
mov al, 1
pop esi
ret
mov dword [esi + 0x10], 0xcb
mov eax, dword [esi + 0x10]
cmp eax, 0xcb
jne 0x4b81e0
mov eax, dword [esi + 0x18c]
cmp byte [eax + 0x10], 0
je 0x4b81d5
mov eax, dword [esi + 8]
test eax, eax
je 0x4b8192
push esi
call dword [eax]
pop ecx
mov eax, dword [esi + 0x18c]
push esi
call dword [eax]
test eax, eax
pop ecx
je 0x4b81d1
cmp eax, 2
je 0x4b81d5
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x4b8187
cmp eax, 3
je 0x4b81b6
cmp eax, 1
jne 0x4b8187
inc dword [ecx + 4]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 8]
cmp dword [eax + 4], ecx
jl 0x4b8187
mov edx, dword [esi + 0x118]
add edx, ecx
mov dword [eax + 8], edx
jmp 0x4b8187
xor al, al
pop esi
ret
mov eax, dword [esi + 0x7c]
mov dword [esi + 0x84], eax
jmp 0x4b81fe
cmp eax, 0xcc
je 0x4b81fe
mov eax, dword [esi]
mov dword [eax + 0x14], 0x12
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov dword [eax + 0x18], ecx
mov eax, dword [esi]
push esi
call dword [eax]
pop ecx
call fcn.004b8017
pop esi
ret
Function at 0x4c154b
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0xc]
test edx, edx
jne 0x4c1559
xor eax, eax
pop ebp
ret
cmp dword [ebp + 0x10], 8
push esi
mov esi, dword [ebp + 8]
not esi
mov ecx, 0xff
jb 0x4c162d
mov eax, dword [ebp + 0x10]
push ebx
shr eax, 3
push edi
xor ebx, ebx
mov bl, byte [edx]
mov edi, esi
shr edi, 8
sub dword [ebp + 0x10], 8
xor ebx, esi
and ebx, ecx
mov esi, dword [ebx*4 + 0x4eb6a0]
xor ebx, ebx
xor esi, edi
inc edx
mov bl, byte [edx]
xor ebx, esi
and ebx, ecx
mov edi, dword [ebx*4 + 0x4eb6a0]
xor ebx, ebx
shr esi, 8
xor edi, esi
inc edx
mov bl, byte [edx]
xor ebx, edi
and ebx, ecx
mov esi, dword [ebx*4 + 0x4eb6a0]
xor ebx, ebx
shr edi, 8
xor esi, edi
inc edx
mov bl, byte [edx]
xor ebx, esi
and ebx, ecx
mov edi, dword [ebx*4 + 0x4eb6a0]
xor ebx, ebx
shr esi, 8
xor edi, esi
inc edx
mov bl, byte [edx]
xor ebx, edi
and ebx, ecx
mov esi, dword [ebx*4 + 0x4eb6a0]
xor ebx, ebx
shr edi, 8
xor esi, edi
inc edx
mov bl, byte [edx]
xor ebx, esi
and ebx, ecx
mov edi, dword [ebx*4 + 0x4eb6a0]
shr esi, 8
xor edi, esi
xor ebx, ebx
inc edx
mov bl, byte [edx]
xor ebx, edi
and ebx, ecx
mov esi, dword [ebx*4 + 0x4eb6a0]
shr edi, 8
xor esi, edi
xor ebx, ebx
inc edx
mov bl, byte [edx]
xor ebx, esi
and ebx, ecx
mov edi, dword [ebx*4 + 0x4eb6a0]
shr esi, 8
xor esi, edi
inc edx
dec eax
jne 0x4c1576
pop edi
pop ebx
cmp dword [ebp + 0x10], 0
je 0x4c164d
xor eax, eax
mov al, byte [edx]
xor eax, esi
and eax, ecx
mov eax, dword [eax*4 + 0x4eb6a0]
shr esi, 8
xor esi, eax
inc edx
dec dword [ebp + 0x10]
jne 0x4c1633
mov eax, esi
not eax
pop esi
pop ebp
ret
Function at 0x557f90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
add ecx, 0xf8
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
add eax, dword [edx + 0x78]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x1c]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x1c]
add eax, dword [edx + 0x1c]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
jmp 0x557ffc
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp eax, dword [edx + 0x18]
jae 0x558045
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.005714a0
add esp, 8
test eax, eax
jne 0x558043
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dx, word [ecx + eax*2]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
add ecx, dword [eax + edx*4]
mov eax, ecx
jmp 0x558047
jmp 0x557ff3
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x56433a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0xc], 0
jne 0x56434a
xor eax, eax
jmp 0x564513
mov eax, dword [ebp + 8]
xor eax, 0xffffffff
mov dword [ebp + 8], eax
cmp dword [ebp + 0x10], 8
jb 0x5644cb
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0xc]
xor edx, edx
mov dl, byte [ecx]
mov eax, dword [ebp + 8]
xor eax, edx
and eax, 0xff
mov ecx, dword [ebp + 8]
shr ecx, 8
mov edx, dword [eax*4 + 0x595ef4]
xor edx, ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 1
mov dword [ebp + 0xc], eax
mov ecx, dword [ebp + 0x10]
sub ecx, 8
mov dword [ebp + 0x10], ecx
jmp 0x564353
cmp dword [ebp + 0x10], 0
je 0x56450d
mov edx, dword [ebp + 0xc]
xor eax, eax
mov al, byte [edx]
mov ecx, dword [ebp + 8]
xor ecx, eax
and ecx, 0xff
mov edx, dword [ebp + 8]
shr edx, 8
mov eax, dword [ecx*4 + 0x595ef4]
xor eax, edx
mov dword [ebp + 8], eax
mov ecx, dword [ebp + 0xc]
add ecx, 1
mov dword [ebp + 0xc], ecx
mov edx, dword [ebp + 0x10]
sub edx, 1
mov dword [ebp + 0x10], edx
cmp dword [ebp + 0x10], 0
jne 0x5644d1
mov eax, dword [ebp + 8]
xor eax, 0xffffffff
pop ebp
ret
Function at 0x10001cd0
Capabilities:
Set registry value

Disassembly:
mov edx, dword [esp + 4]
push 4
lea eax, [esp + 0xc]
push eax
mov eax, dword [ecx]
push 4
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
ret 8

Function at 0x10001cf0
Capabilities:
Set registry value

Disassembly:
push esi
mov esi, dword [esp + 0xc]
test esi, esi
push edi
mov edi, ecx
jne 0x10001d06
push 0x80004005
call fcn.10001140
push esi
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov ecx, dword [esp + 0xc]
mov edx, dword [edi]
add eax, 1
push eax
mov eax, dword [esp + 0x18]
push esi
push eax
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop edi
pop esi
ret 0xc

Function at 0x10001d30
Capabilities:
Set registry value

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0x10]
test ebp, ebp
mov dword [esp + 4], ecx
jne 0x10001d48
push 0x80004005
call fcn.10001140
push ebx
mov ebx, dword [sym.imp.KERNEL32.DLL_lstrlenA]
push esi
push edi
xor edi, edi
mov esi, ebp
push esi
call ebx
add eax, 1
add esi, eax
add edi, eax
cmp eax, 1
jne 0x10001d55
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
push edi
push ebp
push 7
push 0
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop edi
pop esi
pop ebx
pop ebp
pop ecx
ret 8
Function at 0x10003790
Capabilities:
Delete registry key
Query or enumerate registry key

Disassembly:
push 0xffffffffffffffff
push 0x1017736b
mov eax, dword fs:[0]
push eax
sub esp, 0x11c
mov eax, dword [0x101ce2f4]
xor eax, esp
mov dword [esp + 0x118], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101ce2f4]
xor eax, esp
push eax
lea eax, [esp + 0x130]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x140]
xor esi, esi
mov ebp, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x138], esi
mov eax, dword [ebp]
lea ecx, [esp + 0x1c]
push ecx
push 0x2001f
push esi
push ebx
push eax
mov dword [esp + 0x30], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov edi, eax
cmp edi, esi
jne 0x100038c2
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp ecx, esi
je 0x1000381e
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x14], esi
cmp eax, esi
mov ecx, dword [esp + 0x1c]
mov edi, eax
mov dword [esp + 0x14], ecx
jne 0x100038c2
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
lea edx, [esp + 0x24]
push edx
push esi
push esi
push esi
lea eax, [esp + 0x28]
push eax
lea edx, [esp + 0x40]
push edx
push esi
push ecx
mov dword [esp + 0x38], 0x100
call edi
test eax, eax
jne 0x100038a2
jmp 0x10003860
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x18]
call fcn.10003790
mov ebx, eax
cmp ebx, esi
jne 0x1000390c
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x18]
push esi
push esi
push esi
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x40]
push eax
push esi
push ecx
mov dword [esp + 0x38], 0x100
call edi
test eax, eax
je 0x10003860
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x100038b5
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x14], esi
mov edx, dword [ebp]
push ebx
push edx
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov edi, eax
mov dword [esp + 0x138], 0xffffffff
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x100038e0
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x14], esi
mov eax, edi
mov ecx, dword [esp + 0x130]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.1011717a
add esp, 0x128
ret 4
mov dword [esp + 0x138], 0xffffffff
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x1000392a
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x14], esi
mov eax, ebx
jmp 0x100038e2
Function at 0x1000b0e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x50
mov eax, dword [0x101ce2f4]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
push ebp
mov dword [esp + 0x24], eax
mov eax, 0x6c
mov dword [esp + 0x20], edx
mov edx, 0x64
push esi
push edi
mov dword [esp + 0x24], ecx
mov word [esp + 0x44], 0x6e
mov word [esp + 0x46], 0x74
mov word [esp + 0x48], dx
mov word [esp + 0x4a], ax
mov word [esp + 0x4c], ax
mov word [esp + 0x4e], 0x2e
mov word [esp + 0x50], dx
mov word [esp + 0x52], ax
mov word [esp + 0x54], ax
mov word [esp + 0x56], 0
mov esi, esi
mov cl, 0x72
mov byte [esp + 0x32], al
mov al, 0x65
mov byte [esp + 0x30], 0x52
mov byte [esp + 0x31], 0x74
mov byte [esp + 0x33], 0x43
mov byte [esp + 0x34], cl
mov byte [esp + 0x35], al
mov byte [esp + 0x36], 0x61
mov byte [esp + 0x37], 0x74
mov byte [esp + 0x38], al
mov byte [esp + 0x39], 0x55
mov byte [esp + 0x3a], 0x73
mov byte [esp + 0x3b], al
mov byte [esp + 0x3c], cl
mov byte [esp + 0x3d], 0x54
mov byte [esp + 0x3e], 0x68
mov byte [esp + 0x3f], cl
mov byte [esp + 0x40], al
mov byte [esp + 0x41], 0x61
mov byte [esp + 0x42], dl
mov byte [esp + 0x43], 0
push eax
pop eax
lea eax, [esp + 0x44]
push eax
call fcn.100f84c0
add esp, 4
mov esi, eax
mov edi, edx
test ah, ah
lea ecx, [esp + 0x30]
push ecx
push edi
push esi
call fcn.100f8d20
add esp, 0xc
mov ecx, eax
mov ebp, edx
test bh, bh
or esi, edi
je 0x1000b23b
mov edx, ecx
or edx, ebp
je 0x1000b23b
xor esi, esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], esi
test eax, eax
xchg ebx, eax
xchg ebx, eax
lea eax, [esp + 0x14]
cdq
push edx
push eax
lea eax, [esp + 0x14]
cdq
push edx
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push esi
push esi
push eax
push edx
mov eax, dword [esp + 0x4c]
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
cdq
push edx
push eax
push 0xa
push ebp
push ecx
call fcn.100f8250
add esp, 0x5c
cmp eax, esi
jne 0x1000b22f
cmp edx, esi
je 0x1000b24f
push edx
push eax
call fcn.100f8c50
add esp, 8
mov edi, edi
pop edi
pop esi
xor eax, eax
pop ebp
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.1011717a
add esp, 0x50
ret
mov ecx, dword [esp + 0xc]
mov eax, ecx
sub eax, 0xffffffff
neg eax
sbb eax, eax
pop edi
and eax, ecx
mov ecx, dword [esp + 0x54]
pop esi
pop ebp
xor ecx, esp
call fcn.1011717a
add esp, 0x50
ret

Function at 0x1000c289
Capabilities:
Create thread

Disassembly:
push dword [ebp + 0x10]
push dword [ebp - 0x148]
push dword [0x101e4e44]
jmp fcn.1000b010
Function at 0x1001cde0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x28
mov eax, dword [0x101ce2f4]
xor eax, esp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
push ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], eax
mov al, 0x64
push ebp
mov ebp, dword [esp + 0x34]
mov cl, 0x61
mov byte [esp + 0xd], al
mov byte [esp + 0x15], al
mov al, 0x6c
push esi
push edi
mov byte [esp + 0x14], cl
mov byte [esp + 0x16], 0x76
mov byte [esp + 0x17], cl
mov byte [esp + 0x18], 0x70
mov byte [esp + 0x19], 0x69
mov byte [esp + 0x1a], 0x33
mov byte [esp + 0x1b], 0x32
mov byte [esp + 0x1c], 0x2e
mov byte [esp + 0x1e], al
mov byte [esp + 0x1f], al
mov byte [esp + 0x20], 0
mov ah, ah
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov esi, eax
test eax, 0x823
nop
test esi, esi
je 0x1001ceeb
mov al, 0x65
mov byte [esp + 0x24], 0x52
mov byte [esp + 0x25], al
mov byte [esp + 0x26], 0x67
mov byte [esp + 0x27], 0x4f
mov byte [esp + 0x28], 0x70
mov byte [esp + 0x29], al
mov byte [esp + 0x2a], 0x6e
mov byte [esp + 0x2b], 0x4b
mov byte [esp + 0x2c], al
mov byte [esp + 0x2d], 0x79
mov byte [esp + 0x2e], 0x45
mov byte [esp + 0x2f], 0x78
mov byte [esp + 0x30], 0x41
mov byte [esp + 0x31], 0
nop
lea edx, [esp + 0x24]
push edx
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
mov edi, eax
test dl, dl
push esi
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
test edi, edi
test edi, edi
je 0x1001ceeb
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
push ebx
push ebp
call edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.1011717a
add esp, 0x28
ret 0x14
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1011717a
add esp, 0x28
ret 0x14

Function at 0x1001eb70
Capabilities:
Create thread

Disassembly:
sub esp, 0xc
push esi
push edi
test dl, dl
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov esi, esi
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc], ecx
mov edx, edx
mov dword [esp + 0x10], 0
push ecx
pop ecx
call fcn.10041000
mov edi, eax
mov ch, ch
push 0
push 0
lea edx, [esp + 0x10]
push edx
push 0x1001eae0
push 0
push 0
call fcn.1011990f
add esp, 0x18
mov esi, eax
test ah, ah
push edi
call fcn.100410c0
add esp, 4
mov ch, ch
test esi, esi
jne 0x1001ebd3
pop edi
xor eax, eax
pop esi
add esp, 0xc
ret
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
mov bl, bl
push esi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
test esi, esi
mov eax, dword [esp + 0x10]
pop edi
pop esi
add esp, 0xc
ret
Function at 0x1001ec00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x2c
mov eax, dword [0x101ce2f4]
xor eax, esp
mov dword [esp + 0x28], eax
mov al, 0x6c
mov dl, 0x77
mov cl, 0x69
push esi
mov byte [esp + 8], 0x44
mov byte [esp + 9], dl
mov byte [esp + 0xa], 0x6d
mov byte [esp + 0xb], 0x61
mov byte [esp + 0xc], 0x70
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], 0x2e
mov byte [esp + 0xf], 0x64
mov byte [esp + 0x10], al
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
push eax
pop eax
mov al, 0x74
mov byte [esp + 0x14], 0x44
mov byte [esp + 0x15], dl
mov byte [esp + 0x16], 0x6d
mov byte [esp + 0x17], 0x53
mov byte [esp + 0x18], 0x65
mov byte [esp + 0x19], al
mov byte [esp + 0x1a], 0x57
mov byte [esp + 0x1b], cl
mov byte [esp + 0x1c], 0x6e
mov byte [esp + 0x1d], 0x64
mov byte [esp + 0x1e], 0x6f
mov byte [esp + 0x1f], dl
mov byte [esp + 0x20], 0x41
mov byte [esp + 0x21], al
mov byte [esp + 0x22], al
mov byte [esp + 0x23], 0x72
mov byte [esp + 0x24], cl
mov byte [esp + 0x25], 0x62
mov byte [esp + 0x26], 0x75
mov byte [esp + 0x27], al
mov byte [esp + 0x28], 0x65
mov byte [esp + 0x29], 0
test eax, eax
lea eax, [esp + 8]
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryA]
mov esi, eax
test ah, ah
test esi, esi
je 0x1001ecfa
lea ecx, [esp + 0x14]
push ecx
push esi
call dword [sym.imp.KERNEL32.DLL_GetProcAddress]
test dl, dl
test eax, eax
je 0x1001ecf1
mov dword [esp + 4], 1
mov ecx, ecx
push 4
lea edx, [esp + 8]
push edx
push 2
push edi
call eax
push eax
pop eax
push esi
call dword [sym.imp.KERNEL32.DLL_FreeLibrary]
mov dl, dl
mov ecx, dword [esp + 0x2c]
pop esi
xor ecx, esp
call fcn.1011717a
add esp, 0x2c
ret
Function at 0x1001f830
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get ntdll base address
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x101782b1
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x101ce2f4]
xor eax, esp
mov dword [esp + 0x2c], eax
push edi
mov eax, dword [0x101ce2f4]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0xc], 0
mov dword [esi + 0x10], esi
mov dword [esp + 0x10], esi
mov dword [esi + 0x14], esi
mov dword [esp + 0x40], 1
mov eax, dword [esi + 0x10]
mov byte [eax], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0xc], 1
mov ah, ah
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
push eax
call fcn.10119ffd
add esp, 4
mov ecx, ecx
mov byte [esp + 0x14], 0x61
mov byte [esp + 0x15], 0x62
mov byte [esp + 0x16], 0x63
mov byte [esp + 0x17], 0x64
mov byte [esp + 0x18], 0x65
mov byte [esp + 0x19], 0x66
mov byte [esp + 0x1a], 0x67
mov byte [esp + 0x1b], 0x68
mov byte [esp + 0x1c], 0x69
mov byte [esp + 0x1d], 0x6a
mov byte [esp + 0x1e], 0x6b
mov byte [esp + 0x1f], 0x6c
mov byte [esp + 0x20], 0x6d
mov byte [esp + 0x21], 0x6e
mov byte [esp + 0x22], 0x6f
mov byte [esp + 0x23], 0x70
mov byte [esp + 0x24], 0x71
mov byte [esp + 0x25], 0x72
mov byte [esp + 0x26], 0x73
mov byte [esp + 0x27], 0x74
mov byte [esp + 0x28], 0x76
mov byte [esp + 0x29], 0x77
mov byte [esp + 0x2a], 0x78
mov byte [esp + 0x2b], 0x79
mov byte [esp + 0x2c], 0x75
mov byte [esp + 0x2d], 0x41
mov byte [esp + 0x2e], 0x42
mov byte [esp + 0x2f], 0x43
mov byte [esp + 0x30], 0x44
mov byte [esp + 0x31], 0x45
mov byte [esp + 0x32], 0x46
mov byte [esp + 0x33], 0x47
test eax, 0x2ea6
call fcn.1011a00a
and eax, reloc.OLEAUT32.dll_VariantInit
jns 0x1001f960
dec eax
or eax, 0xfffffff8
inc eax
add eax, 8
test eax, 0x2856
mov dh, dh
test eax, eax
jle 0x1001f99f
mov edi, eax
call fcn.1011a00a
and eax, 0x8000001f
jns 0x1001f981
dec eax
or eax, 0xffffffe0
inc eax
test ecx, ecx
mov al, byte [esp + eax + 0x14]
add al, 1
mov byte [esp + 8], al
mov ecx, dword [esp + 8]
push ecx
mov ecx, esi
call fcn.1001f780
nop
sub edi, 1
jne 0x1001f970
mov eax, esi
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
pop edi
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.1011717a
add esp, 0x3c
ret