joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1001f4b0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edi
mov eax, dword [edi]
cmp eax, 0x270
jne 0x1001f50e
lea edx, [edi + 8]
mov esi, eax
nop dword [eax]
mov ecx, dword [edx - 4]
lea edx, [edx + 4]
xor ecx, dword [edx - 4]
and ecx, 0x7fffffff
xor ecx, dword [edx - 8]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x62c]
xor eax, ecx
mov dword [edx + 0x9b8], eax
sub esi, 1
jne 0x1001f4d0
mov eax, dword [edi]
jmp 0x1001f5f9
cmp eax, 0x4e0
jb 0x1001f5f9
mov eax, dword [edi + 0x9c4]
push ebx
lea ebx, [edi + 0x9c4]
mov edi, 0xe3
nop dword [eax + eax]
mov ecx, dword [ebx + 4]
lea edx, [ebx + 4]
xor ecx, eax
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx + 0x634]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x1001f530
mov ebx, dword [ebp - 4]
mov edi, 0x18c
add ebx, 0xd50
mov eax, dword [ebx]
nop dword [eax]
mov ecx, eax
lea edx, [ebx + 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx - 0xd4c]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x1001f580
mov edi, dword [ebp - 4]
pop ebx
mov ecx, dword [edi + 0x1380]
xor ecx, dword [edi + 4]
and ecx, 0x7fffffff
xor ecx, dword [edi + 0x1380]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edi + 0x634]
xor eax, ecx
mov dword [edi + 0x9c0], eax
xor eax, eax
mov dword [edi], 0
mov edx, dword [edi + eax*4 + 4]
inc eax
mov dword [edi], eax
mov ecx, edx
mov eax, dword [edi + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
pop edi
xor eax, edx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1001f8f0
Capabilities:
Get file size
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0x14]
mov dword [ebp - 8], ecx
push esi
and eax, 0x8000000f
jns 0x1001f90b
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x1001fa6a
push 0
push 0x80
push 3
push 0
push 0
push SysReAllocString
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x1001fa6a
lea eax, [ebp - 0x14]
xorps xmm0, xmm0
push eax
push esi
movq qword [ebp - 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1001fa63
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x1001fa63
cmp dword [ebp - 0x10], 0
jg 0x1001fa63
jl 0x1001f974
cmp eax, 0x1000000
ja 0x1001fa63
push edi
push 0x1000000
call fcn.1007aa3d
add esp, 4
mov dword [ebp + 0x14], 0
mov edi, eax
lea eax, [ebp + 0x14]
push 0
push eax
push dword [ebp - 0x14]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1001fa47
cmp dword [ebp + 0x14], 0
je 0x1001fa47
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call ebx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 8]
mov dword [ebp + 8], eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp + 8]
mov dword [ebp - 4], 0
push eax
push edi
call fcn.1001f690
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push dword [ebp + 0x10]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x1001fa19
push 0
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0
push eax
push dword [ebp + 8]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
test eax, eax
jne 0x1001fa2f
call ebx
push 1
push esi
call fcn.1007a455
add esp, 8
xor al, al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
call ebx
push 1
push esi
call fcn.1007a455
add esp, 8
mov al, 1
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x10
push 1
push edi
call fcn.1007a455
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x10
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 0x10

Function at 0x1001fba0
Capabilities:
Check if file exists

Disassembly:
push esi
mov esi, ecx
push dword [esi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1001fbc0
push 9
push str.svc_other
lea ecx, [esi + 0xc]
call fcn.1000dd30
pop esi
ret
call fcn.1004ed40
test eax, eax
je 0x1001fbda
push 6
push str.svc_hr
lea ecx, [esi + 0xc]
call fcn.1000dd30
pop esi
ret
push dword [esi]
call fcn.1006e5f0
add esp, 4
test eax, eax
je 0x1001fc0b
push dword [esi]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x1001fc0b
push 0x100c9018
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1001fc0b
push 0x100c663c
call eax
pop esi
ret
Function at 0x1002ea20
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c1e10
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
push edi
mov eax, dword [0x100e716c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.1002e190
test eax, eax
jne 0x1002ebb1
lea eax, [ebp - 0x1c]
push eax
call fcn.10018ca0
mov ecx, eax
call fcn.10015af0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.1002d6b0
or edi, 0xffffffff
test eax, eax
jne 0x1002ea9a
push eax
push eax
push 1
push eax
push str.24r_safe
call fcn.10018be0
mov ecx, eax
call fcn.10066bf0
jmp 0x1002eb92
lea eax, [ebp - 0x14]
push eax
call fcn.10018ca0
mov ecx, eax
call fcn.10015b50
push dword [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.1006e5f0
add esp, 4
test eax, eax
je 0x1002eb74
call fcn.1000d330
mov ecx, eax
test ecx, ecx
je 0x1002ebc2
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 2
push eax
call fcn.10018ca0
mov ecx, eax
call fcn.10015b30
push dword [eax]
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 3
call fcn.1002cc30
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1000d240
mov edx, dword [ebp - 0x20]
add esp, 0xc
mov byte [ebp - 4], 2
add edx, 0xfffffff0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002eb28
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x18]
push 5
push 0
push esi
push dword [ebp - 0x14]
push 0x100c91c4
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
push 0
push 1
push 0
push str.24r_succ
call fcn.10018be0
mov ecx, eax
call fcn.10066bf0
mov byte [ebp - 4], 1
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1002eb74
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, edi
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1002eb92
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], edi
dec edi
test edi, edi
jg 0x1002ebb1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.1000ca10
int3
Function at 0x1002f2f0
Capabilities:
Check if file exists

Disassembly:
push esi
mov esi, ecx
push dword [esi + 0x68]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1002f340
mov ecx, esi
call fcn.1000de10
lea ecx, [esi + 0x34]
call fcn.1001fc50
push str.YxhGametray
push dword [esi + 0x58]
call fcn.100a0356
add esp, 8
test eax, eax
jne 0x1002f337
push str.LeyouGametray
push dword [esi + 0x58]
call fcn.100a0356
add esp, 8
test eax, eax
jne 0x1002f340
lea ecx, [esi + 0x44]
pop esi
jmp fcn.1001f140
pop esi
ret

Function at 0x1003d250
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x84], 0x4f0053
push ebx
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x84]
mov eax, 0x10112f28
mov dword [ebp - 0x80], 0x540046
push edi
mov dword [ebp - 0x7c], 0x410057
mov edx, 0x3f
mov dword [ebp - 0x78], 0x450052
sub esi, eax
mov dword [ebp - 0x74], 0x4d005c
mov dword [ebp - 0x70], 0x630069
mov dword [ebp - 0x6c], 0x6f0072
mov dword [ebp - 0x68], 0x6f0073
mov dword [ebp - 0x64], 0x740066
mov dword [ebp - 0x60], 0x57005c
mov dword [ebp - 0x5c], 0x6e0069
mov dword [ebp - 0x58], 0x6f0064
mov dword [ebp - 0x54], 0x730077
mov dword [ebp - 0x50], 0x43005c
mov dword [ebp - 0x4c], 0x720075
mov dword [ebp - 0x48], 0x650072
mov dword [ebp - 0x44], 0x74006e
mov dword [ebp - 0x40], 0x650056
mov dword [ebp - 0x3c], 0x730072
mov dword [ebp - 0x38], 0x6f0069
mov dword [ebp - 0x34], 0x5c006e
mov dword [ebp - 0x30], 0x700041
mov dword [ebp - 0x2c], 0x200070
mov dword [ebp - 0x28], 0x610050
mov dword [ebp - 0x24], 0x680074
mov dword [ebp - 0x20], 0x5c0073
mov dword [ebp - 0x1c], 0x690064
mov dword [ebp - 0x18], 0x610064
mov dword [ebp - 0x14], 0x700077
mov dword [ebp - 0x10], 0x65002e
mov dword [ebp - 0xc], 0x650078
nop word [eax + eax]
lea ecx, [edx + 0x7fffffbf]
test ecx, ecx
je 0x1003d37e
movzx ecx, word [esi + eax]
test cx, cx
je 0x1003d37e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x1003d360
test edx, edx
lea ecx, [eax - 2]
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret
Function at 0x1003e6e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x88], 0x4f0053
push ebx
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x88]
mov eax, 0x10112e88
mov dword [ebp - 0x84], 0x540046
push edi
mov dword [ebp - 0x80], 0x410057
mov edx, 0x41
mov dword [ebp - 0x7c], 0x450052
sub esi, eax
mov dword [ebp - 0x78], 0x4d005c
mov dword [ebp - 0x74], 0x630069
mov dword [ebp - 0x70], 0x6f0072
mov dword [ebp - 0x6c], 0x6f0073
mov dword [ebp - 0x68], 0x740066
mov dword [ebp - 0x64], 0x57005c
mov dword [ebp - 0x60], 0x6e0069
mov dword [ebp - 0x5c], 0x6f0064
mov dword [ebp - 0x58], 0x730077
mov dword [ebp - 0x54], 0x43005c
mov dword [ebp - 0x50], 0x720075
mov dword [ebp - 0x4c], 0x650072
mov dword [ebp - 0x48], 0x74006e
mov dword [ebp - 0x44], 0x650056
mov dword [ebp - 0x40], 0x730072
mov dword [ebp - 0x3c], 0x6f0069
mov dword [ebp - 0x38], 0x5c006e
mov dword [ebp - 0x34], 0x700041
mov dword [ebp - 0x30], 0x200070
mov dword [ebp - 0x2c], 0x610050
mov dword [ebp - 0x28], 0x680074
mov dword [ebp - 0x24], 0x5c0073
mov dword [ebp - 0x20], 0x360033
mov dword [ebp - 0x1c], 0x770030
mov dword [ebp - 0x18], 0x610070
mov dword [ebp - 0x14], 0x700070
mov dword [ebp - 0x10], 0x65002e
mov dword [ebp - 0xc], 0x650078
lea ecx, [edx + 0x7fffffbd]
test ecx, ecx
je 0x1003e812
movzx ecx, word [esi + eax]
test cx, cx
je 0x1003e812
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x1003e7f4
test edx, edx
lea ecx, [eax - 2]
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret
Function at 0x1003ebb0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x84], 0x4f0053
push ebx
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x84]
mov eax, 0x10113078
mov dword [ebp - 0x80], 0x540046
push edi
mov dword [ebp - 0x7c], 0x410057
mov edx, 0x3f
mov dword [ebp - 0x78], 0x450052
sub esi, eax
mov dword [ebp - 0x74], 0x4d005c
mov dword [ebp - 0x70], 0x630069
mov dword [ebp - 0x6c], 0x6f0072
mov dword [ebp - 0x68], 0x6f0073
mov dword [ebp - 0x64], 0x740066
mov dword [ebp - 0x60], 0x57005c
mov dword [ebp - 0x5c], 0x6e0069
mov dword [ebp - 0x58], 0x6f0064
mov dword [ebp - 0x54], 0x730077
mov dword [ebp - 0x50], 0x43005c
mov dword [ebp - 0x4c], 0x720075
mov dword [ebp - 0x48], 0x650072
mov dword [ebp - 0x44], 0x74006e
mov dword [ebp - 0x40], 0x650056
mov dword [ebp - 0x3c], 0x730072
mov dword [ebp - 0x38], 0x6f0069
mov dword [ebp - 0x34], 0x5c006e
mov dword [ebp - 0x30], 0x700041
mov dword [ebp - 0x2c], 0x200070
mov dword [ebp - 0x28], 0x610050
mov dword [ebp - 0x24], 0x680074
mov dword [ebp - 0x20], 0x5c0073
mov dword [ebp - 0x1c], 0x610068
mov dword [ebp - 0x18], 0x6f006c
mov dword [ebp - 0x14], 0x700077
mov dword [ebp - 0x10], 0x65002e
mov dword [ebp - 0xc], 0x650078
nop word [eax + eax]
lea ecx, [edx + 0x7fffffbf]
test ecx, ecx
je 0x1003ecde
movzx ecx, word [esi + eax]
test cx, cx
je 0x1003ecde
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x1003ecc0
test edx, edx
lea ecx, [eax - 2]
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret

Function at 0x100417e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov eax, 0x10111880
mov dword [ebp - 0x58], 0x740053
lea esi, [ebp - 0x58]
mov dword [ebp - 0x54], 0x720061
push edi
mov dword [ebp - 0x50], 0x730074
mov edx, 0x2a
mov dword [ebp - 0x4c], 0x540020
sub esi, eax
mov dword [ebp - 0x48], 0x610072
mov dword [ebp - 0x44], 0x650063
mov dword [ebp - 0x40], 0x65006c
mov dword [ebp - 0x3c], 0x730073
mov dword [ebp - 0x38], 0x680063
mov dword [ebp - 0x34], 0x740061
mov dword [ebp - 0x30], 0x770020
mov dword [ebp - 0x2c], 0x650068
mov dword [ebp - 0x28], 0x20006e
mov dword [ebp - 0x24], 0x200061
mov dword [ebp - 0x20], 0x730075
mov dword [ebp - 0x1c], 0x720065
mov dword [ebp - 0x18], 0x6c0020
mov dword [ebp - 0x14], 0x67006f
mov dword [ebp - 0x10], 0x200073
mov dword [ebp - 0xc], 0x6e006f
mov dword [ebp - 8], 0x2e
lea ecx, [edx + 0x7fffffd4]
test ecx, ecx
je 0x100418b3
movzx ecx, word [esi + eax]
test cx, cx
je 0x100418b3
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x10041895
test edx, edx
lea ecx, [eax - 2]
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret
Function at 0x10048940
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov eax, 0x10112fc8
mov dword [ebp - 0x90], 0x4f0053
lea esi, [ebp - 0x90]
mov dword [ebp - 0x8c], 0x540046
push edi
mov dword [ebp - 0x88], 0x410057
mov edx, 0x46
mov dword [ebp - 0x84], 0x450052
sub esi, eax
mov dword [ebp - 0x80], 0x4d005c
mov dword [ebp - 0x7c], 0x630069
mov dword [ebp - 0x78], 0x6f0072
mov dword [ebp - 0x74], 0x6f0073
mov dword [ebp - 0x70], 0x740066
mov dword [ebp - 0x6c], 0x57005c
mov dword [ebp - 0x68], 0x6e0069
mov dword [ebp - 0x64], 0x6f0064
mov dword [ebp - 0x60], 0x730077
mov dword [ebp - 0x5c], 0x43005c
mov dword [ebp - 0x58], 0x720075
mov dword [ebp - 0x54], 0x650072
mov dword [ebp - 0x50], 0x74006e
mov dword [ebp - 0x4c], 0x650056
mov dword [ebp - 0x48], 0x730072
mov dword [ebp - 0x44], 0x6f0069
mov dword [ebp - 0x40], 0x5c006e
mov dword [ebp - 0x3c], 0x700041
mov dword [ebp - 0x38], 0x200070
mov dword [ebp - 0x34], 0x610050
mov dword [ebp - 0x30], 0x680074
mov dword [ebp - 0x2c], 0x5c0073
mov dword [ebp - 0x28], 0x680063
mov dword [ebp - 0x24], 0x6e0061
mov dword [ebp - 0x20], 0x650067
mov dword [ebp - 0x1c], 0x650070
mov dword [ebp - 0x18], 0x64006e
mov dword [ebp - 0x14], 0x6e0061
mov dword [ebp - 0x10], 0x2e0074
mov dword [ebp - 0xc], 0x780065
mov dword [ebp - 8], 0x65
nop dword [eax]
lea ecx, [edx + 0x7fffffb8]
test ecx, ecx
je 0x10048a8e
movzx ecx, word [esi + eax]
test cx, cx
je 0x10048a8e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x10048a70
test edx, edx
lea ecx, [eax - 2]
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret
Function at 0x1004ed40
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2a8
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
lea eax, [ebp - 0x294]
push 0
push eax
call fcn.1009cb00
add esp, 0xc
mov dword [ebp - 0x2a8], 0
xor eax, eax
mov dword [ebp - 0x2a4], 0
mov word [ebp - 8], ax
lea ecx, [ebp - 0x2a8]
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x2a0], 0
push 0x20119
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x8c], 0x4f0053
mov dword [ebp - 0x88], 0x540046
mov dword [ebp - 0x84], 0x410057
mov dword [ebp - 0x80], 0x450052
mov dword [ebp - 0x7c], 0x4d005c
mov dword [ebp - 0x78], 0x630069
mov dword [ebp - 0x74], 0x6f0072
mov dword [ebp - 0x70], 0x6f0073
mov dword [ebp - 0x6c], 0x740066
mov dword [ebp - 0x68], 0x57005c
mov dword [ebp - 0x64], 0x6e0069
mov dword [ebp - 0x60], 0x6f0064
mov dword [ebp - 0x5c], 0x730077
mov dword [ebp - 0x58], 0x43005c
mov dword [ebp - 0x54], 0x720075
mov dword [ebp - 0x50], 0x650072
mov dword [ebp - 0x4c], 0x74006e
mov dword [ebp - 0x48], 0x650056
mov dword [ebp - 0x44], 0x730072
mov dword [ebp - 0x40], 0x6f0069
mov dword [ebp - 0x3c], 0x5c006e
mov dword [ebp - 0x38], 0x6e0055
mov dword [ebp - 0x34], 0x6e0069
mov dword [ebp - 0x30], 0x740073
mov dword [ebp - 0x2c], 0x6c0061
mov dword [ebp - 0x28], 0x5c006c
mov dword [ebp - 0x24], 0x750048
mov dword [ebp - 0x20], 0x72006f
mov dword [ebp - 0x1c], 0x6e006f
mov dword [ebp - 0x18], 0x530067
mov dword [ebp - 0x14], 0x730079
mov dword [ebp - 0x10], 0x690064
mov dword [ebp - 0xc], 0x670061
call fcn.1000d820
mov edi, dword [ebp - 0x2a8]
test eax, eax
jne 0x1004ef02
lea eax, [ebp - 0x298]
mov dword [ebp - 0x298], 0x208
push eax
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x29c]
push eax
push 0
push str.UninstallString
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x1004ef02
mov eax, dword [ebp - 0x29c]
cmp eax, 1
je 0x1004eee7
cmp eax, 2
jne 0x1004ef02
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x1004ef22
test al, 1
jne 0x1004ef02
shr eax, 1
cmp word [ebp + eax*2 - 0x296], 0
je 0x1004ef2b
xor esi, esi
test edi, edi
je 0x1004ef0f
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret
xor eax, eax
mov word [ebp - 0x294], ax
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, eax
jmp 0x1004ef04
Function at 0x1004ef40
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
xor esi, esi
lea eax, [ebp - 0x258]
push esi
push eax
call fcn.1009cb00
add esp, 0xc
mov dword [ebp - 0x260], 1
xor eax, eax
mov dword [ebp - 0x25c], 0x104
mov word [ebp - 0x20], ax
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x50], 0x6f0053
push eax
lea eax, [ebp - 0x258]
mov dword [ebp - 0x4c], 0x740066
push eax
lea eax, [ebp - 0x260]
mov dword [ebp - 0x48], 0x610077
push eax
push str.InstallDir
lea eax, [ebp - 0x50]
mov dword [ebp - 0x44], 0x650072
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x40], 0x54005c
mov dword [ebp - 0x3c], 0x6e0065
mov dword [ebp - 0x38], 0x650063
mov dword [ebp - 0x34], 0x74006e
mov dword [ebp - 0x30], 0x51005c
mov dword [ebp - 0x2c], 0x500051
mov dword [ebp - 0x28], 0x4d0043
mov dword [ebp - 0x24], 0x720067
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x1004f05a
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x510051
push eax
lea eax, [ebp - 0x258]
mov dword [ebp - 0x18], 0x430050
push eax
mov dword [ebp - 0x14], 0x67004d
mov dword [ebp - 0x10], 0x2e0072
mov dword [ebp - 0xc], 0x780065
mov dword [ebp - 8], 0x65
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea eax, [ebp - 0x258]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
mov ecx, 1
cmovne esi, ecx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret

Function at 0x1004f070
Capabilities:
Check mutex on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [ebp + 8]
push dword [eax]
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov edi, eax
test edi, edi
jne 0x1004f094
pop edi
pop ebp
ret
push esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
cmp esi, 0xb7
pop esi
sete al
pop edi
pop ebp
ret
Function at 0x1004f0e0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c220b
mov eax, dword fs:[0]
push eax
sub esp, 0x21c
mov eax, dword [0x100e716c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
push 0x208
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x228], eax
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.1009cb00
add esp, 0xc
mov dword [ebp - 0x21c], 0x104
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x220], 1
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x220]
push eax
push esi
push edi
push ebx
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
call fcn.1000d330
mov ecx, eax
test ecx, ecx
je 0x1004f1ce
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ebx, dword [ebp - 0x224]
add eax, 0x10
mov dword [ebx], eax
lea eax, [ebp - 0x218]
mov dword [ebp - 4], 0
push eax
mov ecx, ebx
call fcn.1000ca30
test al, al
jne 0x1004f1b0
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.10013290
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1007a7c6
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.1000ca10
int3