Function at 0x5186c0
Capabilities:
Manipulate safe mode programs

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x414386
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x120
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x4142c8
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov dword [ebp - 4], 2
push 2
push 0
push 0
call fcn.0044cc94
mov dword [ebp - 0xf8], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x2c], 0
je 0x518d1d
mov dword [ebp - 4], 4
lea ecx, [ebp - 0xf4]
push ecx
mov edx, dword [0x51b108]
mov eax, dword [edx]
mov ecx, dword [0x51b108]
push ecx
call dword [eax + 0x444]
fnclex
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jge 0x5187a3
push 0x444
push 0x42653c
mov edx, dword [0x51b108]
push edx
mov eax, dword [ebp - 0x10c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x130], eax
jmp 0x5187ad
mov dword [ebp - 0x130], 0
movsx ecx, word [ebp - 0xf4]
test ecx, ecx
jne 0x5189e3
mov dword [ebp - 4], 5
mov edx, dword [0x51b5e8]
push edx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0xfc], eax
mov eax, dword [0x51b5ec]
push eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x100], eax
push 0x22
lea ecx, [ebp - 0x50]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
lea edx, [ebp - 0x38]
push edx
mov eax, dword [0x51b108]
mov ecx, dword [eax]
mov edx, dword [0x51b108]
push edx
call dword [ecx + 0x18c]
fnclex
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jge 0x518842
push 0x18c
push 0x42653c
mov eax, dword [0x51b108]
push eax
mov ecx, dword [ebp - 0x10c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x134], eax
jmp 0x51884c
mov dword [ebp - 0x134], 0
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x128], edx
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x60], 8
mov ecx, dword [0x51b5f4]
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xd0], 8
push 0x22
lea edx, [ebp - 0x90]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
mov dword [ebp - 0xd8], 0x41caa4
mov dword [ebp - 0xe0], 8
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf0], 8
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea ecx, [ebp - 0xd0]
push ecx
lea edx, [ebp - 0x80]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0xa0]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea edx, [ebp - 0xe0]
push edx
lea eax, [ebp - 0xb0]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea ecx, [ebp - 0xf0]
push ecx
lea edx, [ebp - 0xc0]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarVal]
push eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x104], eax
push 0x43ffec
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x108], eax
push 0x41cab4
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
push 0
push 0
push 0
mov edx, dword [ebp - 0x104]
push edx
push 1
push 2
push 0x110
push 0xf01ff
mov eax, dword [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0xfc]
push ecx
mov edx, dword [ebp - 0x2c]
push edx
call fcn.0044ccdc
mov dword [ebp - 0xf8], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0xc0]
push ecx
lea edx, [ebp - 0xb0]
push edx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x50]
push edx
push 8
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x24
jmp 0x518c03
mov dword [ebp - 4], 7
mov eax, dword [0x51b5e8]
push eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0xfc], eax
mov ecx, dword [0x51b5ec]
push ecx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x100], eax
push 0x22
lea edx, [ebp - 0x50]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [0x51b108]
mov edx, dword [ecx]
mov eax, dword [0x51b108]
push eax
call dword [edx + 0x18c]
fnclex
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jge 0x518a6a
push 0x18c
push 0x42653c
mov ecx, dword [0x51b108]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x138], eax
jmp 0x518a74
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x60], 8
mov edx, dword [0x51b5f4]
mov dword [ebp - 0xc8], edx
mov dword [ebp - 0xd0], 8
push 0x22
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
mov dword [ebp - 0xd8], 0x41caa4
mov dword [ebp - 0xe0], 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0xf0], 8
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x70]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea edx, [ebp - 0xd0]
push edx
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0xa0]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea eax, [ebp - 0xe0]
push eax
lea ecx, [ebp - 0xb0]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea edx, [ebp - 0xf0]
push edx
lea eax, [ebp - 0xc0]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCat]
push eax
lea ecx, [ebp - 0x3c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarVal]
push eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x104], eax
push 0x43ffec
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x108], eax
push 0x41cab4
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
push eax
mov edx, dword [ebp - 0x108]
push edx
push 0
push 0
push 0
mov eax, dword [ebp - 0x104]
push eax
push 1
push 2
push 0x10
push 0xf01ff
mov ecx, dword [ebp - 0x100]
push ecx
mov edx, dword [ebp - 0xfc]
push edx
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0044ccdc
mov dword [ebp - 0xf8], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0xa0]
push ecx
lea edx, [ebp - 0x90]
push edx
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x70]
push ecx
lea edx, [ebp - 0x60]
push edx
lea eax, [ebp - 0x50]
push eax
push 8
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x24
mov dword [ebp - 4], 9
cmp dword [ebp - 0x34], 0
je 0x518c7b
mov dword [ebp - 4], 0xa
push 0xffffffffffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 4], 0xb
mov ecx, dword [0x51b5f0]
push ecx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0xf8], eax
lea edx, [ebp - 0xf8]
push edx
push 1
mov eax, dword [ebp - 0x34]
push eax
call fcn.0044cf1c
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov dword [ebp - 4], 0xc
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.0044cd70
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
jmp 0x518d02
mov dword [ebp - 4], 0xf
call dword [sym.imp.MSVBVM60.DLL_rtcErrObj]
push eax
lea edx, [ebp - 0x40]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0xf8]
push eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x10c]
push eax
call dword [edx + 0x4c]
fnclex
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jge 0x518ce6
push 0x4c
push 0x42681c
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x13c], eax
jmp 0x518cf0
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.0044cd70
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
jmp 0x518da4
mov dword [ebp - 4], 0x13
call dword [sym.imp.MSVBVM60.DLL_rtcErrObj]
push eax
lea edx, [ebp - 0x40]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov dword [ebp - 0x10c], eax
lea eax, [ebp - 0xf8]
push eax
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x10c]
push eax
call dword [edx + 0x4c]
fnclex
mov dword [ebp - 0x110], eax
cmp dword [ebp - 0x110], 0
jge 0x518d88
push 0x4c
push 0x42681c
mov ecx, dword [ebp - 0x10c]
push ecx
mov edx, dword [ebp - 0x110]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov dword [ebp - 0x140], eax
jmp 0x518d92
mov dword [ebp - 0x140], 0
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
mov dword [ebp - 4], 0x15
mov dword [ebp - 0xc8], 0x425a04
mov dword [ebp - 0xd0], 8
mov eax, 0x10
call sub.MSVBVM60.DLL___vbaChkstk
mov ecx, esp
mov edx, dword [ebp - 0xd0]
mov dword [ecx], edx
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0xc8]
mov dword [ecx + 8], edx
mov eax, dword [ebp - 0xc4]
mov dword [ecx + 0xc], eax
push 1
push 0x41cab4
push 0x44db08
mov ecx, dword [0x51b5e8]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
push 0x80000002
call fcn.005011f0
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov dword [ebp - 4], 0x16
mov dword [ebp - 0xc8], 0x425a04
mov dword [ebp - 0xd0], 8
mov eax, 0x10
call sub.MSVBVM60.DLL___vbaChkstk
mov edx, esp
mov eax, dword [ebp - 0xd0]
mov dword [edx], eax
mov ecx, dword [ebp - 0xcc]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0xc8]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0xc], ecx
push 1
push 0x41cab4
push 0x44db74
mov edx, dword [0x51b5e8]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
push 0x80000002
call fcn.005011f0
lea ecx, [ebp - 0x38]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
push 0x518f16
jmp 0x518f03
lea ecx, [ebp - 0x24]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret