Function at 0x518f30
Capabilities:
Manipulate safe mode programs

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x414386
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x414348
mov ecx, 7
xor eax, eax
lea edi, [ebp - 0x2c]
push 1
rep stosd dword es:[edi], eax
xor edi, edi
push edi
push edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], edi
call fcn.0044cc94
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov dword [ebp - 0x48], eax
call esi
mov eax, dword [ebp - 0x48]
mov ebx, eax
cmp eax, edi
mov dword [ebp - 0x34], ebx
je 0x51908b
mov eax, dword [0x51b5e8]
push eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
push 0xf01ff
push eax
push ebx
call fcn.0044cda4
mov dword [ebp - 0x48], eax
call esi
mov eax, dword [ebp - 0x48]
mov ebx, eax
cmp eax, edi
mov dword [ebp - 0x38], ebx
je 0x51903d
lea ecx, [ebp - 0x2c]
push ecx
push 1
push eax
call fcn.0044ce84
call esi
push ebx
call fcn.0044cd24
mov dword [ebp - 0x48], eax
call esi
cmp dword [ebp - 0x48], edi
jne 0x519025
call dword [sym.imp.MSVBVM60.DLL_rtcErrObj]
lea edx, [ebp - 0x40]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov ebx, eax
lea ecx, [ebp - 0x48]
push ecx
push ebx
mov eax, dword [ebx]
call dword [eax + 0x4c]
cmp eax, edi
fnclex
jge 0x519013
push 0x4c
push 0x42681c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], edx
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov ebx, dword [ebp - 0x38]
push ebx
call fcn.0044cd70
call esi
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0044cd70
call esi
jmp 0x5190cc
call dword [sym.imp.MSVBVM60.DLL_rtcErrObj]
push eax
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov ebx, eax
lea edx, [ebp - 0x48]
push edx
push ebx
mov ecx, dword [ebx]
call dword [ecx + 0x4c]
cmp eax, edi
fnclex
jge 0x51906f
push 0x4c
push 0x42681c
push ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], eax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0044cd70
call esi
jmp 0x5190cc
call dword [sym.imp.MSVBVM60.DLL_rtcErrObj]
lea edx, [ebp - 0x40]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
lea ecx, [ebp - 0x48]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x4c]
cmp eax, edi
fnclex
jge 0x5190bd
push 0x4c
push 0x42681c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov edx, dword [ebp - 0x48]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], edx
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov ecx, dword [0x51b5e8]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
lea eax, [ebp - 0x44]
push edi
push eax
push 0x44db08
push ecx
mov dword [ebp - 0x44], edi
call esi
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x3c]
call ebx
push eax
push 0x80000002
call fcn.004ff6b0
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [0x51b5e8]
lea edx, [ebp - 0x44]
push edi
push edx
push 0x44db74
push eax
mov dword [ebp - 0x44], edi
call esi
mov edx, eax
lea ecx, [ebp - 0x3c]
call ebx
push eax
push 0x80000002
call fcn.004ff6b0
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
push 0x519154
jmp 0x519153
ret