joyce8/EMBER2024-capa huggingface dataset:
Function at 0x446790
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfec
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0xfec]
push eax
call fcn.00446320
push 0xfd0
lea eax, [ebp - 0xfd4]
push 0
push eax
call fcn.0050b0c0
add esp, 0x10
lea eax, [ebp - 0xfec]
cmp dword [ebp - 0xfd8], 8
cmovae eax, dword [ebp - 0xfec]
push eax
push 0x7e8
lea eax, [ebp - 0xfd4]
push eax
push 0x564bc8
push str.NoNeedPop
push str.ConfigApp
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0xfd4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x446804
sub ecx, edx
mov edx, dword [ebp - 0xfd8]
sar ecx, 1
push ebx
setne bl
cmp edx, 8
jb 0x446853
mov ecx, dword [ebp - 0xfec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x446849
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446864
push edx
push ecx
call fcn.004610ef
add esp, 8
mov ecx, dword [ebp - 4]
mov al, bl
xor ecx, ebp
pop ebx
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
call fcn.0050f6a9
int3

Function at 0x446870
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfec
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0xfec]
push eax
call fcn.00446320
push 0xfd0
lea eax, [ebp - 0xfd4]
push 0
push eax
call fcn.0050b0c0
add esp, 0x10
lea eax, [ebp - 0xfec]
cmp dword [ebp - 0xfd8], 8
cmovae eax, dword [ebp - 0xfec]
push eax
push 0x7e8
lea eax, [ebp - 0xfd4]
push eax
push 0x564bc8
push str.NotipPop
push str.ConfigApp
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea ecx, [ebp - 0xfd4]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4468e4
sub ecx, edx
mov edx, dword [ebp - 0xfd8]
sar ecx, 1
push ebx
setne bl
cmp edx, 8
jb 0x446933
mov ecx, dword [ebp - 0xfec]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x446929
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x446944
push edx
push ecx
call fcn.004610ef
add esp, 8
mov ecx, dword [ebp - 4]
mov al, bl
xor ecx, ebp
pop ebx
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
call fcn.0050f6a9
int3
Function at 0x447280
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.0050b0c0
add esp, 0xc
mov dword [ebp - 0x230], 1
lea eax, [ebp - 0x22c]
mov dword [ebp - 0x22c], 0x104
lea ecx, [ebp - 0x225]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x230]
push eax
call fcn.00444ab0
push eax
lea ecx, [ebp - 0x225]
call fcn.00444de0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x44731e
xor eax, eax
mov dword [ebp - 0x214], 0
push eax
mov dword [ebp - 0x210], 7
mov word [ebp - 0x224], ax
push 0x564bc8
jmp 0x44736d
push str.YxhGamebox.exe
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
xor eax, eax
mov dword [ebp - 0x214], 0
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x210], 7
mov word [ebp - 0x224], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x447356
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x224]
call fcn.00417590
cmp dword [ebp - 0x210], 8
lea eax, [ebp - 0x224]
push ebx
cmovae eax, dword [ebp - 0x224]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov edx, dword [ebp - 0x210]
cmp eax, 1
sete bl
cmp edx, 8
jb 0x4473d6
mov ecx, dword [ebp - 0x224]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4473cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4473e7
push edx
push ecx
call fcn.004610ef
add esp, 8
mov ecx, dword [ebp - 4]
mov al, bl
xor ecx, ebp
pop ebx
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
call fcn.0050f6a9
int3

Function at 0x4473f0
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.0050b0c0
add esp, 0xc
mov dword [ebp - 0x218], 1
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 0x104
lea ecx, [ebp - 0x20d]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x218]
push eax
push str.Setup_Path
call fcn.00444be0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x447472
xor al, al
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x20d]
call fcn.00445440
push eax
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]
mov ecx, dword [ebp - 4]
cmp eax, 1
sete al
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x4474b0
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.0050b0c0
add esp, 0xc
mov dword [ebp - 0x218], 1
lea eax, [ebp - 0x214]
mov dword [ebp - 0x214], 0x104
lea ecx, [ebp - 0x20d]
push eax
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.004454e0
push eax
lea ecx, [ebp - 0x20d]
call fcn.004452e0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x447539
xor al, al
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x20d]
call fcn.00444e90
push eax
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]
mov ecx, dword [ebp - 4]
cmp eax, 1
sete al
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x44ec50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x38], 0x650057
push ebx
push esi
mov word [ebp - 8], ax
lea esi, [ebp - 0x38]
mov eax, 0x5b9f04
mov dword [ebp - 0x34], 0x440069
push edi
mov dword [ebp - 0x30], 0x610075
mov edx, 0x1a
mov dword [ebp - 0x2c], 0x44006e
sub esi, eax
mov dword [ebp - 0x28], 0x610069
mov dword [ebp - 0x24], 0x6f006c
mov dword [ebp - 0x20], 0x530067
mov dword [ebp - 0x1c], 0x620075
mov dword [ebp - 0x18], 0x6e0057
mov dword [ebp - 0x14], 0x450064
mov dword [ebp - 0x10], 0x690078
mov dword [ebp - 0xc], 0x740073
nop dword [eax]
lea ecx, [edx + 0x7fffffe4]
test ecx, ecx
je 0x44ecee
movzx ecx, word [esi + eax]
test cx, cx
je 0x44ecee
mov word [eax], cx
add eax, 2
sub edx, 1
jne 0x44ecd0
lea ecx, [eax - 2]
test edx, edx
pop edi
cmovne ecx, eax
xor eax, eax
pop esi
pop ebx
mov word [ecx], ax
mov eax, 0x5b9f04
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x452070
Capabilities:
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2024
call fcn.00461420
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
test esi, esi
jne 0x4520a0
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
push 0x2000
xorps xmm0, xmm0
mov dword [ebp - 0x200c], 0
lea eax, [ebp - 0x2004]
movq qword [ebp - 0x2014], xmm0
push 0
movups xmmword [ebp - 0x2024], xmm0
push eax
mov word [ebp - 0x2008], 0
mov dword [ebp - 0x2020], 3
call fcn.0050b0c0
push 0x1000
lea eax, [ebp - 0x2004]
push esi
push eax
call fcn.0050fa73
lea eax, [ebp - 0x2004]
add esp, 0x18
mov dword [ebp - 0x201c], eax
mov eax, 0x614
mov word [ebp - 0x2014], ax
lea eax, [ebp - 0x2024]
push eax
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
mov ecx, dword [ebp - 4]
mov eax, 1
xor ecx, ebp
pop esi
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x4526f0
Capabilities:
Get common file path
Get startup folder

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x5b228c]
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.0050b0c0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0
push 0x1a
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
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 0x452752
sub ecx, edx
lea eax, [ebp - 0x20c]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.00417590
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.00460f8d
mov esp, ebp
pop ebp
ret

Function at 0x452cb0
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55832b
mov eax, dword fs:[0]
push eax
mov eax, 0x2018
call fcn.00461420
mov eax, dword [0x5b228c]
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 + 0xc]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp - 0x2014], eax
mov eax, dword [ebp + 0x10]
push 0x2000
mov dword [ebp - 0x201c], eax
lea eax, [ebp - 0x2010]
push 0
push eax
call fcn.0050b0c0
add esp, 0xc
lea eax, [ebp - 0x2020]
push eax
push edi
call sub.VERSION.dll_GetFileVersionInfoSizeW
test eax, eax
je 0x452e2d
cmp eax, 0x1fff
ja 0x452e2d
lea ecx, [ebp - 0x2010]
push ecx
push eax
push 0
push edi
call sub.VERSION.dll_GetFileVersionInfoW
test eax, eax
je 0x452e2d
lea eax, [ebp - 0x2024]
push eax
lea eax, [ebp - 0x2018]
push eax
push 0x5681dc
lea eax, [ebp - 0x2010]
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x452e2d
cmp dword [ebp + 0x18], 0
mov eax, dword [ebp - 0x2018]
je 0x452d83
mov ebx, dword [eax + 8]
mov edi, dword [eax + 0xc]
jmp 0x452d89
mov ebx, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov eax, dword [ebp - 0x2014]
test eax, eax
je 0x452d95
mov dword [eax], ebx
mov eax, dword [ebp - 0x201c]
test eax, eax
je 0x452da1
mov dword [eax], edi
test esi, esi
je 0x452e26
lea ecx, [ebp - 0x2014]
call fcn.00444430
movzx eax, di
push eax
shr edi, 0x10
push edi
movzx eax, bx
push eax
shr ebx, 0x10
lea eax, [ebp - 0x2014]
push ebx
push str._d._d._d._d
push eax
mov dword [ebp - 4], 0
call fcn.0040f6a0
mov edx, dword [ebp - 0x2014]
add esp, 0x18
mov ecx, 0x104
sub edx, esi
nop dword [eax]
lea eax, [ecx + 0x7ffffefa]
test eax, eax
je 0x452e0e
movzx eax, word [edx + esi]
test ax, ax
je 0x452e0e
mov word [esi], ax
add esi, 2
sub ecx, 1
jne 0x452df0
test ecx, ecx
lea eax, [esi - 2]
cmovne eax, esi
xor ecx, ecx
mov word [eax], cx
lea ecx, [ebp - 0x2014]
call fcn.00404e10
mov eax, 1
jmp 0x452e2f
xor eax, eax
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.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x4533f0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5583fb
mov eax, dword fs:[0]
push eax
sub esp, 0x410
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x410]
push 0x400
push 0
push eax
mov dword [ebp - 0x418], esi
call fcn.0050b0c0
add esp, 0xc
mov dword [ebp - 0x418], 1
lea eax, [ebp - 0x41c]
mov dword [ebp - 0x41c], 0x400
push eax
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x418]
push eax
push 0x56c280
push str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
lea ecx, [ebp - 0x414]
test eax, eax
jne 0x45348d
lea eax, [ebp - 0x410]
push eax
jmp 0x453492
push 0x56c270
call fcn.00404130
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov eax, dword [ebp - 0x414]
mov edx, eax
mov dword [ebp - 4], 0
lea edi, [edx + 2]
nop dword [eax]
mov cx, word [edx]
add edx, 2
test cx, cx
jne 0x4534c0
sub edx, edi
mov ecx, esi
sar edx, 1
push edx
push eax
call fcn.00417590
mov eax, dword [ebp - 0x414]
or ecx, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x4534fd
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
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.00460f8d
mov esp, ebp
pop ebp
ret

Function at 0x453880
Capabilities:
Get token membership

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0xc], 0
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x220
push 0x20
push 2
lea eax, [ebp - 0xc]
mov word [ebp - 8], 0x500
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x4538e9
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x14]
push 0
call dword [sym.imp.ADVAPI32.dll_CheckTokenMembership]
push dword [ebp - 0x14]
neg eax
sbb eax, eax
and dword [ebp - 0x10], eax
call dword [sym.imp.ADVAPI32.dll_FreeSid]
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 4]
cmp eax, 1
sete al
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x453dd0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1058
call fcn.00461420
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
xorps xmm0, xmm0
mov dword [ebp - 0x1058], 0x44
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x1058]
push edi
mov edi, dword [ebp + 0xc]
push eax
movlpd qword [ebp - 0x1054], xmm0
movlpd qword [ebp - 0x104c], xmm0
movlpd qword [ebp - 0x1044], xmm0
movlpd qword [ebp - 0x103c], xmm0
movlpd qword [ebp - 0x1034], xmm0
movlpd qword [ebp - 0x102c], xmm0
movlpd qword [ebp - 0x1024], xmm0
movlpd qword [ebp - 0x101c], xmm0
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov eax, 5
mov dword [ebp - 0x102c], 1
push 0x1000
mov word [ebp - 0x1028], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x1004]
push 0
push eax
movups xmmword [ebp - 0x1014], xmm0
call fcn.0050b0c0
add esp, 0xc
cmp dword [edi + 0x10], 0
je 0x453ead
cmp dword [edi + 0x14], 8
jb 0x453e8d
mov edi, dword [edi]
cmp dword [esi + 0x14], 8
jb 0x453e95
mov esi, dword [esi]
push edi
push esi
lea eax, [ebp - 0x1004]
push str.__s___s
push eax
call fcn.004501a0
add esp, 0x10
jmp 0x453eca
cmp dword [esi + 0x14], 8
jb 0x453eb5
mov esi, dword [esi]
push esi
lea eax, [ebp - 0x1004]
push 0x56c1c4
push eax
call fcn.004501a0
add esp, 0xc
lea eax, [ebp - 0x1014]
push eax
lea eax, [ebp - 0x1058]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x1004]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
cmp eax, 1
jne 0x453f20
push dword [ebp - 0x1010]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [ebp - 0x1014]
call esi
pop edi
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor al, al
pop edi
xor ecx, ebp
pop esi
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x4540b0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x558556
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x5b228c]
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 edi, dword [ebp + 8]
lea eax, [ebp - 0x2e0]
push 0x2d0
push 0
push eax
call fcn.0050b0c0
mov esi, dword [sym.imp.SHLWAPI.dll_AssocQueryStringW]
lea eax, [ebp - 0x2e8]
add esp, 0xc
mov dword [ebp - 0x2e8], 0x168
push eax
lea eax, [ebp - 0x2e0]
push eax
push 0x566dc8
push str.http
push 1
push 0
call esi
xor ebx, ebx
test eax, eax
setns bl
test eax, eax
jns 0x454152
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x2e0]
push eax
push 0
push str.iexplore.exe
push 2
push 2
call esi
xor ebx, ebx
test eax, eax
setns bl
test ebx, ebx
je 0x454296
call fcn.004106d0
mov ecx, eax
test ecx, ecx
je 0x4542b4
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2e4], eax
lea eax, [ebp - 0x2e0]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x2e4]
call fcn.004093d0
test al, al
jne 0x4541c2
lea ecx, [ebp - 0x2e0]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4541a0
sub ecx, edx
lea eax, [ebp - 0x2e0]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2e4]
call fcn.004157e0
mov esi, dword [ebp - 0x2e4]
mov dword [ebp - 4], 1
cmp dword [esi - 0xc], 0
jge 0x4541da
or eax, 0xffffffff
jmp 0x4541f5
push str..exe
push esi
call fcn.0050b392
add esp, 8
test eax, eax
jne 0x4541f1
or eax, 0xffffffff
jmp 0x4541f5
sub eax, esi
sar eax, 1
mov ecx, dword [esi - 0xc]
test eax, eax
jle 0x454226
sub ecx, eax
add eax, 4
add ecx, 4
push ecx
push eax
lea ecx, [ebp - 0x2e4]
call fcn.00451fb0
push 1
push 0
lea ecx, [ebp - 0x2e4]
call fcn.00451fb0
mov esi, dword [ebp - 0x2e4]
push 1
push 0
push dword [edi]
push esi
push 0x566dc8
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jle 0x454260
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x454296
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
jmp 0x454296
push 0xffffffffffffffff
push 0
push 0
push 0
push 0
push 1
push dword [edi]
push esi
call fcn.00455f70
add esp, 0x20
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x454296
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
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.00460f8d
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.004093b0
int3
Function at 0x454350
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x414], eax
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x408], esi
mov dword [ebp - 0x408], ecx
push edi
mov edi, dword [ebp + 0x18]
test ecx, ecx
je 0x4543f1
test ebx, ebx
je 0x4543f1
test eax, eax
je 0x4543f1
push 0x400
lea eax, [ebp - 0x404]
push 0
push eax
call fcn.0050b0c0
add esp, 0xc
mov dword [ebp - 0x410], 1
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x40c], 0x400
push eax
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x414]
push ebx
push dword [ebp - 0x408]
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
jne 0x4543f1
lea eax, [ebp - 0x404]
jmp 0x4543fb
test edi, edi
mov eax, 0x564bc8
cmovne eax, edi
push eax
mov ecx, esi
call fcn.00404130
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00460f8d
mov esp, ebp
pop ebp
ret
Function at 0x455810
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5587b3
mov eax, dword fs:[0]
push eax
sub esp, 0xcc
mov eax, dword [0x5b228c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
call fcn.0046f390
mov ecx, eax
push 0
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x45598f
push 0x60
push str.d:jenkins.jenkinsworkspaceweiduangamemicrogamemicrogamebox_srcmicrogameboxutilsutils.cc
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], al
call fcn.004174a0
push 3
push 0x566acc
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.004174a0
mov byte [ebp - 4], 2
call fcn.0046f390
mov edi, eax
lea ecx, [ebp - 0xd8]
push 0x404
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00404570
mov esi, eax
push 0x56c018
push esi
mov byte [ebp - 4], 3
call fcn.00403250
mov ecx, dword [ebp + 8]
mov edx, 0x566aa0
test ecx, ecx
cmovne edx, ecx
push edx
push esi
call fcn.00403250
mov eax, dword [edi]
add esp, 0x10
mov ecx, edi
push esi
call dword [eax + 0x1c]
lea ecx, [ebp - 0xd8]
call fcn.00405d60
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x455937
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x45592d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4559df
push edx
push ecx
call fcn.004610ef
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x45597d
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x455973
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4559e4
push edx
push ecx
call fcn.004610ef
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
push dword [ebp + 8]
push reloc.gdiplus.dll_Ordinal_1
call dword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov edx, dword [ebp + 8]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4559bf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 1
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.00460f8d
mov esp, ebp
pop ebp
ret
call fcn.0050f6a9
call fcn.0050f6a9
int3
Function at 0x455f70
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x5a19b0
push 0x50cca0
mov eax, dword fs:[0]
push eax
sub esp, 0x848
mov eax, dword [0x5b228c]
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 ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 0x20]
mov dword [ebp - 4], 0
test esi, esi
je 0x4560d0
cmp word [esi], 0
je 0x4560d0
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x455fd0
sub ecx, edx
sar ecx, 1
cmp ecx, 0x104
ja 0x4560d0
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4560d0
push 0x800
push 0
lea eax, [ebp - 0x81c]
push eax
call fcn.0050b0c0
push esi
push 0x56be98
push 0x3ff
lea eax, [ebp - 0x81c]
push eax
call fcn.00456d00
push 0x3c
push 0
lea eax, [ebp - 0x858]
push eax
call fcn.0050b0c0
add esp, 0x28
mov dword [ebp - 0x858], 0x3c
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x848], eax
mov dword [ebp - 0x84c], 0x566dc8
mov dword [ebp - 0x844], ebx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x854], 0x440
lea eax, [ebp - 0x858]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov esi, eax
test esi, esi
je 0x456097
cmp dword [ebp + 0x1c], 0
je 0x456097
push 0xffffffffffffffff
push dword [ebp - 0x820]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test edi, edi
je 0x4560ac
test esi, esi
je 0x4560bc
push edi
push dword [ebp - 0x820]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test esi, esi
je 0x4560bc
push dword [ebp - 0x820]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
jmp 0x4560d9
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.00460f8d
mov esp, ebp
pop ebp
ret

Function at 0x456100
Capabilities:
Check if file exists
Delete file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push dword [esi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x45612b
push 0x80
push dword [esi]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [esi]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
pop esi
pop ebp
ret
mov eax, 1
pop esi
pop ebp
ret