Function at 0x40e2a0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x403f96
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1cc
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x4013a0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 4], 3
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x158]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 4
movsx eax, word [0x44a0c4]
test eax, eax
jne 0x41063d
mov dword [ebp - 4], 5
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea ecx, [ebp - 0x15c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea edx, [ebp - 0x15c]
push edx
lea eax, [ebp - 0x158]
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 6
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea ecx, [ebp - 0x15c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea edx, [ebp - 0x15c]
push edx
lea eax, [ebp - 0x158]
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 7
mov dword [ebp - 0xd4], 0xb
mov dword [ebp - 4], 8
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea ecx, [ebp - 0x15c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea edx, [ebp - 0x15c]
push edx
lea eax, [ebp - 0x158]
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 9
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea ecx, [ebp - 0x15c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea edx, [ebp - 0x15c]
push edx
lea eax, [ebp - 0x158]
push eax
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0xa
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcFileLen]
mov dword [ebp - 0x128], eax
mov dword [ebp - 4], 0xb
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
mov ecx, dword [ebp - 0xd4]
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
push eax
push 0xffffffffffffffff
push 0x120
call dword [sym.imp.MSVBVM60.DLL___vbaFileOpen]
mov dword [ebp - 4], 0xc
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea edx, [ebp - 0x15c]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x158]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0xd
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea edx, [ebp - 0x15c]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x158]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x198], 0x406008
mov dword [ebp - 0x1a0], 8
lea edx, [ebp - 0x1a0]
lea ecx, [ebp - 0x17c]
call dword [sym.imp.MSVBVM60.DLL___vbaVarDup]
lea edx, [ebp - 0x17c]
push edx
mov eax, dword [ebp - 0x128]
push eax
lea ecx, [ebp - 0x18c]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcStringVar]
lea edx, [ebp - 0x18c]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrVarMove]
mov edx, eax
lea ecx, [ebp - 0xd0]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
lea eax, [ebp - 0x18c]
push eax
lea ecx, [ebp - 0x17c]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0xc
mov dword [ebp - 4], 0xf
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea edx, [ebp - 0x15c]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea eax, [ebp - 0x15c]
push eax
lea ecx, [ebp - 0x158]
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0xd4]
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
push eax
lea edx, [ebp - 0xd0]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaGet3]
mov dword [ebp - 4], 0x11
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x158]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0x12
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x158]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0x13
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
mov dword [ebp - 4], 0x70
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x158]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0x71
push 0
push 2
push 1
push 0
lea eax, [ebp - 0x190]
push eax
push 0x10
push 0x880
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1a0], 3
lea edx, [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
xor ecx, ecx
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1b0], 3
lea edx, [ebp - 0x1b0]
mov eax, dword [ebp - 0x190]
mov ecx, 1
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1c0], 0xb
lea edx, [ebp - 0x1c0]
mov ecx, dword [ebp - 0x190]
mov eax, 2
sub eax, dword [ecx + 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x190]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea edx, [ebp - 0x190]
push edx
mov eax, dword [0x44a024]
push eax
mov ecx, dword [0x44a2a8]
push ecx
call fcn.0043c120
lea edx, [ebp - 0x190]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]
mov dword [ebp - 4], 0x72
push 0
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
push eax
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
call fcn.00405f64
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea ecx, [ebp - 0x15c]
push ecx
lea edx, [ebp - 0x158]
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
mov dword [ebp - 4], 0x73
push 0
push 1
push 1
push 0
lea eax, [ebp - 0x190]
push eax
push 0x10
push 0x880
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
push edx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1a0], 3
lea edx, [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
xor ecx, ecx
sub ecx, dword [eax + 0x14]
shl ecx, 4
mov eax, dword [ebp - 0x190]
mov eax, dword [eax + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x1b0], 3
lea edx, [ebp - 0x1b0]
mov ecx, dword [ebp - 0x190]
mov eax, 1
sub eax, dword [ecx + 0x14]
shl eax, 4
mov ecx, dword [ebp - 0x190]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea edx, [ebp - 0x190]
push edx
mov eax, dword [0x44a1e4]
push eax
mov ecx, dword [0x44a2a8]
push ecx
call fcn.0043c120
lea edx, [ebp - 0x190]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaErase]