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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6276f3
mov eax, dword fs:[0]
push eax
sub esp, 0x124
mov eax, dword [0x6aab00]
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, ecx
lea esi, [ebp - 0x124]
mov dword [ebp - 0x12c], edi
call fcn.004049b0
push str.MyMacroRKey.dat
push eax
lea eax, [ebp - 0x11c]
xor ebx, ebx
push eax
mov dword [ebp - 4], ebx
call fcn.0040cfd0
add esp, 0xc
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x124]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411b21
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebp - 0x11c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x411d7d
mov ecx, dword [ebp - 0x11c]
call fcn.0044a0b0
test eax, eax
je 0x411d7d
lea esi, [ebp - 0x124]
call fcn.004049b0
push str.MyMacroRunner.exe
push eax
lea edx, [ebp - 0x120]
push edx
mov byte [ebp - 4], 3
call fcn.0040cfd0
add esp, 0xc
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x124]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411b94
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x103
lea ecx, [ebp - 0x117]
push ebx
push ecx
mov byte [ebp - 0x118], bl
call fcn.00551e50
add esp, 0xc
push 0x104
lea edx, [ebp - 0x118]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ebx, dword [ebp - 0x120]
lea eax, [ebp - 0x118]
push eax
call fcn.00428dd0
add esp, 4
test eax, eax
jne 0x411c0a
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x120]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411d89
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x411d89
call fcn.0045168a
mov eax, dword [eax + 4]
mov edx, dword [eax]
lea ecx, [edi + 4]
push ecx
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
mov ecx, eax
call fcn.0045706c
add edi, 0x14
mov ecx, edi
call fcn.00429270
test eax, eax
je 0x411bdb
mov ecx, edi
call fcn.00429580
mov esi, eax
test esi, esi
jne 0x411cd5
mov eax, dword [ebp - 0x120]
push ecx
add eax, 0xfffffff0
mov ebx, esp
mov dword [ebp - 0x124], esp
push eax
mov dword [ebp - 0x128], ebx
call fcn.00401780
add eax, 0x10
mov dword [ebx], eax
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ebp - 0x128], esp
push str.Runner.exe
call fcn.004016c0
mov byte [ebp - 4], 8
mov byte [ebp - 4], 5
call fcn.00405120
mov ebx, dword [ebp - 0x120]
lea ecx, [ebp - 0x118]
push ecx
call fcn.00428dd0
add esp, 0xc
test eax, eax
je 0x411caf
mov ecx, edi
call fcn.00429580
test eax, eax
jne 0x411cd5
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 2
call fcn.0058c3f0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xffffffff
call fcn.0058c3f0
jmp 0x411db2
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
push edx
push eax
mov ecx, edi
call fcn.0042ad30
mov ebx, dword [ebp - 0x12c]
mov ecx, dword [edi]
and esi, eax
sub esp, 0x20
mov dword [ebp - 0x128], esp
mov dword [ebp - 0x124], esi
mov esi, esp
mov eax, 0x412710
push ebx
push eax
mov dword [ecx + 4], 1
call fcn.004133c0
mov byte [ebp - 4], 9
push edi
mov byte [ebp - 4], 5
call fcn.00429f90
sub esp, 0x20
mov esi, esp
mov dword [ebp - 0x128], esp
mov eax, 0x4126f0
push ebx
push eax
call fcn.00413420
mov byte [ebp - 4], 0xa
push edi
mov byte [ebp - 4], 5
call fcn.00429ff0
mov esi, dword [ebp - 0x124]
test esi, esi
je 0x411d55
mov edx, dword [ebp + 8]
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], esi
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 2
call fcn.0058c3f0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 0xffffffff
call fcn.0058c3f0
mov eax, esi
jmp 0x411db4
push ebx
push ebx
push str.Load_RunnerCodeKey:_Error.
call fcn.0045bae7
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x11c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411db2
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 esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0054cec4
mov esp, ebp
pop ebp
ret 8