joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100b9b9
Capabilities:
Query or enumerate registry key

Disassembly:
push ebp
lea ebp, [esp - 0x1a8]
sub esp, 0x228
mov eax, dword [0x10171b0]
push ebx
push esi
push edi
push 0x20019
mov dword [ebp + 0x1a4], eax
mov esi, ecx
call sym.mobsync.dll_RegGetHandlerTopLevelKey
test eax, eax
mov dword [ebp - 0x80], eax
je 0x100baa5
and dword [ebp - 0x7c], 0
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
mov ebx, 0x104
push ebx
lea ecx, [ebp - 0x74]
push ecx
push 0
mov dword [esi + 0x62c], 1
push eax
jmp 0x100ba92
lea eax, [ebp + 0x194]
push eax
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
test eax, eax
jne 0x100ba84
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp + 0x194]
push eax
push dword [esi + 0x634]
call fcn.0100c8ad
test eax, eax
jne 0x100ba84
lea eax, [ebp + 0x194]
push eax
push dword [ebp - 0x78]
push dword [esi + 0x634]
call fcn.0100d55b
xor ecx, ecx
cmp eax, ecx
jne 0x100ba76
push ecx
push ecx
push 0x100
push ecx
push dword [ebp - 0x78]
push dword [esi + 0x634]
call fcn.0100d5f5
test eax, eax
je 0x100ba84
push dword [ebp - 0x78]
push dword [esi + 0x634]
call fcn.0100c930
inc dword [ebp - 0x7c]
push ebx
lea eax, [ebp - 0x74]
push eax
push dword [ebp - 0x7c]
push dword [ebp - 0x80]
call edi
test eax, eax
je 0x100ba12
push dword [ebp - 0x80]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x78]
push eax
push 5
push dword [esi + 0x634]
call fcn.0100d51d
mov edi, eax
test edi, edi
jne 0x100baf6
lea ebx, [esi + 0x10]
push dword [ebp - 0x78]
push dword [esi + 0x634]
call fcn.0100d9be
push ebx
push dword [ebp - 0x78]
push dword [esi + 0x634]
call fcn.0100cfee
lea eax, [ebp - 0x78]
push eax
push 5
push dword [ebp - 0x78]
push dword [esi + 0x634]
call fcn.0100cb6c
mov edi, eax
test edi, edi
je 0x100babf
mov ebx, 0x1002c94
push ebx
mov ecx, esi
call fcn.0100ac97
push ebx
mov ecx, esi
call fcn.0100ad36
mov ecx, dword [ebp + 0x1a4]
mov eax, edi
dec eax
neg eax
sbb eax, eax
and eax, edi
pop edi
pop esi
pop ebx
call fcn.010120f3
add ebp, 0x1a8
leave
ret
Function at 0x100e1b6
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x424
mov eax, dword [0x10171b0]
push ebx
push esi
xor esi, esi
push esi
push 0x20019
push 4
mov dword [ebp - 4], eax
mov dword [ebp - 0x420], esi
call fcn.01007150
mov ebx, eax
cmp ebx, esi
jne 0x100e1eb
xor eax, eax
jmp 0x100e271
push edi
mov edi, 0x104
push edi
lea eax, [ebp - 0x210]
push eax
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
jmp 0x100e260
inc dword [ebp - 0x420]
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x41c]
push eax
push 0
push 0x10000002
push 0x1001d38
lea eax, [ebp - 0x210]
push eax
push ebx
mov dword [ebp - 0x424], 0x20a
call dword [sym.imp.SHLWAPI.dll_SHRegGetValueW]
test eax, eax
jne 0x100e252
push dword [ebp + 0x10]
lea eax, [ebp - 0x41c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x100e27f
push edi
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x420]
push ebx
call esi
test eax, eax
je 0x100e202
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
pop esi
pop ebx
call fcn.010120f3
leave
ret 0xc
push ebx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp + 0xc], 0x7fffffff
jbe 0x100e296
mov eax, 0x80070057
jmp 0x100e2a8
lea eax, [ebp - 0x210]
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0100511a
xor ecx, ecx
test eax, eax
setge cl
mov eax, ecx
jmp 0x100e270

Function at 0x100eaf6
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push 0xfa7
push dword [ecx]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
push ebx
push ebx
push 0x1004
push eax
mov dword [ebp - 4], eax
call esi
cmp eax, ebx
mov dword [ebp - 8], eax
jle 0x100eb60
push edi
push 0xd
pop ecx
xor eax, eax
lea edi, [ebp - 0x3c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3c]
push eax
push 0
push 0x104b
push dword [ebp - 4]
mov dword [ebp - 0x3c], 4
mov dword [ebp - 0x38], ebx
call esi
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x100eb59
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc ebx
cmp ebx, dword [ebp - 8]
jl 0x100eb28
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
leave
ret
Function at 0x100ebd4
Capabilities:
Get graphical window text

Disassembly:
push ebp
lea ebp, [esp - 0x200]
sub esp, 0x280
mov eax, dword [0x10171b0]
push ebx
push esi
push edi
push 0xd
mov dword [ebp + 0x1fc], eax
mov esi, ecx
pop ecx
xor eax, eax
lea edi, [ebp - 0x4c]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x208]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
push eax
push 0
push 0x104b
push 0xfa7
push dword [esi]
mov dword [ebp - 0x14], 0x105
mov dword [ebp - 0x4c], 4
call edi
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call ebx
cmp dword [ebp - 0x48], 0xffffffff
je 0x100ec82
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
push 0
push dword [esi]
mov dword [ebp - 0x18], eax
push eax
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
lea edx, [ebp - 0x14]
push edx
push eax
call dword [ecx + 0x1c]
and dword [ebp - 0x78], 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp + 0x208]
push 0x1074
push 0xfa7
push dword [esi]
call edi
push eax
call ebx
mov ecx, dword [ebp + 0x1fc]
pop edi
xor eax, eax
pop esi
inc eax
pop ebx
call fcn.010120f3
add ebp, 0x200
leave
ret 4
Function at 0x100ee87
Capabilities:
Get graphical window text

Disassembly:
push ebp
lea ebp, [esp - 0xa00]
sub esp, 0xa80
mov eax, dword [0x10171b0]
mov dword [ebp + 0x9fc], eax
push esi
mov esi, ecx
xor eax, eax
cmp dword [esi + 8], eax
mov dword [ebp - 0x48], 0x105
je 0x100f056
push ebx
push edi
push 0xd
pop ecx
lea edi, [ebp - 0x80]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xa08]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x80]
push eax
push 0
push 0x104b
push 0xfa7
push dword [esi]
mov dword [ebp - 0x80], 4
call edi
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call ebx
cmp dword [ebp - 0x7c], 0xffffffff
je 0x100effe
mov eax, dword [ebp - 0x60]
test eax, eax
mov dword [ebp - 0x4c], eax
je 0x100effe
mov ecx, dword [eax]
lea edx, [ebp + 0x5d4]
push edx
lea edx, [ebp - 0x48]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
je 0x100ef29
and word [ebp + 0x7e0], 0
jmp 0x100ef49
lea eax, [ebp + 0x5d4]
push eax
push 0x105
lea eax, [ebp + 0x7e0]
push eax
call fcn.0100511a
test eax, eax
jl 0x100effe
push 0x104
lea eax, [ebp - 0x44]
push eax
push 0x11f8
push dword [0x1017260]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x104
lea eax, [ebp + 0x3cc]
push eax
push 0x11f9
push dword [0x1017260]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp + 0x7e0]
push eax
lea eax, [ebp + 0x3cc]
push eax
lea eax, [ebp + 0x1c4]
push 0x104
push eax
call fcn.010053f6
add esp, 0x10
push 0x24
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0x1c4]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
je 0x100effe
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp + 0x7e0]
push eax
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x48], 0x105
call fcn.0100c42c
test eax, eax
jl 0x100effe
and word [ebp + 0x82c], 0
lea eax, [ebp + 0x7e0]
push eax
push 0x105
lea eax, [ebp + 0x5d4]
push eax
call fcn.0100511a
test eax, eax
jge 0x100f002
xor eax, eax
jmp 0x100f054
lea eax, [ebp + 0x9ec]
push eax
lea eax, [ebp + 0x5d4]
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi + 8]
mov ecx, dword [eax]
lea edx, [ebp + 0x9ec]
push edx
push eax
call dword [ecx + 0x18]
push 0xfa7
push dword [esi]
call edi
push 0
push dword [ebp + 0xa08]
mov esi, eax
push 0x1008
push esi
call ebx
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
inc eax
pop edi
pop ebx
mov ecx, dword [ebp + 0x9fc]
pop esi
call fcn.010120f3
add ebp, 0xa00
leave
ret 4
Function at 0x100eea0
Capabilities:
Get graphical window text

Disassembly:
push ebp
lea ebp, [esp - 0xa00]
sub esp, 0xa80
mov eax, dword [0x10171b0]
mov dword [ebp + 0x9fc], eax
push esi
mov esi, ecx
xor eax, eax
cmp dword [esi + 8], eax
mov dword [ebp - 0x48], 0x105
je 0x100f056
push ebx
push edi
push 0xd
pop ecx
lea edi, [ebp - 0x80]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0xa08]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x80]
push eax
push 0
push 0x104b
push 0xfa7
push dword [esi]
mov dword [ebp - 0x80], 4
call edi
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push eax
call ebx
cmp dword [ebp - 0x7c], 0xffffffff
je 0x100effe
mov eax, dword [ebp - 0x60]
test eax, eax
mov dword [ebp - 0x4c], eax
je 0x100effe
mov ecx, dword [eax]
lea edx, [ebp + 0x5d4]
push edx
lea edx, [ebp - 0x48]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
je 0x100ef29
and word [ebp + 0x7e0], 0
jmp 0x100ef49
lea eax, [ebp + 0x5d4]
push eax
push 0x105
lea eax, [ebp + 0x7e0]
push eax
call fcn.0100511a
test eax, eax
jl 0x100effe
push 0x104
lea eax, [ebp - 0x44]
push eax
push 0x11f8
push dword [0x1017260]
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x104
lea eax, [ebp + 0x3cc]
push eax
push 0x11f9
push dword [0x1017260]
call dword [sym.imp.USER32.dll_LoadStringW]
lea eax, [ebp + 0x7e0]
push eax
lea eax, [ebp + 0x3cc]
push eax
lea eax, [ebp + 0x1c4]
push 0x104
push eax
call fcn.010053f6
add esp, 0x10
push 0x24
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp + 0x1c4]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 7
je 0x100effe
mov ecx, dword [ebp - 0x4c]
lea eax, [ebp + 0x7e0]
push eax
lea eax, [ebp - 0x48]
push eax
mov dword [ebp - 0x48], 0x105
call fcn.0100c42c
test eax, eax
jl 0x100effe
and word [ebp + 0x82c], 0
lea eax, [ebp + 0x7e0]
push eax
push 0x105
lea eax, [ebp + 0x5d4]
push eax
call fcn.0100511a
test eax, eax
jge 0x100f002
xor eax, eax
jmp 0x100f054
lea eax, [ebp + 0x9ec]
push eax
lea eax, [ebp + 0x5d4]
push eax
call dword [sym.imp.ole32.dll_CLSIDFromString]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esi + 8]
mov ecx, dword [eax]
lea edx, [ebp + 0x9ec]
push edx
push eax
call dword [ecx + 0x18]
push 0xfa7
push dword [esi]
call edi
push 0
push dword [ebp + 0xa08]
mov esi, eax
push 0x1008
push esi
call ebx
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
inc eax
pop edi
pop ebx
mov ecx, dword [ebp + 0x9fc]
pop esi
call fcn.010120f3
add ebp, 0xa00
leave
ret 4
Function at 0x1010760
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x10171b0]
push esi
mov esi, ecx
cmp dword [esi + 0x44], 0
mov dword [ebp - 4], eax
push edi
je 0x10107eb
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x430
push dword [esi + 0x40]
call edi
push 0x104
lea ecx, [ebp - 0x210]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax]
lea edx, [ebp - 0x210]
push edx
push eax
call dword [ecx + 0x20]
test eax, eax
je 0x10107b6
xor eax, eax
jmp 0x10107ee
lea eax, [ebp - 0x210]
push eax
push 0xff3
push dword [esi + 0x40]
call edi
push eax
call fcn.010101fb
lea eax, [ebp - 0x210]
push eax
push 0
push 0x478
push dword [esi + 0x40]
call dword [sym.imp.USER32.dll_GetParent]
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.010120f3
leave
ret

Function at 0x10109be
Capabilities:
Check for time delay via gettickcount
Query service status
Start service

Disassembly:
sub esp, 0x20
push ebp
push esi
push 1
xor ebp, ebp
push ebp
push ebp
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov esi, eax
cmp esi, ebp
jne 0x10109e0
pop esi
pop ebp
add esp, 0x20
jmp dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push edi
push 0x14
push 0x100216c
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov ebx, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push esi
mov edi, eax
call ebx
cmp edi, ebp
jne 0x1010a0c
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x20
jmp dword [sym.imp.KERNEL32.dll_GetLastError]
lea eax, [esp + 0x14]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
jne 0x1010a2c
push edi
call ebx
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x20
jmp dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esp + 0x18], 4
jne 0x1010a3d
push edi
call ebx
xor eax, eax
jmp 0x1010af0
push ebp
push ebp
push edi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x1010a5a
push edi
call ebx
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x20
jmp dword [sym.imp.KERNEL32.dll_GetLastError]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
xor ebp, ebp
add esi, 0x15f90
inc ebp
mov dword [esp + 0x10], 0x435
lea eax, [esp + 0x14]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_QueryServiceStatus]
test eax, eax
je 0x1010adf
mov eax, dword [esp + 0x18]
cmp eax, 1
je 0x1010ad7
cmp eax, 3
je 0x1010ad7
cmp eax, 4
je 0x1010ad2
cmp eax, 5
jbe 0x1010aa0
cmp eax, 7
jbe 0x1010ad7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, esi
jae 0x1010ad7
mov eax, dword [esp + 0x2c]
push 0xa
xor edx, edx
pop ecx
div ecx
mov ecx, 0x3e8
cmp eax, ecx
jb 0x1010ac7
mov ecx, 0x2710
cmp eax, ecx
jbe 0x1010ac9
mov eax, ecx
push eax
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1010ad9
and dword [esp + 0x10], 0
xor ebp, ebp
test ebp, ebp
jne 0x1010a73
jmp 0x1010ae9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x10], eax
push edi
call ebx
mov eax, dword [esp + 0x10]
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x20
ret
Function at 0x10120f3
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x10171b0]
jne 0x10120fc
ret
jmp 0x1012101
push ebp
lea ebp, [esp - 0x2a8]
sub esp, 0x328
mov eax, dword [0x10171b0]
mov dword [ebp + 0x2a4], eax
mov eax, dword [0x1017304]
test eax, eax
je 0x1012125
call eax
cmp dword [0x1017308], 0
je 0x101216c
push edi
xor eax, eax
and dword [ebp - 0x28], eax
push 0x13
pop ecx
lea edi, [ebp - 0x7c]
rep stosd dword es:[edi], eax
mov ecx, 0xb2
lea edi, [ebp - 0x24]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x80]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x28]
push 0
mov dword [ebp - 0x80], 0xc0000409
mov dword [ebp - 0x2c], eax
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea eax, [ebp - 0x30]
push eax
call dword [0x1017308]
pop edi
push 0x502
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp + 0x2a4]
call fcn.010120f3
add ebp, 0x2a8
leave
ret
Function at 0x1012f52
Capabilities:
Get geographical location

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0xb0
mov eax, dword [0x10171b0]
and word [ebp - 0x34], 0
push ebx
push esi
push edi
mov esi, dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
and dword [ebp - 0x40], 0
push 0x27
pop ecx
mov dword [ebp + 0x6c], eax
xor eax, eax
lea edi, [ebp - 0x32]
rep stosd dword es:[edi], eax
push 0x50
pop ebx
stosw word es:[edi], ax
push ebx
lea eax, [ebp - 0x34]
push eax
push 0x23
mov edi, 0x400
push edi
call esi
test eax, eax
je 0x1013026
xor eax, eax
cmp word [ebp - 0x34], 0x30
sete al
test eax, eax
mov dword [ebp - 0x38], eax
je 0x1012fcc
push ebx
lea eax, [ebp - 0x34]
push eax
push 0x1005
push edi
call esi
test eax, eax
je 0x1013026
xor eax, eax
cmp word [ebp - 0x34], 0x31
sete al
mov dword [ebp - 0x40], eax
push ebx
lea eax, [ebp - 0x34]
push eax
push 0x25
push edi
call esi
test eax, eax
je 0x1013026
xor eax, eax
cmp word [ebp - 0x34], 0x31
push ebx
sete al
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x34]
push eax
push 0x1e
push edi
call esi
xor esi, esi
cmp eax, esi
je 0x1013026
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, dword [ebp + 0x7c]
xor ecx, ecx
cmp dword [ebp - 0x3c], esi
setne cl
add eax, ecx
mov ecx, dword [ebp - 0x38]
neg ecx
sbb ecx, ecx
and ecx, 3
lea eax, [eax + ecx + 4]
cmp eax, ebx
jbe 0x1013022
xor eax, eax
cmp eax, esi
jne 0x1013039
push dword [ebp + 0x7c]
push 0x10021f8
push dword [ebp + 0x78]
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
jmp 0x10130a7
cmp dword [ebp - 0x38], esi
mov edi, dword [ebp + 0x78]
mov word [edi], si
je 0x101305e
cmp dword [ebp - 0x40], esi
je 0x1013056
push ebx
push 0x10021f0
push edi
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
push ebx
mov ebx, 0x10021ec
jmp 0x1013064
push ebx
mov ebx, 0x10021e8
mov esi, dword [sym.imp.SHLWAPI.dll_StrCatBuffW]
push ebx
push edi
call esi
cmp dword [ebp - 0x3c], 0
je 0x101307b
push dword [ebp + 0x7c]
push ebx
push edi
call esi
push dword [ebp + 0x7c]
lea eax, [ebp - 0x34]
push eax
push edi
call esi
push dword [ebp + 0x7c]
push 0x10021e0
push edi
call esi
cmp dword [ebp - 0x38], 0
je 0x10130a7
cmp dword [ebp - 0x40], 0
jne 0x10130a7
push dword [ebp + 0x7c]
push 0x10021d8
push edi
call esi
mov ecx, dword [ebp + 0x6c]
pop edi
pop esi
pop ebx
call fcn.010120f3
add ebp, 0x70
leave
ret 8
Function at 0x900c236
Capabilities:
Get common file path

Disassembly:
push 0x224
mov eax, 0x90a819f
call fcn.09007445
cmp byte [ebp + 0x10], 0
mov edi, dword [ebp + 8]
push 0x1a
pop esi
push 0x2b
pop eax
cmove esi, eax
xor ebx, ebx
push 0x208
lea eax, [ebp - 0x218]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x218]
push eax
mov eax, esi
or eax, 0x8000
cmp byte [ebp + 0xc], bl
push ebx
push ebx
cmovne esi, eax
push esi
push ebx
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
je 0x900c292
xor al, al
jmp 0x900c2e2
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.0900cf2c
push dword [ebp + 0xc]
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], ebx
push str.Adobe
call fcn.0900d7af
test al, al
je 0x900c2d5
lea eax, [ebp - 0x230]
mov ecx, edi
push eax
call fcn.0905eab8
mov ecx, edi
call fcn.0900e6d7
mov bl, al
lea ecx, [ebp - 0x230]
call fcn.0905eab8
mov al, bl
call fcn.090091e6
ret
Function at 0x903d7c6
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x1f8
mov eax, 0x90a9b67
call fcn.09007445
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x1fc]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x14]
push 0x80
push 0
push eax
mov dword [ebp - 0x200], ebx
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp + 0xc]
mov ecx, 0x41444245
and dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1ec], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x1e8], eax
lea eax, [ebp - 0x1e4]
push 1
push eax
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f4], 0x4000000
mov dword [ebp - 0x1f0], 0x6c696e6b
mov dword [ebp - 0x1d8], 0x61637370
mov dword [ebp - 0x1b8], 0xf6d6
mov dword [ebp - 0x1b4], 0x10000
mov dword [ebp - 0x1b0], 0xd32d
mov dword [ebp - 0x1ac], ecx
call fcn.09007585
add esp, 0x14
lea eax, [ebp - 0x1fc]
lea ecx, [ebp - 0x17c]
push eax
push ebx
call fcn.0905eab8
push str.ACE_Device_Link
push ebx
lea ecx, [ebp - 0x74]
call fcn.0903a1fe
and dword [ebp - 4], 0
lea eax, [ebp - 0x74]
test esi, esi
lea ecx, [ebp - 0x17c]
cmovne eax, esi
push eax
call fcn.0905eab8
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0x4c]
push ebx
call fcn.09039fb0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x17c]
call fcn.0905eab8
lea ecx, [ebp - 0x24]
call fcn.0905eab8
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x17c]
call fcn.0905eab8
push edi
lea ecx, [ebp - 0x17c]
call fcn.0905eab8
lea ecx, [ebp - 0x17c]
call fcn.0900955c
mov ecx, dword [ebp - 0x200]
mov edi, eax
mov ebx, dword [edi + 0x28]
push ebx
call fcn.0905eab8
mov ecx, dword [edi]
push eax
push ebx
push 0
mov esi, dword [ecx + 0x18]
mov ecx, esi
mov dword [ebp - 0x204], eax
call dword [0x90ae2d0]
mov ecx, edi
call esi
mov ecx, edi
call fcn.0900642e
mov edi, dword [ebp - 0x204]
push ebx
push edi
call fcn.0905eab8
push ebx
mov ebx, dword [ebp - 0x200]
push edi
push ebx
call fcn.0905eab8
add esp, 0x14
mov ecx, ebx
mov esi, eax
push edi
call fcn.0905eab8
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], vtable.CProfileTag.0
mov byte [ebp - 4], 0
call fcn.0903ab60
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.0903ac7e
mov eax, esi
call fcn.090091e6
ret
Function at 0x90500f8
Capabilities:
Get memory capacity

Disassembly:
push 0x28
mov eax, 0x90aab4f
call fcn.0900578b
mov esi, ecx
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 0x20
push eax
call dword [sym.imp.kernel32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
sub eax, dword [ebp - 0x20]
sub eax, dword [esi + 8]
sbb ecx, dword [esi + 0xc]
js 0x9050163
jg 0x905012d
test eax, eax
jb 0x9050163
mov edx, dword [esi + 4]
imul edi, edx, 3
test ecx, ecx
jg 0x9050163
jl 0x905013d
cmp eax, edi
ja 0x9050163
cmp eax, edx
jbe 0x9050157
mov ecx, dword [esi]
sub eax, edx
and dword [ebp - 4], 0
push eax
call fcn.0905eab8
jmp 0x9050163
jae 0x9050163
mov ecx, dword [esi]
sub edx, eax
push edx
call fcn.0905eab8
call fcn.0900625f
ret
Function at 0x906c6ef
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x148
mov eax, 0x90abd2c
call fcn.09007445
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x14c]
push eax
xor ebx, ebx
mov esi, 0x20019
push esi
push ebx
push str.SOFTWARE
push 0x80000002
mov dword [ebp - 0x14c], ebx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], ebx
mov dword [ebp - 0x13c], ebx
mov dword [ebp - 0x140], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x906c74e
mov dword [ebp - 0x14c], ebx
jmp 0x906c8cd
lea eax, [ebp - 0x148]
push eax
push esi
push ebx
push str.Adobe
push dword [ebp - 0x14c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x906c777
mov dword [ebp - 0x148], ebx
jmp 0x906c8cd
lea eax, [ebp - 0x144]
push eax
push esi
push ebx
push str.Color
push dword [ebp - 0x148]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x906c7a0
mov dword [ebp - 0x144], ebx
jmp 0x906c8cd
lea eax, [ebp - 0x13c]
push eax
push esi
push ebx
push str.Monitor
push dword [ebp - 0x144]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x906c7c9
mov dword [ebp - 0x13c], ebx
jmp 0x906c8cd
lea eax, [ebp - 0x150]
mov dword [ebp - 0x150], 0x104
push eax
lea eax, [ebp - 0x120]
mov esi, ebx
push eax
lea eax, [ebp - 0x154]
push eax
push ebx
push str.Primary_Monitor
push dword [ebp - 0x13c]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x906c81b
cmp dword [ebp - 0x154], 4
jne 0x906c81b
mov esi, dword [ebp - 0x120]
cmp esi, 0x3e7
ja 0x906c8cd
push esi
push str.Monitor_u
lea eax, [ebp - 0x1c]
push 0xb
push eax
call fcn.0905eab8
add esp, 0x10
lea eax, [ebp - 0x140]
push eax
push 0x20019
push ebx
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 0x13c]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x906c85b
mov dword [ebp - 0x140], ebx
jmp 0x906c8e2
lea eax, [ebp - 0x150]
mov dword [ebp - 0x150], 0x104
push eax
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x154]
push eax
push ebx
push str.Monitor_Profile
push dword [ebp - 0x140]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x906c8cd
cmp dword [ebp - 0x154], 1
jne 0x906c8cd
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x138]
call fcn.090169c5
lea eax, [ebp - 0x138]
mov dword [ebp - 4], ebx
push eax
mov ecx, edi
call fcn.0905eab8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.0905eab8
mov bl, 1
cmp dword [ebp - 0x140], 0
je 0x906c8e2
push dword [ebp - 0x140]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x13c], 0
je 0x906c8f7
push dword [ebp - 0x13c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x144], 0
je 0x906c90c
push dword [ebp - 0x144]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x148], 0
je 0x906c921
push dword [ebp - 0x148]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x14c], 0
je 0x906c936
push dword [ebp - 0x14c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, bl
call fcn.090091e6
ret