Function at 0x57f570
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e181c
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x676580]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x60], ecx
mov ecx, dword [ebp - 0x60]
add ecx, 0x28
call fcn.0040ee60
movzx eax, al
test eax, eax
je 0x57f5eb
push 0x400000
lea ecx, [ebp - 0x24]
push ecx
call fcn.0057a250
add esp, 8
mov dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x28
call fcn.0040ca60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.00403270
jmp 0x57f601
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 0xc]
push edx
mov eax, dword [ebp - 0x60]
add eax, 0x28
push eax
call fcn.005c3040
add esp, 8
lea ecx, [ebp - 0x20]
call fcn.00403290
mov dword [ebp - 4], 1
push 0x61a8b0
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 0x28]
push edx
push 0x61a8c4
lea eax, [ebp - 0x20]
push eax
call fcn.00403240
add esp, 0x10
cmp dword [0x67e1c8], 0
je 0x57f721
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0x54e
lea ecx, [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x60]
add edx, 0x34
push edx
push 0x61a950
push 0x61a94c
mov eax, dword [ebp - 0x60]
add eax, 0x30
push eax
push 0x61a940
push 0x61a93c
mov ecx, dword [ebp - 0x60]
add ecx, 0x2c
push ecx
push 0x61a930
push 0x61a92c
lea ecx, [ebp - 0x20]
call fcn.00493020
push eax
push 0x61a90c
push 0x61a904
push 0x61a8dc
push 0x61a8d4
lea edx, [ebp - 0x28]
push edx
push 0x61a8d0
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447700
lea ecx, [ebp - 0x20]
call fcn.00493020
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x57f7d0
cmp dword [0x67e1c8], 0
je 0x57f7b2
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0x55a
lea eax, [ebp - 0x34]
push eax
push str.Dll_not_exit
push 0x61a99c
push 0x61a994
push 0x61a96c
push 0x61a964
lea ecx, [ebp - 0x30]
push ecx
push 0x61a960
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov dword [ebp - 0x38], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403270
mov eax, dword [ebp - 0x38]
jmp 0x57fa34
lea ecx, [ebp - 0x18]
call fcn.00473e60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00493020
push eax
lea edx, [ebp - 0x18]
push edx
call fcn.00478ac0
test eax, eax
jne 0x57f89a
cmp dword [0x67e1c8], 0
je 0x57f870
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0x564
lea eax, [ebp - 0x40]
push eax
push str.InitWrap_fail
push 0x61aa14
push 0x61aa0c
push 0x61a9e4
push 0x61a9dc
lea ecx, [ebp - 0x3c]
push ecx
push 0x61a9d8
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.00473e90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403270
mov eax, dword [ebp - 0x44]
jmp 0x57fa34
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + 0x30]
push eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 0x2c]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.00478b70
test eax, eax
jne 0x57f966
cmp dword [0x67e1c8], 0
je 0x57f933
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0x56d
lea ecx, [ebp - 0x4c]
push ecx
push str.Init_fail
push 0x61aa8c
push 0x61aa84
push 0x61aa5c
push 0x61aa54
lea edx, [ebp - 0x48]
push edx
push 0x61aa50
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447700
lea eax, [ebp - 0x18]
push eax
call fcn.00473eb0
mov dword [ebp - 0x50], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.00473e90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403270
mov eax, dword [ebp - 0x50]
jmp 0x57fa34
mov ecx, dword [ebp - 0x60]
mov edx, dword [ecx + 0x34]
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.00478bf0
mov dword [ebp - 0x1c], eax
cmp dword [0x67e1c8], 0
je 0x57f9fe
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0x576
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x1c]
push edx
push str.RunDetector_return
push str.RunInstDllTask:
push 0x61aaf4
push str.RunInstDllTask::Run
push 0x61aac4
lea eax, [ebp - 0x54]
push eax
push 0x61aac0
call fcn.00447600
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.00447680
mov ecx, eax
call fcn.004476c0
mov ecx, eax
call fcn.00447700
lea ecx, [ebp - 0x18]
push ecx
call fcn.00478bb0
lea edx, [ebp - 0x18]
push edx
call fcn.00473eb0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x18]
call fcn.00473e90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00403270
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret