joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100185e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
xor eax, eax
mov dword [ebp - 0x2c], 0x4f0053
mov dword [ebp - 0x28], 0x540046
mov dword [ebp - 0x24], 0x410057
mov dword [ebp - 0x20], 0x450052
mov dword [ebp - 0x1c], 0x46005c
mov dword [ebp - 0x18], 0x720069
mov dword [ebp - 0x14], 0x500065
mov dword [ebp - 0x10], 0x6f0068
mov dword [ebp - 0xc], 0x6e0065
mov dword [ebp - 8], 0x780069
mov word [ebp - 4], ax
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x1001868c
mov eax, dword [ecx]
push 2
push 0x14
call dword [eax]
test eax, eax
je 0x10018696
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x14
jl 0x10018682
mov dword [eax - 0xc], 0x14
xor eax, eax
mov ecx, dword [esi]
push 0x28
mov word [ecx + 0x28], ax
lea eax, [ebp - 0x2c]
push eax
push 0x28
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3

Function at 0x100186a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], 0x4f0053
mov dword [ebp - 0x28], 0x540046
mov dword [ebp - 0x24], 0x410057
mov dword [ebp - 0x20], 0x450052
mov dword [ebp - 0x1c], 0x43005c
mov dword [ebp - 0x18], 0x75006f
mov dword [ebp - 0x14], 0x6f0070
mov dword [ebp - 0x10], 0x4d006e
mov dword [ebp - 0xc], 0x730061
mov dword [ebp - 8], 0x650074
mov dword [ebp - 4], 0x72
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x1001874d
mov eax, dword [ecx]
push 2
push 0x15
call dword [eax]
test eax, eax
je 0x10018757
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x15
jl 0x10018743
mov dword [eax - 0xc], 0x15
xor eax, eax
mov ecx, dword [esi]
push 0x2a
mov word [ecx + 0x2a], ax
lea eax, [ebp - 0x2c]
push eax
push 0x2a
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3

Function at 0x10018760
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
xor eax, eax
mov dword [ebp - 0x1c], 0x360033
mov dword [ebp - 0x18], 0x770030
mov dword [ebp - 0x14], 0x730070
mov dword [ebp - 0x10], 0x760072
mov dword [ebp - 0xc], 0x65002e
mov dword [ebp - 8], 0x650078
mov word [ebp - 4], ax
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x100187f0
mov eax, dword [ecx]
push 2
push 0xc
call dword [eax]
test eax, eax
je 0x100187fa
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0xc
jl 0x100187e6
mov dword [eax - 0xc], 0xc
xor eax, eax
mov ecx, dword [esi]
push 0x18
mov word [ecx + 0x18], ax
lea eax, [ebp - 0x1c]
push eax
push 0x18
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3
Function at 0x10018880
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
xor eax, eax
mov dword [ebp - 0x24], 0x4f0053
mov dword [ebp - 0x20], 0x540046
mov dword [ebp - 0x1c], 0x410057
mov dword [ebp - 0x18], 0x450052
mov dword [ebp - 0x14], 0x4e005c
mov dword [ebp - 0x10], 0x530053
mov dword [ebp - 0xc], 0x610047
mov dword [ebp - 8], 0x65006d
mov word [ebp - 4], ax
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x1001891e
mov eax, dword [ecx]
push 2
push 0x10
call dword [eax]
test eax, eax
je 0x10018928
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x10
jl 0x10018914
mov dword [eax - 0xc], 0x10
xor eax, eax
mov ecx, dword [esi]
push 0x20
mov word [ecx + 0x20], ax
lea eax, [ebp - 0x24]
push eax
push 0x20
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3

Function at 0x10018930
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
mov dword [ebp - 0x38], 0x44004c
mov dword [ebp - 0x34], 0x470053
mov dword [ebp - 0x30], 0x6d0061
mov dword [ebp - 0x2c], 0x480065
mov dword [ebp - 0x28], 0x6c0061
mov dword [ebp - 0x24], 0x5c006c
mov dword [ebp - 0x20], 0x44004c
mov dword [ebp - 0x1c], 0x470053
mov dword [ebp - 0x18], 0x6d0061
mov dword [ebp - 0x14], 0x480065
mov dword [ebp - 0x10], 0x6c0061
mov dword [ebp - 0xc], 0x2e006c
mov dword [ebp - 8], 0x780065
mov dword [ebp - 4], 0x65
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x100189f6
mov eax, dword [ecx]
push 2
push 0x1b
call dword [eax]
test eax, eax
je 0x10018a00
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x1b
jl 0x100189ec
mov dword [eax - 0xc], 0x1b
xor eax, eax
mov ecx, dword [esi]
push 0x36
mov word [ecx + 0x36], ax
lea eax, [ebp - 0x38]
push eax
push 0x36
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3

Function at 0x10018a90
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 0x18], 0x64004c
mov dword [ebp - 0x14], 0x4c0073
mov dword [ebp - 0x10], 0x740069
mov dword [ebp - 0xc], 0x2e0065
mov dword [ebp - 8], 0x780065
mov dword [ebp - 4], 0x65
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x10018b1a
mov eax, dword [ecx]
push 2
push 0xb
call dword [eax]
test eax, eax
je 0x10018b24
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0xb
jl 0x10018b10
mov dword [eax - 0xc], 0xb
xor eax, eax
mov ecx, dword [esi]
push 0x16
mov word [ecx + 0x16], ax
lea eax, [ebp - 0x18]
push eax
push 0x16
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3
Function at 0x10018b30
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
xor eax, eax
mov dword [ebp - 0x24], 0x6f0043
mov dword [ebp - 0x20], 0x70006d
mov dword [ebp - 0x1c], 0x740075
mov dword [ebp - 0x18], 0x720065
mov dword [ebp - 0x14], 0x5f005a
mov dword [ebp - 0x10], 0x4e0043
mov dword [ebp - 0xc], 0x65002e
mov dword [ebp - 8], 0x650078
mov word [ebp - 4], ax
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x10018bce
mov eax, dword [ecx]
push 2
push 0x10
call dword [eax]
test eax, eax
je 0x10018bd8
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x10
jl 0x10018bc4
mov dword [eax - 0xc], 0x10
xor eax, eax
mov ecx, dword [esi]
push 0x20
mov word [ecx + 0x20], ax
lea eax, [ebp - 0x24]
push eax
push 0x20
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3

Function at 0x10018c60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
xor eax, eax
mov dword [ebp - 0x28], 0x700041
mov dword [ebp - 0x24], 0x4d006b
mov dword [ebp - 0x20], 0x670061
mov dword [ebp - 0x1c], 0x630069
mov dword [ebp - 0x18], 0x6d0045
mov dword [ebp - 0x14], 0x560075
mov dword [ebp - 0x10], 0x720065
mov dword [ebp - 0xc], 0x64002e
mov dword [ebp - 8], 0x6c006c
mov word [ebp - 4], ax
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x10018d05
mov eax, dword [ecx]
push 2
push 0x12
call dword [eax]
test eax, eax
je 0x10018d0f
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x12
jl 0x10018cfb
mov dword [eax - 0xc], 0x12
xor eax, eax
mov ecx, dword [esi]
push 0x24
mov word [ecx + 0x24], ax
lea eax, [ebp - 0x28]
push eax
push 0x24
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3

Function at 0x10018e20
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], 0x4f0053
mov dword [ebp - 0x28], 0x540046
mov dword [ebp - 0x24], 0x410057
mov dword [ebp - 0x20], 0x450052
mov dword [ebp - 0x1c], 0x4c005c
mov dword [ebp - 0x18], 0x790065
mov dword [ebp - 0x14], 0x75006f
mov dword [ebp - 0x10], 0x610047
mov dword [ebp - 0xc], 0x65006d
mov dword [ebp - 8], 0x6f0062
mov dword [ebp - 4], 0x78
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x10018ecd
mov eax, dword [ecx]
push 2
push 0x15
call dword [eax]
test eax, eax
je 0x10018ed7
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x15
jl 0x10018ec3
mov dword [eax - 0xc], 0x15
xor eax, eax
mov ecx, dword [esi]
push 0x2a
mov word [ecx + 0x2a], ax
lea eax, [ebp - 0x2c]
push eax
push 0x2a
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3
Function at 0x10018fe0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], 0x4f0053
mov dword [ebp - 0x28], 0x540046
mov dword [ebp - 0x24], 0x410057
mov dword [ebp - 0x20], 0x450052
mov dword [ebp - 0x1c], 0x33005c
mov dword [ebp - 0x18], 0x300036
mov dword [ebp - 0x14], 0x610057
mov dword [ebp - 0x10], 0x6c006c
mov dword [ebp - 0xc], 0x610050
mov dword [ebp - 8], 0x650070
mov dword [ebp - 4], 0x72
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x1001908d
mov eax, dword [ecx]
push 2
push 0x15
call dword [eax]
test eax, eax
je 0x10019097
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x15
jl 0x10019083
mov dword [eax - 0xc], 0x15
xor eax, eax
mov ecx, dword [esi]
push 0x2a
mov word [ecx + 0x2a], ax
lea eax, [ebp - 0x2c]
push eax
push 0x2a
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3

Function at 0x10019120
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov dword [ebp - 0x28], 0x4f0053
mov dword [ebp - 0x24], 0x540046
mov dword [ebp - 0x20], 0x410057
mov dword [ebp - 0x1c], 0x450052
mov dword [ebp - 0x18], 0x59005c
mov dword [ebp - 0x14], 0x680078
mov dword [ebp - 0x10], 0x610047
mov dword [ebp - 0xc], 0x65006d
mov dword [ebp - 8], 0x6f0062
mov dword [ebp - 4], 0x78
call fcn.100095a0
mov ecx, eax
test ecx, ecx
je 0x100191c6
mov eax, dword [ecx]
push 2
push 0x13
call dword [eax]
test eax, eax
je 0x100191d0
push esi
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
cmp dword [eax - 8], 0x13
jl 0x100191bc
mov dword [eax - 0xc], 0x13
xor eax, eax
mov ecx, dword [esi]
push 0x26
mov word [ecx + 0x26], ax
lea eax, [ebp - 0x28]
push eax
push 0x26
push dword [esi]
call fcn.1000a7b0
add esp, 0x10
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret 4
push 0x80070057
call fcn.100094b0
push 0x80004005
call fcn.100094b0
call fcn.1000a110
int3
Function at 0x1001a570
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 0x10]
mov eax, dword [edi]
add eax, eax
mov dword [edi], 0
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0xc]
push eax
push esi
lea eax, [ebp - 8]
push eax
push 0
push edx
push dword [ecx]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1001a5fb
mov eax, dword [ebp - 8]
cmp eax, 1
je 0x1001a5bd
cmp eax, 2
jne 0x1001a5d9
mov ecx, dword [ebp - 0xc]
test esi, esi
je 0x1001a5f5
test ecx, ecx
je 0x1001a5f0
test cl, 1
jne 0x1001a5d9
mov eax, ecx
shr eax, 1
cmp word [esi + eax*2 - 2], 0
je 0x1001a5f5
pop edi
mov eax, 0xd
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c416e
mov esp, ebp
pop ebp
ret 0xc
xor eax, eax
mov word [esi], ax
shr ecx, 1
xor eax, eax
mov dword [edi], ecx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100c416e
mov esp, ebp
pop ebp
ret 0xc

Function at 0x1001b290
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
xor eax, eax
mov word [ebp - 8], ax
mov ecx, esi
push 0xc
mov dword [ebp - 0x24], esi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea eax, [ebp - 0x20]
push eax
mov dword [ebp - 0x20], 0x750072
mov dword [ebp - 0x1c], 0x20006e
mov dword [ebp - 0x18], 0x780065
mov dword [ebp - 0x14], 0x200065
mov dword [ebp - 0x10], 0x610066
mov dword [ebp - 0xc], 0x6c0069
call fcn.1000a620
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.100c416e
mov esp, ebp
pop ebp
ret 4

Function at 0x1001b310
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
xor eax, eax
mov word [ebp - 8], ax
mov ecx, esi
push 0xa
mov dword [ebp - 0x20], esi
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], 0x750072
mov dword [ebp - 0x18], 0x20006e
mov dword [ebp - 0x14], 0x780065
mov dword [ebp - 0x10], 0x200065
mov dword [ebp - 0xc], 0x6b006f
call fcn.1000a620
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.100c416e
mov esp, ebp
pop ebp
ret 4
Function at 0x1001bc70
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x20c]
push 0x208
push 0
push eax
mov dword [ebp - 0x210], esi
call fcn.10106210
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push dword [ebp + 0xc]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1001bce6
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
xor eax, eax
mov dword [esi + 0x10], 0
lea ecx, [ebp - 0x20c]
mov dword [esi + 0x14], 7
mov word [esi], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001bd02
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.1000a620
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.100c416e
mov esp, ebp
pop ebp
ret

Function at 0x1001bd40
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x101720b0
push 0x10106740
mov eax, dword fs:[0]
push eax
sub esp, 0x2cc
mov eax, dword [0x10180440]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov esi, dword [ebp + 8]
mov dword [ebp - 4], 0
push 0x2b4
push 0
lea eax, [ebp - 0x2d0]
push eax
call fcn.10106210
add esp, 0xc
cmp dword [esi + 0x14], 8
jb 0x1001bda1
mov esi, dword [esi]
push 0x4000
push 0x2b4
lea eax, [ebp - 0x2d0]
push eax
push 0x80
push esi
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
mov dword [ebp - 0x2d4], 0
lea eax, [ebp - 0x2d4]
push eax
push 0x10140824
push 2
call dword [sym.imp.SHELL32.dll_SHGetImageList]
mov dword [ebp - 0x2dc], eax
xor ecx, ecx
mov dword [ebp - 0x2d8], ecx
test eax, eax
jne 0x1001be32
mov edx, dword [ebp - 0x2cc]
test edx, edx
je 0x1001be1a
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [ecx]
lea esi, [ebp - 0x2d8]
push esi
push 0
push edx
push ecx
call dword [eax + 0x28]
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2d8]
test eax, eax
jne 0x1001be32
mov dword [ebp - 4], 0xfffffffe
mov eax, ecx
jmp 0x1001be3b
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.100c416e
mov esp, ebp
pop ebp
ret
Function at 0x1001c6d0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x20c]
push 0x208
push 0
push eax
call fcn.10106210
add esp, 0xc
cmp word [0x10187388], 0
jne 0x1001c727
push 0x104
push 0x10187388
push 0x10000000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x10187388
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push esi
push 0x10187388
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x20c]
push eax
call fcn.10042710
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.100c416e
mov esp, ebp
pop ebp
ret
Function at 0x1001c770
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x330
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
lea eax, [ebp - 0x224]
mov byte [ebp - 0x32d], 0
push eax
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x224], 0
call dword [sym.imp.SHELL32.dll_SHGetDesktopFolder]
lea eax, [ebp - 0x214]
mov dword [ebp - 0x220], 0
push eax
push 0
push 0
push 0xa
push 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x21c], 0
call dword [sym.imp.SHELL32.dll_SHGetFolderLocation]
test eax, eax
jne 0x1001c815
mov ecx, dword [ebp - 0x224]
lea edx, [ebp - 0x218]
push edx
push 0x101407d4
push 0
push dword [ebp - 0x214]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x14]
test eax, eax
je 0x1001c828
push dword [ebp - 0x214]
call dword [sym.imp.SHELL32.dll_ILFree]
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c416e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x218]
lea edx, [ebp - 0x220]
push edx
push 0xe0
push 0
mov eax, dword [ecx]
push ecx
call dword [eax + 0x10]
test eax, eax
je 0x1001c871
push dword [ebp - 0x214]
call dword [sym.imp.SHELL32.dll_ILFree]
mov eax, dword [ebp - 0x218]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c416e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x220]
lea edx, [ebp - 0x210]
push edx
lea edx, [ebp - 0x21c]
push edx
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xc]
cmp eax, 1
je 0x1001c942
mov edi, dword [ebp + 8]
mov ebx, dword [sym.imp.ole32.dll_CoTaskMemFree]
nop
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x21c]
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
test eax, eax
je 0x1001c911
mov ecx, dword [ebp - 0x218]
lea edx, [ebp - 0x32c]
push edx
push 0
push dword [ebp - 0x21c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x2c]
test eax, eax
jne 0x1001c911
mov esi, dword [ebp - 0x328]
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001c8e1
sub ecx, edx
mov eax, edi
sar ecx, 1
cmp dword [edi + 0x14], 8
jb 0x1001c8fa
mov eax, dword [edi]
cmp dword [edi + 0x10], ecx
jb 0x1001c90e
push ecx
push esi
push eax
call fcn.1000a740
add esp, 0xc
test eax, eax
je 0x1001c938
push esi
call ebx
mov ecx, dword [ebp - 0x220]
lea edx, [ebp - 0x210]
push edx
lea edx, [ebp - 0x21c]
push edx
mov eax, dword [ecx]
push 1
push ecx
call dword [eax + 0xc]
cmp eax, 1
jne 0x1001c8a0
jmp 0x1001c942
push esi
call ebx
mov byte [ebp - 0x32d], 1
push dword [ebp - 0x214]
call dword [sym.imp.SHELL32.dll_ILFree]
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, dword [ebp - 0x218]
push ecx
mov edx, dword [ecx]
call dword [edx + 8]
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x32d]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.100c416e
mov esp, ebp
pop ebp
ret
Function at 0x1001dc10
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 8], 0
cmp dword [ecx + 0x14], 8
mov dword [ebp - 0xc], 4
jb 0x1001dc3f
mov ecx, dword [ecx]
cmp dword [eax + 0x14], 8
jb 0x1001dc47
mov eax, dword [eax]
push esi
lea esi, [ebp - 0xc]
push esi
lea esi, [ebp - 8]
push esi
push 0
push 0x10
push ecx
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
xor ecx, ecx
test eax, eax
pop esi
cmove ecx, dword [ebp - 8]
mov eax, ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100c416e
mov esp, ebp
pop ebp
ret
Function at 0x1001dc80
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10131308
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x10180440]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x14]
mov ecx, eax
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x14], 0
jb 0x1001dcd0
mov ecx, dword [eax]
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x1001dcda
mov eax, dword [edi]
lea edx, [ebp - 0x14]
push edx
mov edx, dword [ebp - 0x48]
push 0
push 0
push 2
push ecx
push eax
push edx
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
je 0x1001dd0c
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
jmp 0x1001de3f
xor eax, eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
shr eax, 1
jne 0x1001dd36
xor ecx, ecx
mov dword [ebp - 0x1c], eax
mov word [ebp + eax*2 - 0x2c], cx
jmp 0x1001dd41
push 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.100103b0
cmp dword [ebp - 0x18], 8
lea ecx, [ebp - 0x2c]
mov eax, dword [ebp - 0x4c]
cmovae ecx, dword [ebp - 0x2c]
cmp dword [eax + 0x14], 8
jb 0x1001dd57
mov eax, dword [eax]
cmp dword [edi + 0x14], 8
jb 0x1001dd5f
mov edi, dword [edi]
lea edx, [ebp - 0x14]
push edx
push ecx
push 0
push 2
push eax
push edi
push dword [ebp - 0x48]
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
je 0x1001dd8f
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
jmp 0x1001de37
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
shr ecx, 1
dec ecx
cmp ecx, eax
ja 0x1001ddb2
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], ecx
cmovae eax, dword [ebp - 0x2c]
xor edx, edx
mov word [eax + ecx*2], dx
jmp 0x1001ddbf
sub ecx, eax
push 0
push ecx
lea ecx, [ebp - 0x2c]
call fcn.100103b0
cmp dword [ebp - 0x18], 8
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x34], 0
cmovae edx, dword [ebp - 0x2c]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001dde3
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.1000a620
movups xmm0, xmmword [ebp - 0x44]
mov dword [esi + 0x10], 0
lea ecx, [ebp - 0x44]
mov dword [esi + 0x14], 0
xor eax, eax
movups xmmword [esi], xmm0
mov word [ebp - 0x44], ax
movq xmm0, qword [ebp - 0x34]
movq qword [esi + 0x10], xmm0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
call fcn.10009070
lea ecx, [ebp - 0x2c]
call fcn.10009070
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100c416e
mov esp, ebp
pop ebp
ret