joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5a69c0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov dword [ebp - 8], 0
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [0x632d24], eax
je 0x5a69e4
mov eax, 0x10dd
jmp 0x5a6b8c
cmp dword [0x632d28], 0
je 0x5a69f7
mov eax, dword [0x632d28]
jmp 0x5a6b8c
cmp dword [ebp + 0xc], 0
jne 0x5a6a07
mov eax, 0x57
jmp 0x5a6b8c
cmp dword [ebp + 8], 0
jne 0x5a6a17
mov eax, 6
jmp 0x5a6b8c
mov eax, dword [ebp + 8]
cmp dword [eax], 0
jne 0x5a6a40
mov dword [ebp - 8], 6
mov ecx, dword [ebp - 8]
mov dword [0x632d28], ecx
mov edx, dword [ebp + 8]
mov dword [0x632d2c], edx
mov eax, dword [ebp - 8]
jmp 0x5a6b8c
push 0x18
call fcn.00415ffa
add esp, 4
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x5a6a9b
mov dword [ebp - 8], 8
mov ecx, dword [ebp - 8]
mov dword [0x632d28], ecx
cmp dword [ebp - 4], 0
je 0x5a6a8a
mov edx, dword [ebp - 4]
mov dword [ebp - 0x20], edx
push 0x18
mov eax, dword [ebp - 0x20]
push eax
call fcn.00541c01
add esp, 8
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 8]
mov dword [0x632d2c], ecx
mov eax, dword [ebp - 8]
jmp 0x5a6b8c
push 0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call fcn.005a69a0
mov dword [ebp - 0x10], eax
push 0
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.005a69a0
mov dword [ebp + 0xc], eax
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0x36]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx + 0x40]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0xc], 0
je 0x5a6adb
cmp dword [ebp - 0xc], 0x1e
jbe 0x5a6af7
mov dword [ebp - 8], 9
cmp dword [0x632d1c], 0
je 0x5a6af2
jmp 0x5a6a69
jmp 0x5a6a60
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 0x44]
cmp ecx, dword [ebp + 0xc]
je 0x5a6b1e
mov dword [ebp - 8], 9
cmp dword [0x632d1c], 0
je 0x5a6b19
jmp 0x5a6a69
jmp 0x5a6a60
mov dword [ebp - 0x18], 0
lea edx, [ebp - 0x18]
push edx
push 0x40
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call sub.KERNEL32.dll_VirtualProtect
test eax, eax
jne 0x5a6b49
call sub.KERNEL32.dll_GetLastError
mov dword [ebp - 8], eax
jmp 0x5a6a60
mov edx, dword [ebp - 4]
mov dword [edx + 4], 1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov dword [eax + 8], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x14], ecx
mov edx, dword [ebp - 4]
mov eax, dword [0x632d34]
mov dword [edx], eax
mov ecx, dword [ebp - 4]
mov dword [0x632d34], ecx
xor eax, eax
mov esp, ebp
pop ebp
ret 8
Function at 0x5a6c40
Capabilities:
Resume thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
call sub.KERNEL32.dll_GetCurrentThreadId
cmp dword [0x632d24], eax
je 0x5a6c5d
mov eax, 0x10dd
jmp 0x5a6d40
mov eax, dword [0x632d34]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x5a6cdc
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x10]
movzx eax, byte [edx + 0x36]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xc]
push edx
call sub.KERNEL32.dll_VirtualProtect
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
jne 0x5a6cb8
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x10], 0
je 0x5a6cb8
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x10]
push eax
call fcn.005a5850
add esp, 4
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x10], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0xc], ecx
push 0x18
mov edx, dword [ebp - 0xc]
push edx
call fcn.00541c01
add esp, 8
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
jmp 0x5a6c65
mov dword [0x632d34], 0
call fcn.005a6130
mov ecx, dword [0x632d30]
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 0
je 0x5a6d2a
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
push eax
call sub.KERNEL32.dll_ResumeThread
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
push 8
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00541c01
add esp, 8
mov edx, dword [ebp - 0x18]
mov dword [ebp - 8], edx
jmp 0x5a6cf4
mov dword [0x632d30], 0
mov dword [0x632d24], 0
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x5a82b0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [0x632d60], 0
je 0x5a82c6
xor eax, eax
jmp 0x5a84d8
cmp dword [0x632d5c], 0
je 0x5a82d9
mov eax, dword [0x632d5c]
jmp 0x5a84d8
push 0x24
push 0
push 0x632d38
call fcn.00548bf0
add esp, 0xc
call sub.KERNEL32.dll_GetCurrentProcess
mov dword [0x632d38], eax
push 0
push 0
push str.dbghelp.dll
call sub.KERNEL32.dll_LoadLibraryExW
mov dword [0x632d3c], eax
cmp dword [0x632d3c], 0
jne 0x5a837b
mov dword [0x632d60], 1
cmp dword [0x632d3c], 0
je 0x5a832e
mov eax, dword [0x632d3c]
push eax
call sub.KERNEL32.dll_FreeLibrary
mov dword [0x632d40], 0
mov dword [0x632d44], 0
mov dword [0x632d48], 0
mov dword [0x632d4c], 0
mov dword [0x632d50], 0
mov dword [0x632d54], 0
mov dword [0x632d58], 0
xor eax, eax
jmp 0x5a84d8
push str.ImagehlpApiVersionEx
mov ecx, dword [0x632d3c]
push ecx
call sub.KERNEL32.dll_GetProcAddress
mov dword [0x632d40], eax
push str.SymInitialize
mov edx, dword [0x632d3c]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [0x632d44], eax
push str.SymSetOptions
mov eax, dword [0x632d3c]
push eax
call sub.KERNEL32.dll_GetProcAddress
mov dword [0x632d48], eax
push str.SymGetOptions
mov ecx, dword [0x632d3c]
push ecx
call sub.KERNEL32.dll_GetProcAddress
mov dword [0x632d4c], eax
push str.SymLoadModule64
mov edx, dword [0x632d3c]
push edx
call sub.KERNEL32.dll_GetProcAddress
mov dword [0x632d50], eax
push str.SymGetModuleInfo64
mov eax, dword [0x632d3c]
push eax
call sub.KERNEL32.dll_GetProcAddress
mov dword [0x632d54], eax
push str.SymFromName
mov ecx, dword [0x632d3c]
push ecx
call sub.KERNEL32.dll_GetProcAddress
mov dword [0x632d58], eax
push 8
push 0
lea edx, [ebp - 0xc]
push edx
call fcn.00548bf0
add esp, 0xc
mov eax, 0xc
mov word [ebp - 0xc], ax
cmp dword [0x632d40], 0
je 0x5a8459
cmp dword [0x632d44], 0
je 0x5a8459
cmp dword [0x632d50], 0
je 0x5a8459
cmp dword [0x632d54], 0
je 0x5a8459
cmp dword [0x632d58], 0
jne 0x5a845e
jmp 0x5a8310
lea ecx, [ebp - 0xc]
push ecx
call dword [0x632d40]
movzx edx, word [ebp - 0xc]
cmp edx, 0xc
jge 0x5a8476
jmp 0x5a8310
push 0
push 0
mov eax, dword [0x632d38]
push eax
call dword [0x632d44]
test eax, eax
jne 0x5a848f
jmp 0x5a8310
cmp dword [0x632d4c], 0
je 0x5a84c9
cmp dword [0x632d48], 0
je 0x5a84c9
call dword [0x632d4c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
and ecx, 0xfffffff8
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
or edx, 0x2704
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push eax
call dword [0x632d48]
mov dword [0x632d5c], 0x632d38
mov eax, dword [0x632d5c]
mov esp, ebp
pop ebp
ret
Function at 0x5abc60
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cbdb2
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp + 8]
call fcn.00403f32
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5abcc3
mov ecx, dword [ebp + 8]
call fcn.00403f32
push eax
push str.__rNX__W
push 2
call fcn.005bb560
push eax
call fcn.005bb420
add esp, 0x10
xor eax, eax
jmp 0x5abd98
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x28]
call fcn.00408747
mov dword [ebp - 4], 0
push 0x5f80dc
lea ecx, [ebp - 0x40]
call fcn.0040921d
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
push ecx
lea edx, [ebp - 0x28]
push edx
call fcn.00445400
add esp, 8
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00403fae
push 0
push 0x80
push 4
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x28]
call fcn.00403f32
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0xffffffff
jne 0x5abd66
mov ecx, dword [ebp + 8]
call fcn.00403f32
push eax
push 0x5f80c8
push 2
call fcn.005bb560
push eax
call fcn.005bb420
add esp, 0x10
mov dword [ebp - 0x48], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00403fae
mov eax, dword [ebp - 0x48]
jmp 0x5abd98
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x28]
call fcn.00403f32
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov dword [ebp - 0x4c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.00403fae
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret 4
Function at 0x5abdc0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cbe2b
mov eax, dword fs:[0]
push eax
sub esp, 0x2c8
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2cc], ecx
mov dword [ebp - 0x2c8], 0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x230]
call fcn.00408747
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x290]
push edx
call fcn.004bdba0
add esp, 8
mov byte [ebp - 4], 1
mov dword [ebp - 0x2c4], 0
jmp 0x5abe43
mov eax, dword [ebp - 0x2c4]
add eax, 1
mov dword [ebp - 0x2c4], eax
cmp dword [ebp - 0x2c4], 0x15
jae 0x5abf71
lea ecx, [ebp - 0x230]
push ecx
lea ecx, [ebp - 0x2c0]
call fcn.00408747
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x2c4]
mov eax, dword [edx*4 + 0x62c660]
push eax
lea ecx, [ebp - 0x248]
call fcn.0040921d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x248]
push ecx
lea edx, [ebp - 0x278]
push edx
call fcn.004bdba0
add esp, 8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x248]
call fcn.00403fae
push 0
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x290]
call fcn.00446f06
cmp eax, 0xffffffff
je 0x5abf4e
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ecx*4 + 0x62c660]
push edx
lea ecx, [ebp - 0x260]
call fcn.0040921d
mov byte [ebp - 4], 6
push 0
mov eax, dword [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x2a8]
push ecx
mov ecx, dword [ebp - 0x2cc]
call fcn.005ac030
mov dword [ebp - 0x2d0], eax
mov edx, dword [ebp - 0x2d0]
mov dword [ebp - 0x2d4], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x2d4]
push eax
lea ecx, [ebp - 0x260]
push ecx
lea edx, [ebp - 0x230]
push edx
call fcn.005ab920
add esp, 0xc
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x2a8]
call fcn.00403fae
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x260]
call fcn.00403fae
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x278]
call fcn.00403fae
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c0]
call fcn.00403fae
jmp 0x5abe34
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.00548bf0
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x230]
call fcn.00403f32
push eax
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x230]
call fcn.004107c0
cmp dword [ebp + 0x10], 0
je 0x5abfce
push 1
lea eax, [ebp - 0x230]
push eax
call fcn.0044549c
add esp, 8
lea ecx, [ebp - 0x230]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00444eb9
mov edx, dword [ebp - 0x2c8]
or edx, 1
mov dword [ebp - 0x2c8], edx
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x290]
call fcn.00403fae
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.00403fae
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret 0xc
Function at 0x5acd00
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cbf68
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x21c], 0
call fcn.005b55e0
call fcn.005b5710
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x220]
push eax
lea ecx, [ebp - 0x238]
call fcn.005accc0
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 0x224]
push edx
call fcn.004bdb70
add esp, 8
mov dword [ebp - 4], 0
lea eax, [ebp - 0x21c]
push eax
push 0
mov ecx, dword [ebp - 0x220]
push ecx
mov edx, dword [ebp + 8]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderLocation]
test eax, eax
jne 0x5ace0f
push 0x208
push 0
lea eax, [ebp - 0x218]
push eax
call fcn.00548bf0
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
call dword [sym.imp.SHELL32.dll_SHGetPathFromIDListW]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x5acdde
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp + 0xc]
call fcn.004107c0
mov ecx, dword [ebp - 0x21c]
push ecx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [ebp - 0x22c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.005aba20
mov eax, dword [ebp - 0x22c]
jmp 0x5ace31
mov dword [ebp - 0x230], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x224]
call fcn.005aba20
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret 8
Function at 0x5adc60
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cc12f
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 4], 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x48], esp
lea eax, [ebp + 8]
push eax
call fcn.00408747
lea ecx, [ebp - 0x28]
push ecx
call fcn.005ad700
add esp, 0x1c
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp + 8]
call fcn.00446faf
lea ecx, [ebp - 0x28]
call fcn.00403fae
lea ecx, [ebp + 8]
call fcn.00403d1a
test eax, eax
je 0x5adceb
lea ecx, [ebp + 8]
call fcn.00403f32
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5add06
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403fae
mov eax, dword [ebp - 0x38]
jmp 0x5add6c
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx], 0
je 0x5add38
lea edx, [ebp + 8]
push edx
mov ecx, dword [ebp - 0x2c]
add ecx, 0x2c
call fcn.00454940
mov dword [ebp - 0x3c], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403fae
mov eax, dword [ebp - 0x3c]
jmp 0x5add6c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4c], esp
lea eax, [ebp + 8]
push eax
call fcn.00408747
mov ecx, dword [ebp - 0x2c]
call fcn.005ae320
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403fae
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret 0x18
Function at 0x5ae170
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cc22f
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x64], ecx
mov dword [ebp - 4], 0
lea ecx, [ebp + 8]
call fcn.00403f32
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x5ae1d4
mov dword [ebp - 0x68], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403fae
mov eax, dword [ebp - 0x68]
jmp 0x5ae2f7
mov dword [ebp - 0x60], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x78], esp
lea eax, [ebp + 8]
push eax
call fcn.00408747
lea ecx, [ebp - 0x28]
push ecx
call fcn.005afa80
add esp, 0x1c
mov dword [ebp - 0x7c], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.00403d1a
test eax, eax
jne 0x5ae235
mov dword [ebp - 0x6c], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00403fae
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403fae
mov eax, dword [ebp - 0x6c]
jmp 0x5ae2f7
lea ecx, [ebp - 0x28]
call fcn.00403f32
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5ae271
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x80], esp
lea ecx, [ebp - 0x28]
call fcn.00403f32
push eax
mov ecx, esi
call fcn.0040921d
mov ecx, dword [ebp - 0x64]
call fcn.005ae170
mov dword [ebp - 0x70], eax
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x60], 0
je 0x5ae28b
push 0
lea ecx, [ebp + 8]
call fcn.00403f32
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
je 0x5ae2d3
mov eax, dword [ebp - 0x64]
cmp dword [eax], 0
je 0x5ae2d3
lea ecx, [ebp - 0x5c]
call fcn.004be0f0
mov byte [ebp - 4], 2
mov dword [ebp - 0x5c], 2
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 0x58]
call fcn.004065d3
lea edx, [ebp - 0x5c]
push edx
mov ecx, dword [ebp - 0x64]
add ecx, 0x20
call fcn.004be3d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x5c]
call fcn.004be120
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00403fae
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403fae
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret 0x18
Function at 0x5afc00
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x38], ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x4c], esp
mov eax, dword [ebp + 8]
push eax
call fcn.00408747
lea ecx, [ebp - 0x1c]
push ecx
call fcn.005ad700
add esp, 0x1c
mov dword [ebp - 0x3c], eax
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp + 8]
call fcn.00446faf
lea ecx, [ebp - 0x1c]
call fcn.00403fae
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x50], esp
mov edx, dword [ebp + 0xc]
push edx
call fcn.00408747
lea eax, [ebp - 0x34]
push eax
call fcn.005ad700
add esp, 0x1c
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x48]
push edx
mov ecx, dword [ebp + 0xc]
call fcn.00446faf
lea ecx, [ebp - 0x34]
call fcn.00403fae
mov ecx, dword [ebp + 8]
call fcn.00403d1a
test eax, eax
je 0x5afca6
mov ecx, dword [ebp + 8]
call fcn.00403f32
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5afcaa
xor eax, eax
jmp 0x5afcf5
mov ecx, dword [ebp + 0xc]
call fcn.00403d1a
test eax, eax
jne 0x5afcba
xor eax, eax
jmp 0x5afcf5
cmp dword [ebp + 0x10], 0
jne 0x5afcf0
mov ecx, dword [ebp + 0xc]
call fcn.00403f32
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x5afcf0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x38]
add ecx, 8
call fcn.004065d3
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0x50
xor eax, eax
jmp 0x5afcf5
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret 0xc
Function at 0x5b1c60
Capabilities:
Check if file exists
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5cca5d
mov eax, dword fs:[0]
push eax
sub esp, 0x270
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x104
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [ebp - 0x218]
push ecx
lea ecx, [ebp - 0x248]
call fcn.0040921d
mov dword [ebp - 4], 0
push 0x5f8a54
lea ecx, [ebp - 0x260]
call fcn.0040921d
mov byte [ebp - 4], 1
lea edx, [ebp - 0x260]
push edx
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x278]
push ecx
call fcn.005ad1b0
add esp, 0xc
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x27c]
push edx
lea ecx, [ebp - 0x248]
call fcn.00446faf
lea ecx, [ebp - 0x278]
call fcn.00403fae
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x260]
call fcn.00403fae
lea ecx, [ebp - 0x248]
call fcn.00403f32
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x5b1d46
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00403fae
jmp 0x5b1de3
lea ecx, [ebp - 0x230]
call fcn.004065fc
mov byte [ebp - 4], 2
push 0x5f8a4c
lea ecx, [ebp - 0x230]
call fcn.004107c0
cmp dword [ebp + 0xc], 0
jne 0x5b1d7b
push 0x5f8a78
lea ecx, [ebp - 0x230]
call fcn.00409b61
push 0x5f8a70
lea ecx, [ebp - 0x230]
call fcn.00409b61
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x230]
call fcn.00446fa6
push 0x5f8ab0
lea ecx, [ebp - 0x230]
call fcn.00409b61
lea ecx, [ebp - 0x230]
push ecx
push 0
lea edx, [ebp - 0x248]
push edx
call fcn.005b3f90
add esp, 0xc
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x230]
call fcn.00403fae
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x248]
call fcn.00403fae
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret

Function at 0x5b1ef0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ccad0
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x62a3b4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0
lea eax, [ebp + 8]
push eax
push str.qbinstall
lea ecx, [ebp - 0x40]
push ecx
call fcn.0044a28b
add esp, 0xc
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x48], edx
mov byte [ebp - 4], 1
push 0x5f8974
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp - 0x28]
push ecx
call fcn.0044a32b
add esp, 0xc
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x4c]
push edx
lea ecx, [ebp + 8]
call fcn.00446faf
lea ecx, [ebp - 0x28]
call fcn.00403fae
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x40]
call fcn.00403fae
lea ecx, [ebp + 8]
call fcn.00403f32
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.00403fae
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00542357
mov esp, ebp
pop ebp
ret