Function at 0x461f0a
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56b1cb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x41170
call fcn.005374e0
push esi
push 0
mov eax, dword [0x5c3074]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x461f44
jmp 0x4626da
call fcn.0055f60b
mov ecx, dword [eax + 4]
mov dword [ebp - 0x410a8], ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x41104], edx
mov eax, dword [ebp - 0x41104]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 0x41108], edx
mov eax, dword [ebp - 0x41108]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x4110c], edx
mov eax, dword [ebp - 0x4110c]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x41110], edx
mov eax, dword [ebp - 0x41110]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x18]
mov dword [ebp - 0x41114], edx
mov eax, dword [ebp - 0x41114]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
mov dword [ebp - 4], 0
push 0x5af8b8
push 0x9a
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b6118
test eax, eax
je 0x461ffc
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b5e28
push 0x5af8c0
mov ecx, dword [0x5c3070]
add ecx, 0x1708
call fcn.00551562
lea ecx, [ebp - 0x410a0]
call fcn.004e70a0
mov byte [ebp - 4], 1
push 0x5af8c4
lea ecx, [ebp - 0x14]
call fcn.0054d39c
mov byte [ebp - 4], 2
mov dword [ebp - 0x410a4], 1
mov edx, dword [0x5be480]
mov dword [ebp - 0x10], edx
mov byte [ebp - 4], 3
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x410d4], esp
lea eax, [ebp - 0x14]
push eax
call fcn.0054d095
mov dword [ebp - 0x41128], eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x410a0]
call fcn.004e75e4
mov dword [ebp - 0x4112c], eax
cmp dword [ebp - 0x4112c], 0
je 0x46258f
lea ecx, [ebp - 0x410bc]
call fcn.0054c3ab
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x410bc]
push ecx
lea ecx, [ebp - 0x410a0]
call fcn.004e9b9e
mov edx, dword [ebp - 0x410b4]
mov dword [ebp - 0x410c4], edx
mov dword [ebp - 0x410c0], 0
jmp 0x4620d0
mov eax, dword [ebp - 0x410c0]
add eax, 1
mov dword [ebp - 0x410c0], eax
mov ecx, dword [ebp - 0x410c0]
cmp ecx, dword [ebp - 0x410c4]
jge 0x462580
push 0
mov edx, dword [0x5c3074]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x462172
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054c3de
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410a0]
call fcn.004e71cb
mov dword [ebp - 4], 8
lea ecx, [ebp - 0x18]
call fcn.0054d328
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x28]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0054d328
jmp 0x4626da
mov eax, dword [ebp - 0x410c0]
push eax
lea ecx, [ebp - 0x410cc]
push ecx
lea ecx, [ebp - 0x410bc]
call fcn.00419890
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x410cc]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0xb14
call fcn.00551562
mov dword [ebp - 0x410c8], 0
lea eax, [ebp - 0x410c8]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x410d8], esp
lea edx, [ebp - 0x410cc]
push edx
call fcn.0054d095
mov dword [ebp - 0x41130], eax
lea ecx, [ebp - 0x410a0]
call fcn.004e99fe
mov dword [ebp - 0x41134], eax
mov eax, dword [ebp - 0x41134]
mov dword [ebp - 0x410d0], eax
cmp dword [ebp - 0x410d0], 4
jne 0x46256c
mov ecx, dword [ebp - 0x410cc]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x46256c
push ecx
mov esi, esp
mov dword [ebp - 0x410dc], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x410e0], esp
push 0x5af930
call fcn.0054d39c
mov dword [ebp - 0x41138], eax
mov edx, dword [ebp - 0x41138]
mov dword [ebp - 0x4113c], edx
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x410e4], esp
lea eax, [ebp - 0x410cc]
push eax
call fcn.0054d095
mov dword [ebp - 0x41140], eax
push esi
lea ecx, [ebp - 0x410a0]
mov byte [ebp - 4], 9
call fcn.00425c70
mov dword [ebp - 0x41144], eax
mov ecx, dword [ebp - 0x41144]
mov dword [ebp - 0x41148], ecx
mov byte [ebp - 4], 0xb
push ecx
mov ecx, esp
mov dword [ebp - 0x410e8], esp
lea edx, [ebp - 0x410cc]
push edx
call fcn.0054d095
mov dword [ebp - 0x4114c], eax
mov eax, dword [ebp - 0x4114c]
mov dword [ebp - 0x41150], eax
mov byte [ebp - 4], 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x410ec], esp
lea edx, [ebp - 0x14]
push edx
call fcn.0054d095
mov dword [ebp - 0x41154], eax
mov eax, dword [ebp - 0x41154]
mov dword [ebp - 0x41158], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x410a0]
call fcn.00486080
push eax
mov byte [ebp - 4], 9
call fcn.004859b9
add esp, 0x10
mov dword [ebp - 0x4115c], eax
cmp dword [ebp - 0x4115c], 0
jne 0x46256c
mov dword [ebp - 0x30], 1
mov ecx, dword [ebp - 0x1050]
mov dword [ebp - 0x41118], ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x41118]
push eax
lea ecx, [ebp - 0x410f0]
push ecx
call fcn.00485900
add esp, 8
mov dword [ebp - 0x41160], eax
mov edx, dword [ebp - 0x41160]
mov dword [ebp - 0x41164], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x41164]
mov ecx, dword [eax]
push ecx
push 0x5af938
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0x10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x410f0]
call fcn.0054d328
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x28]
call fcn.0054d46f
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.0054d46f
lea edx, [ebp - 0x410cc]
push edx
lea ecx, [ebp - 0x24]
call fcn.0054d46f
push 0x5c3118
lea ecx, [ebp - 0x20]
call fcn.0054d4bf
mov dword [ebp - 0x1c], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x410f4], esp
push str.REGISTRY_ERROR_31
call fcn.0054d39c
mov dword [ebp - 0x41168], eax
lea eax, [ebp - 0x410f8]
push eax
mov ecx, dword [ebp - 0x410a8]
call fcn.004be333
mov dword [ebp - 0x4116c], eax
mov ecx, dword [ebp - 0x4116c]
mov dword [ebp - 0x41170], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x41170]
push edx
lea ecx, [ebp - 0x18]
call fcn.0054d46f
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x410f8]
call fcn.0054d328
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x410fc], esp
mov dword [ebp - 0x4111c], eax
mov ecx, dword [ebp - 0x4111c]
mov edx, dword [ebp - 0x30]
mov dword [ecx], edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x4111c]
add ecx, 4
call fcn.0054d095
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x4111c]
add ecx, 8
call fcn.0054d095
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp - 0x4111c]
add ecx, 0xc
call fcn.0054d095
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x4111c]
add ecx, 0x10
call fcn.0054d095
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x4111c]
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 0x14], edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x4111c]
add ecx, 0x18
call fcn.0054d095
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x4111c]
mov dword [ebp - 0x41174], ecx
mov ecx, dword [ebp - 0x410a8]
add ecx, 0x1e8
call fcn.0045ada0
push 1
push 5
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x41100], esp
lea edx, [ebp - 0x30]
push edx
call fcn.0045ac60
mov dword [ebp - 0x41178], eax
call fcn.00484e85
add esp, 0x24
mov eax, dword [ebp - 0x410a4]
push eax
push 0x5af968
lea ecx, [ebp - 0x10]
push ecx
call fcn.0054ab7c
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0x1708
call fcn.00551562
mov eax, dword [ebp - 0x410a8]
mov ecx, dword [eax + 0x588]
push ecx
push 0x5af970
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xaa4
call fcn.00412a69
mov ecx, dword [ebp - 0x410a4]
add ecx, 1
mov dword [ebp - 0x410a4], ecx
mov edx, dword [ebp - 0x410a8]
mov eax, dword [edx + 0x588]
add eax, 1
mov ecx, dword [ebp - 0x410a8]
mov dword [ecx + 0x588], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x410cc]
call fcn.0054d328
jmp 0x4620c1
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410bc]
call fcn.0054c3de
mov edx, dword [0x5c3070]
add edx, 0xee8
mov dword [ebp - 0x41120], edx
cmp dword [ebp - 0x41120], 0
jne 0x4625b6
mov dword [ebp - 0x4117c], 0
jmp 0x4625c5
mov eax, dword [ebp - 0x41120]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x4117c], ecx
cmp dword [ebp - 0x4117c], 0
je 0x462671
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b7291
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b5bcf
mov edx, dword [ebp - 0x410a8]
mov eax, dword [edx + 0x1f0]
mov dword [ebp - 0x41124], eax
cmp dword [ebp - 0x41124], 0
jne 0x462641
push 0x5af978
push 0x114
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b6118
test eax, eax
je 0x46263f
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b5e28
jmp 0x462671
push 0x5af980
push 0x113
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b6118
test eax, eax
je 0x462671
mov ecx, dword [0x5c3070]
add ecx, 0xee8
call fcn.004b5e28
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x14]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410a0]
call fcn.004e71cb
mov dword [ebp - 4], 0x17
lea ecx, [ebp - 0x18]
call fcn.0054d328
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x24]
call fcn.0054d328
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x28]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret