joyce8/EMBER2024-capa huggingface dataset:
Function at 0x431210
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4914c6
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
push 0x1a
lea esi, [ebp - 0x14]
call fcn.0040e8b0
mov eax, esi
push eax
lea ecx, [ebp - 0x10]
push ecx
mov ebx, str.MicrosoftInternet_ExplorerQuick_LaunchUser_PinnedStartMenu
mov dword [ebp - 4], 0
call fcn.004065a0
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x18]
push eax
mov ebx, 0x4a7ed4
mov byte [ebp - 4], 1
call fcn.004065a0
add esp, 0x14
mov edi, eax
mov byte [ebp - 4], 2
call fcn.00436d10
mov ebx, 1
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4312a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test byte [0x4cd034], bl
jne 0x4312cf
or dword [0x4cd034], ebx
mov byte [ebp - 4], 3
call fcn.004152e0
push 0x49a1b0
call fcn.0046c718
add esp, 4
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x18]
push 0x4cd038
push ecx
lea ebx, [ebp - 0x10]
call fcn.00407700
mov eax, dword [eax]
add esp, 8
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4312fc
test al, 0x10
jne 0x4312fc
mov esi, 1
jmp 0x4312fe
xor esi, esi
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43131d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test esi, esi
je 0x43132d
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x1c]
call fcn.00434440
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x431350
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x431376
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x431ce0
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
mov ebx, str.FSPlatform.exe
push esi
xor esi, esi
xor eax, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], str.FSLauncher.exe
mov dword [ebp - 0x10], str.FsSvr.exe
mov dword [ebp - 0xc], str.FSPAP.exe
mov dword [ebp - 8], esi
cmp eax, ebx
je 0x431d69
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 4]
push edx
call fcn.004065a0
mov eax, dword [ebp - 4]
add esp, 8
push eax
call edi
cmp eax, 0xffffffff
je 0x431d40
test al, 0x10
jne 0x431d40
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x431d5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp + esi*4 - 0x14]
inc esi
test ebx, ebx
jne 0x431d17
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4322a0
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push eax
lea ecx, [ebp - 4]
push ecx
mov ebx, str.Temp
call fcn.004065a0
mov edx, dword [ebp - 4]
add esp, 8
push edx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
mov eax, dword [ebp - 4]
pop ebx
je 0x4322fa
push esi
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov esi, eax
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4322f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432316
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov esp, ebp
pop ebp
ret

Function at 0x432320
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x492548
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov ebx, str.FunshionBHO.dll
call fcn.004065a0
add esp, 8
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push edx
call edi
cmp eax, 0xffffffff
je 0x432383
test al, 0x10
jne 0x432383
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0x26
lea esi, [ebp - 0x14]
call fcn.0040e8b0
mov ecx, esi
push ecx
lea edx, [ebp + 8]
push edx
mov ebx, str.Common_Files_funshionlauncher
mov byte [ebp - 4], 1
call fcn.004065a0
add esp, 0xc
mov byte [ebp - 4], 2
mov eax, dword [ebp + 8]
push eax
call edi
cmp eax, 0xffffffff
je 0x4323c0
lea ecx, [ebp + 8]
push ecx
call fcn.0040e9b0
add esp, 4
mov byte [ebp - 4], 1
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4323e3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432406
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43242c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x432440
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x493448
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00431ba0
push esi
call fcn.00431ce0
push esi
call fcn.004329b0
push esi
call fcn.00432ac0
call fcn.00431fc0
mov eax, esi
call fcn.004322a0
push esi
call fcn.00432320
lea eax, [ebp - 0x10]
push eax
call fcn.004319a0
mov esi, eax
mov dword [ebp - 4], 0
mov eax, dword [esi]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4324c1
push esi
call fcn.00432ac0
call fcn.00431ba0
mov ecx, esi
call fcn.00432640
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4324e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x432d40
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
mov ebx, str.FSPlatform.exe
xor esi, esi
xor eax, eax
push edi
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], str.FSLauncher.exe
mov dword [ebp - 0x10], str.FsSvr.exe
mov dword [ebp - 0xc], str.FSPAP.exe
mov dword [ebp - 8], esi
cmp eax, ebx
je 0x432dbe
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, dword [ebp + 8]
push ecx
lea edx, [ebp - 4]
push edx
call fcn.004065a0
mov eax, dword [ebp - 4]
add esp, 8
push eax
call edi
cmp eax, 0xffffffff
je 0x432d96
test al, 0x10
je 0x432dc9
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432db5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [ebp + esi*4 - 0x14]
inc esi
test ebx, ebx
jne 0x432d77
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432de8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4331b0
Capabilities:
Copy file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4914f8
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x10]
push 0x4cccd4
push eax
mov ebx, ecx
call fcn.00407700
add esp, 8
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
or edi, 0xffffffff
cmp eax, edi
je 0x43327e
test al, 0x10
jne 0x43327e
mov ebx, dword [ebp + 8]
lea edx, [ebp + 8]
push 0x4cccd4
push edx
call fcn.00407700
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
add esp, 8
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
mov esi, eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x433249
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edi
dec edi
test edi, edi
jg 0x433268
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edi
dec edi
test edi, edi
jg 0x43329d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4346a0
Capabilities:
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4940fc
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push edi
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
or edi, 0xffffffff
test byte [sym.Install.exe____B_1__get_instance___singleton_VCFpInstallPath___serialization_boost__CAAAVCFpInstallPath__XZ_51], 1
jne 0x4346f6
or dword [sym.Install.exe____B_1__get_instance___singleton_VCFpInstallPath___serialization_boost__CAAAVCFpInstallPath__XZ_51], 1
mov dword [ebp - 4], 0
call fcn.00421cd0
push 0x49a350
call fcn.0046c718
add esp, 4
mov dword [ebp - 4], edi
lea eax, [ebp - 0x14]
push eax
push sym.Install.exe__t__1__get_instance___singleton_VCFpInstallPath___serialization_boost__CAAAVCFpInstallPath__XZ_4V__singleton_wrapp
call fcn.00422fc0
mov ebx, eax
mov eax, 1
mov dword [ebp - 4], eax
test byte [0x4cd034], al
jne 0x434736
or dword [0x4cd034], eax
mov byte [ebp - 4], 2
call fcn.004152e0
push 0x49a1b0
call fcn.0046c718
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10]
push 0x4cd038
push ecx
call fcn.00407700
add esp, 8
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
mov ecx, edi
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x434769
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, edi
je 0x43477b
test al, 0x10
je 0x4347ad
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
lock xadd dword [edx], edi
dec edi
test edi, edi
jg 0x43479a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
mov edx, dword [edx + 4]
lea eax, [ebp - 0x10]
push eax
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, esi
call edx
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edi
dec edi
test edi, edi
jg 0x4347e6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x436c40
Capabilities:
Check if file exists
Delete file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48e538
mov eax, dword fs:[0]
push eax
push ecx
push ebx
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov ebx, 0x4a36e4
call fcn.004065a0
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp + 8]
push ecx
mov ebx, eax
mov dword [ebp - 4], 0
call fcn.00407700
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
add esp, 0x10
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x436cb5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x436cd2
test al, 0x10
jne 0x436cd2
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436cf1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x436d10
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push str.Shell32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
push str.SHCreateItemFromParsingName
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x436dad
push 2
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x436d9a
mov eax, dword [edi]
lea ecx, [ebp - 8]
push ecx
push 0x4a6bfc
push 0
push eax
call esi
test eax, eax
js 0x436d9a
lea edx, [ebp - 4]
push edx
push 0x4a89a4
push 1
push 0
push 0x49e0ec
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x436d8f
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
call dword [sym.imp.ole32.dll_CoUninitialize]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
push 5
push 0
push 0
push eax
push str.TaskBarUnPin
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x437080
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4944d6
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x10]
push eax
mov ebx, 1
call fcn.00436dd0
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push ecx
call esi
test eax, eax
jne 0x4370e0
mov edx, dword [ebp - 0x10]
push edx
push eax
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
mov eax, dword [ebp - 0x10]
push eax
call esi
test eax, eax
je 0x43712c
lea edi, [ebp - 0x10]
call fcn.00437170
test byte [sym.Install.exe____B_1__get_instance___singleton_VCFpFunshionIni___serialization_boost__CAAAVCFpFunshionIni__XZ_51], 1
mov ebx, eax
jne 0x437114
or dword [sym.Install.exe____B_1__get_instance___singleton_VCFpFunshionIni___serialization_boost__CAAAVCFpFunshionIni__XZ_51], 1
mov byte [ebp - 4], 1
call fcn.00416790
push 0x49a270
call fcn.0046c718
add esp, 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
push ecx
push 0x4ccd6c
mov ecx, 0x4ccd64
mov edi, sym.Install.exe__t__1__get_instance___singleton_VCFpFunshionIni___serialization_boost__CAAAVCFpFunshionIni__XZ_4V__singleton_wrapp
call fcn.00416ab0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437152
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x437170
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4933a8
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
mov eax, dword [0x4c21d0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x10]
push eax
mov esi, 1
call fcn.00436f10
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x437202
lea edx, [ebp - 0x10]
push edx
push edi
call fcn.0040a420
add esp, 8
test eax, eax
jne 0x437202
mov eax, dword [edi]
push ecx
sub eax, 0x10
mov dword [ebp - 0x14], esp
mov esi, esp
push eax
call fcn.00401540
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x10]
add esp, 4
push eax
call fcn.0040ed00
mov esi, eax
add esp, 8
test esi, esi
je 0x437202
lea ecx, [ebp - 0x10]
push ecx
call fcn.0040e9b0
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437228
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x439f20
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4c21d0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor eax, eax
push 0x208
push eax
lea ecx, [ebp - 0x20e]
push ecx
mov word [ebp - 0x210], ax
call fcn.0046ff60
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add esp, 0xc
push str.C:iResearchDYTDYT.exe
call esi
cmp eax, 0xffffffff
je 0x439f7c
test al, 0x10
jne 0x439f7c
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c455
mov esp, ebp
pop ebp
ret
push edi
push 0x4aa300
lea ecx, [ebp - 0x214]
call fcn.00401bb0
push 0x104
lea edx, [ebp - 0x210]
push 0
push edx
call fcn.0046ff60
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
add esp, 0xc
push 0
push 2
lea eax, [ebp - 0x210]
push eax
push 0
call edi
mov ecx, dword [ebp - 0x214]
push ecx
lea edx, [ebp - 0x210]
push 0x105
push edx
call fcn.0046d80c
add esp, 0xc
lea eax, [ebp - 0x210]
push eax
call esi
cmp eax, 0xffffffff
je 0x439fe5
test al, 0x10
je 0x43a037
push 0x104
lea ecx, [ebp - 0x210]
push 0
push ecx
call fcn.0046ff60
add esp, 0xc
push 0
push 0x17
lea edx, [ebp - 0x210]
push edx
push 0
call edi
mov eax, dword [ebp - 0x214]
push eax
lea ecx, [ebp - 0x210]
push 0x105
push ecx
call fcn.0046d80c
add esp, 0xc
lea edx, [ebp - 0x210]
push edx
call esi
cmp eax, 0xffffffff
je 0x43a06e
test al, 0x10
jne 0x43a06e
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a059
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c455
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a090
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.0046c455
mov esp, ebp
pop ebp
ret
Function at 0x43a0b0
Capabilities:
Check if file exists
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x4c21d0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
xor eax, eax
push 0x208
push eax
lea ecx, [ebp - 0x20e]
push ecx
mov word [ebp - 0x210], ax
call fcn.0046ff60
mov esi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add esp, 0xc
push str.C:iResearchYJTYJT.exe
call esi
cmp eax, 0xffffffff
je 0x43a10c
test al, 0x10
jne 0x43a10c
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c455
mov esp, ebp
pop ebp
ret
push edi
push 0x4aa358
lea ecx, [ebp - 0x214]
call fcn.00401bb0
push 0x104
lea edx, [ebp - 0x210]
push 0
push edx
call fcn.0046ff60
mov edi, dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
add esp, 0xc
push 0
push 2
lea eax, [ebp - 0x210]
push eax
push 0
call edi
mov ecx, dword [ebp - 0x214]
push ecx
lea edx, [ebp - 0x210]
push 0x105
push edx
call fcn.0046d80c
add esp, 0xc
lea eax, [ebp - 0x210]
push eax
call esi
cmp eax, 0xffffffff
je 0x43a175
test al, 0x10
je 0x43a1c7
push 0x104
lea ecx, [ebp - 0x210]
push 0
push ecx
call fcn.0046ff60
add esp, 0xc
push 0
push 0x17
lea edx, [ebp - 0x210]
push edx
push 0
call edi
mov eax, dword [ebp - 0x214]
push eax
lea ecx, [ebp - 0x210]
push 0x105
push ecx
call fcn.0046d80c
add esp, 0xc
lea edx, [ebp - 0x210]
push edx
call esi
cmp eax, 0xffffffff
je 0x43a1fe
test al, 0x10
jne 0x43a1fe
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a1e9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046c455
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x214]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43a220
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.0046c455
mov esp, ebp
pop ebp
ret