Function at 0x4855b0
Capabilities:
Manipulate safe mode programs

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x4106c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x110
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x406378
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 4], 3
mov dword [ebp - 0x94], 0x417628
mov dword [ebp - 0x9c], 8
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVBVM60.DLL___vbaVarDup]
push 0x418224
push 0x42835c
lea eax, [ebp - 0x78]
push eax
call fcn.004c7510
mov dword [ebp - 0x40], eax
lea ecx, [ebp - 0x78]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov dword [ebp - 4], 4
mov edx, 0x419dac
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov dword [ebp - 4], 5
mov dword [ebp - 0x44], 0
mov dword [ebp - 4], 7
mov dword [ebp - 0x94], 0xea
mov dword [ebp - 0x9c], 2
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov dword [ebp - 4], 8
mov ecx, dword [ebp - 0x58]
push ecx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x110], eax
lea edx, [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x110]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0041aaec
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov dword [ebp - 4], 9
push 0
push 1
push 1
push 0
lea edx, [ebp - 0x8c]
push edx
push 0x10
push 0x880
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
mov dword [ebp - 0x94], 0x4283e4
mov dword [ebp - 0x9c], 8
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
lea ecx, [ebp - 0x44]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xac], 0x4003
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x8c]
mov ecx, 1
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
lea ecx, [ebp - 0x8c]
push ecx
call fcn.004e6720
mov edx, eax
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea edx, [ebp - 0x8c]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
push 0x428380
mov edx, dword [ebp - 0x40]
push edx
call fcn.004ccc00
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov dword [ebp - 4], 0xa
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x130], ecx
cmp dword [ebp - 0x130], 0xcb
je 0x4857f0
cmp dword [ebp - 0x130], 0xea
je 0x4857eb
jmp 0x485873
jmp 0x485881
mov dword [ebp - 4], 0xd
cmp dword [ebp + 8], 4
jge 0x485871
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x80], 0x80020004
mov dword [ebp - 0x88], 0xa
mov dword [ebp - 0x70], 0x80020004
mov dword [ebp - 0x78], 0xa
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x78]
push eax
push 0
push 1
push 0x428444
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004ccf10
lea edx, [ebp - 0x88]
push edx
lea eax, [ebp - 0x78]
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
mov dword [ebp - 4], 0xf
mov ecx, dword [ebp + 8]
add ecx, 4
jo 0x485ebd
mov dword [ebp + 8], ecx
jmp 0x485670
jmp 0x485881
mov dword [ebp - 4], 0x13
mov dword [ebp - 0x44], 0x100
mov dword [ebp - 4], 0x15
mov edx, dword [ebp - 0x44]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcSpaceBstr]
mov edx, eax
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov dword [ebp - 4], 0x16
mov dword [ebp - 0x94], 0xcb
mov dword [ebp - 0x9c], 2
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov dword [ebp - 4], 0x17
mov eax, dword [ebp - 0x58]
push eax
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x114], eax
lea ecx, [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x114]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0041aaec
mov dword [ebp - 0x110], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 4], 0x18
cmp dword [ebp - 0x24], 0
je 0x485b7e
mov dword [ebp - 4], 0x19
push 0
push 7
push 1
push 0
lea edx, [ebp - 0x8c]
push edx
push 0x10
push 0x880
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
mov dword [ebp - 0x94], 0x428528
mov dword [ebp - 0x9c], 8
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xac], 3
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x8c]
mov ecx, 1
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov dword [ebp - 0xb4], 0x41fc8c
mov dword [ebp - 0xbc], 8
lea edx, [ebp - 0xbc]
mov ecx, dword [ebp - 0x8c]
mov eax, 2
sub eax, dword [ecx + 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
lea edx, [ebp - 0x24]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xcc], 0x4003
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 0x8c]
mov ecx, 3
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
mov dword [ebp - 0xd4], 0x4283e4
mov dword [ebp - 0xdc], 8
lea edx, [ebp - 0xdc]
mov ecx, dword [ebp - 0x8c]
mov eax, 4
sub eax, dword [ecx + 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
lea edx, [ebp - 0x44]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xec], 0x4003
lea edx, [ebp - 0xec]
mov eax, dword [ebp - 0x8c]
mov ecx, 5
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
mov dword [ebp - 0xf4], 0x4244f4
mov dword [ebp - 0xfc], 8
lea edx, [ebp - 0xfc]
mov ecx, dword [ebp - 0x8c]
mov eax, 6
sub eax, dword [ecx + 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
lea edx, [ebp - 0x58]
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x10c], 0x4008
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 0x8c]
mov ecx, 7
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
lea ecx, [ebp - 0x8c]
push ecx
call fcn.004e6720
mov edx, eax
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea edx, [ebp - 0x8c]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
push 0x4284d8
mov edx, dword [ebp - 0x40]
push edx
call fcn.004ccc00
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov dword [ebp - 4], 0x1a
push 0xffffffffffffffff
lea eax, [ebp - 0x58]
push eax
call fcn.004dcc70
mov edx, eax
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
jmp 0x485d4b
mov dword [ebp - 4], 0x1c
push 0
push 5
push 1
push 0
lea ecx, [ebp - 0x8c]
push ecx
push 0x10
push 0x880
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
mov dword [ebp - 0x94], 0x428528
mov dword [ebp - 0x9c], 8
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xac], 3
lea edx, [ebp - 0xac]
mov eax, dword [ebp - 0x8c]
mov ecx, 1
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov dword [ebp - 0xb4], 0x4283e4
mov dword [ebp - 0xbc], 8
lea edx, [ebp - 0xbc]
mov ecx, dword [ebp - 0x8c]
mov eax, 2
sub eax, dword [ecx + 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
lea edx, [ebp - 0x44]
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xcc], 0x4003
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 0x8c]
mov ecx, 3
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
mov dword [ebp - 0xd4], 0x4244f4
mov dword [ebp - 0xdc], 8
lea edx, [ebp - 0xdc]
mov ecx, dword [ebp - 0x8c]
mov eax, 4
sub eax, dword [ecx + 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x8c]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarCopy]
lea edx, [ebp - 0x58]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xec], 0x4008
lea edx, [ebp - 0xec]
mov eax, dword [ebp - 0x8c]
mov ecx, 5
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
lea ecx, [ebp - 0x8c]
push ecx
call fcn.004e6720
mov edx, eax
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea edx, [ebp - 0x8c]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
push 0x428540
mov edx, dword [ebp - 0x40]
push edx
call fcn.004ccc00
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov dword [ebp - 4], 0x1f
push 0
push 0
push 1
push 0
lea eax, [ebp - 0x8c]
push eax
push 0x10
push 0x880
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x9c], 0x4008
lea edx, [ebp - 0x9c]
mov eax, dword [ebp - 0x8c]
xor ecx, ecx
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x8c]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarZero]
lea ecx, [ebp - 0x8c]
push ecx
push 0x10
mov edx, dword [ebp - 0x40]
push edx
call fcn.004c7c80
lea eax, [ebp - 0x8c]
push eax
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
mov dword [ebp - 4], 0x20
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov dword [ebp - 4], 0x21
mov ecx, dword [ebp - 0x40]
push ecx
call fcn.004c8940
jmp 0x485e21
call dword [sym.imp.MSVBVM60.DLL___vbaExitProc]
push 0x485ea7
jmp 0x485e70
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x3c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x54]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x58]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x60]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea ecx, [ebp - 0x64]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
int3