joyce8/EMBER2024-capa huggingface dataset:
Function at 0x41ea20
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 0x41ea7e
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 0x41ea40
mov eax, dword [edi]
jmp 0x41eb69
cmp eax, 0x4e0
jb 0x41eb69
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 0x41eaa0
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 0x41eaf0
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 0x41ee60
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 0x41ee7b
dec eax
or eax, 0xfffffff0
add eax, 1
jne 0x41efda
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 0x41efda
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 0x41efd3
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x41efd3
cmp dword [ebp - 0x10], 0
jg 0x41efd3
jl 0x41eee4
cmp eax, 0x1000000
ja 0x41efd3
push edi
push 0x1000000
call fcn.00475b9d
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 0x41efb7
cmp dword [ebp + 0x14], 0
je 0x41efb7
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.0041ec00
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 0x41ef89
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 0x41ef9f
call ebx
push 1
push esi
call fcn.00475685
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.00475685
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.00475685
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 0x41f110
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 0x41f130
push 9
push str.svc_other
lea ecx, [esi + 0xc]
call fcn.0040d800
pop esi
ret
call fcn.0044b080
test eax, eax
je 0x41f14a
push 6
push str.svc_hr
lea ecx, [esi + 0xc]
call fcn.0040d800
pop esi
ret
push dword [esi]
call fcn.00469820
add esp, 4
test eax, eax
je 0x41f17b
push dword [esi]
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x41f17b
push 0x4c3fc0
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41f17b
push 0x4c163c
call eax
pop esi
ret
Function at 0x42d230
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bd680
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
push edi
mov eax, dword [0x4e216c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.0042c9d0
test eax, eax
jne 0x42d3c1
lea eax, [ebp - 0x1c]
push eax
call fcn.00418230
mov ecx, eax
call fcn.004150f0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.0042bf20
or edi, 0xffffffff
test eax, eax
jne 0x42d2aa
push eax
push eax
push 1
push eax
push str.24r_safe
call fcn.00418170
mov ecx, eax
call fcn.00461f40
jmp 0x42d3a2
lea eax, [ebp - 0x14]
push eax
call fcn.00418230
mov ecx, eax
call fcn.00415150
push dword [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.00469820
add esp, 4
test eax, eax
je 0x42d384
call fcn.0040ce00
mov ecx, eax
test ecx, ecx
je 0x42d3d2
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.00418230
mov ecx, eax
call fcn.00415130
push dword [eax]
lea ecx, [ebp - 0xd]
mov byte [ebp - 4], 3
call fcn.00429de0
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0040cd10
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 0x42d338
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 0x4c4168
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push 0
push 0
push 1
push 0
push str.24r_succ
call fcn.00418170
mov ecx, eax
call fcn.00461f40
mov byte [ebp - 4], 1
add esi, 0xfffffff0
mov eax, edi
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x42d384
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 0x42d3a2
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 0x42d3c1
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.0040c4e0
int3
Function at 0x42db00
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 0x42db50
mov ecx, esi
call fcn.0040d8e0
lea ecx, [esi + 0x34]
call fcn.0041f1c0
push str.YxhGametray
push dword [esi + 0x58]
call fcn.0049b416
add esp, 8
test eax, eax
jne 0x42db47
push str.LeyouGametray
push dword [esi + 0x58]
call fcn.0049b416
add esp, 8
test eax, eax
jne 0x42db50
lea ecx, [esi + 0x44]
pop esi
jmp fcn.0041e6b0
pop esi
ret

Function at 0x43c370
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x4e216c]
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, 0x50daa8
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 0x43c4a2
movzx ecx, word [esi + eax]
test cx, cx
je 0x43c4a2
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x43c484
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.0047592d
mov esp, ebp
pop ebp
ret
Function at 0x43e0c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov eax, dword [0x4e216c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov eax, 0x50dbe8
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 0x43e20e
movzx ecx, word [esi + eax]
test cx, cx
je 0x43e20e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x43e1f0
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.0047592d
mov esp, ebp
pop ebp
ret
Function at 0x4434d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x4e216c]
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, 0x50db48
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 0x4435fe
movzx ecx, word [esi + eax]
test cx, cx
je 0x4435fe
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x4435e0
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.0047592d
mov esp, ebp
pop ebp
ret

Function at 0x443b60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x4e216c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov eax, 0x50c750
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 0x443c33
movzx ecx, word [esi + eax]
test cx, cx
je 0x443c33
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x443c15
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.0047592d
mov esp, ebp
pop ebp
ret
Function at 0x444d00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x4e216c]
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, 0x50dc98
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 0x444e2e
movzx ecx, word [esi + eax]
test cx, cx
je 0x444e2e
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x444e10
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.0047592d
mov esp, ebp
pop ebp
ret
Function at 0x44b080
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 [0x4e216c]
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.00497c30
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.0040d2f0
mov edi, dword [ebp - 0x2a8]
test eax, eax
jne 0x44b242
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 0x44b242
mov eax, dword [ebp - 0x29c]
cmp eax, 1
je 0x44b227
cmp eax, 2
jne 0x44b242
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x44b262
test al, 1
jne 0x44b242
shr eax, 1
cmp word [ebp + eax*2 - 0x296], 0
je 0x44b26b
xor esi, esi
test edi, edi
je 0x44b24f
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.0047592d
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 0x44b244
Function at 0x44b280
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 [0x4e216c]
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.00497c30
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 0x44b39a
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.0047592d
mov esp, ebp
pop ebp
ret

Function at 0x44b3b0
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 0x44b3d4
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 0x44b420
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4bda7b
mov eax, dword fs:[0]
push eax
sub esp, 0x21c
mov eax, dword [0x4e216c]
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.00497c30
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.0040ce00
mov ecx, eax
test ecx, ecx
je 0x44b50e
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.0040c500
test al, al
jne 0x44b4f0
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
call fcn.00412b30
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.0047592d
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.0040c4e0
int3