Function at 0x4214da
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x4022b6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0xc4
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x401c50
mov dword [ebp - 0x98], 0x30
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 7
mov dword [ebp - 0xa0], 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x5b
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0xa8], 0x27
mov dword [ebp - 0xb0], 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
lea ecx, [ebp - 0x80]
call sub.MSVBVM60.DLL___vbaFreeVar
mov dword [ebp - 0x98], 0x5f
mov dword [ebp - 0xa0], 0x8002
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL___vbaVarTstEq
movsx eax, ax
test eax, eax
je 0x42165f
fld qword [0x401c18]
cmp dword [0x44a000], 0
jne 0x421602
fdiv qword [0x401c48]
jmp 0x421613
push dword [0x401c4c]
push dword [0x401c48]
call sub.MSVBVM60.DLL__adj_fdiv_m64
cmp dword [0x44a000], 0
jne 0x421624
fdiv qword [0x401668]
jmp 0x421635
push dword [0x40166c]
push dword [0x401668]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x54]
call sub.MSVBVM60.DLL___vbaVarMove
jmp 0x42167e
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x54]
call sub.MSVBVM60.DLL___vbaVarMove
fld qword [0x401680]
cmp dword [0x44a000], 0
jne 0x421695
fdiv qword [0x401660]
jmp 0x4216a6
push dword [0x401664]
push dword [0x401660]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fadd qword [0x401bf0]
fsub qword [0x401730]
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0xfffffffb
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
fld qword [0x401bf8]
cmp dword [0x44a000], 0
jne 0x421751
fdiv qword [0x401c20]
jmp 0x421762
push dword [0x401c24]
push dword [0x401c20]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 6
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0xa8], 0x5e
mov dword [ebp - 0xb0], 2
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaVarSub
mov edx, eax
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
lea ecx, [ebp - 0x80]
call sub.MSVBVM60.DLL___vbaFreeVar
push 0
push 0
push 1
push 8
lea eax, [ebp - 0x38]
push eax
push 4
push 0x180
call sub.MSVBVM60.DLL___vbaRedim
add esp, 0x1c
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x98], 1
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x12
mov dword [ebp - 0xa0], 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x3b
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0xa8], 0x3e
mov dword [ebp - 0xb0], 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
lea ecx, [ebp - 0x80]
call sub.MSVBVM60.DLL___vbaFreeVar
mov dword [ebp - 0x98], 0x50
mov dword [ebp - 0xa0], 0x8002
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL___vbaVarTstEq
movsx eax, ax
test eax, eax
je 0x421963
fld qword [0x401600]
cmp dword [0x44a000], 0
jne 0x421906
fdiv qword [0x401548]
jmp 0x421917
push dword [0x40154c]
push dword [0x401548]
call sub.MSVBVM60.DLL__adj_fdiv_m64
cmp dword [0x44a000], 0
jne 0x421928
fdiv qword [0x401628]
jmp 0x421939
push dword [0x40162c]
push dword [0x401628]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x54]
call sub.MSVBVM60.DLL___vbaVarMove
jmp 0x421982
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x54]
call sub.MSVBVM60.DLL___vbaVarMove
fld qword [0x401508]
cmp dword [0x44a000], 0
jne 0x421999
fdiv qword [0x4015c8]
jmp 0x4219aa
push dword [0x4015cc]
push dword [0x4015c8]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fadd qword [0x401698]
fsub qword [0x401c40]
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x58
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
fld qword [0x401748]
cmp dword [0x44a000], 0
jne 0x421a55
fdiv qword [0x401680]
jmp 0x421a66
push dword [0x401684]
push dword [0x401680]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x47
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0xa8], 0x56
mov dword [ebp - 0xb0], 2
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaVarSub
mov edx, eax
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
lea ecx, [ebp - 0x80]
call sub.MSVBVM60.DLL___vbaFreeVar
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x98], 0xfffffff8
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
fld qword [0x401760]
cmp dword [0x44a000], 0
jne 0x421b30
fdiv qword [0x401668]
jmp 0x421b41
push dword [0x40166c]
push dword [0x401668]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x29
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0xa8], 0x10
mov dword [ebp - 0xb0], 2
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaVarSub
mov edx, eax
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaVarMove
lea ecx, [ebp - 0x80]
call sub.MSVBVM60.DLL___vbaFreeVar
fld qword [0x401bd8]
cmp dword [0x44a000], 0
jne 0x421be2
fdiv qword [0x401520]
jmp 0x421bf3
push dword [0x401524]
push dword [0x401520]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fadd qword [0x401638]
fsub qword [0x4016c0]
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 1
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaVarMove
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x29
mov dword [ebp - 0xa0], 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
mov dword [ebp - 0x98], 0x59
mov dword [ebp - 0xa0], 2
mov dword [ebp - 0xa8], 0x49
mov dword [ebp - 0xb0], 2
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaVarAdd
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaVarMove
lea ecx, [ebp - 0x80]
call sub.MSVBVM60.DLL___vbaFreeVar
mov dword [ebp - 0x98], 0x42
mov dword [ebp - 0xa0], 0x8002
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL___vbaVarTstEq
movsx eax, ax
test eax, eax
je 0x421dba
fld qword [0x401608]
cmp dword [0x44a000], 0
jne 0x421d5d
fdiv qword [0x401650]
jmp 0x421d6e
push dword [0x401654]
push dword [0x401650]
call sub.MSVBVM60.DLL__adj_fdiv_m64
cmp dword [0x44a000], 0
jne 0x421d7f
fdiv qword [0x401528]
jmp 0x421d90
push dword [0x40152c]
push dword [0x401528]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fstp qword [ebp - 0x98]
fnstsw ax
test al, 0xd
jne 0x422111
mov dword [ebp - 0xa0], 5
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x54]
call sub.MSVBVM60.DLL___vbaVarMove
jmp 0x421dd9
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 2
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x54]
call sub.MSVBVM60.DLL___vbaVarMove
push dword [ebp - 0x40]
mov eax, dword [ebp + 8]
push dword [eax]
mov eax, dword [ebp + 0xc]
push dword [eax]
push 0
call sub.MSVBVM60.DLL___vbaInStr
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
jne 0x421f24
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], 0x4008
lea eax, [ebp - 0xa0]
push eax
call fcn.00420e86
mov edx, eax
lea ecx, [ebp - 0x70]
call sub.MSVBVM60.DLL___vbaStrMove
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xc0], eax
and dword [ebp - 0x70], 0
fild dword [ebp - 0x44]
fstp qword [ebp - 0xcc]
mov edx, dword [ebp - 0xc0]
lea ecx, [ebp - 0x6c]
call sub.MSVBVM60.DLL___vbaStrMove
push eax
call sub.MSVBVM60.DLL___vbaR8Str
fcomp qword [ebp - 0xcc]
fnstsw ax
sahf
je 0x421e64
mov dword [ebp - 0xd0], 1
jmp 0x421e6b
and dword [ebp - 0xd0], 0
mov eax, dword [ebp - 0xd0]
neg eax
mov word [ebp - 0xb4], ax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x6c]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeStrList
add esp, 0xc
movsx eax, word [ebp - 0xb4]
test eax, eax
je 0x421f1f
mov dword [ebp - 0x78], 0x80020004
mov dword [ebp - 0x80], 0xa
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], 0x4008
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL_rtcMidCharVar
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x6c]
call sub.MSVBVM60.DLL___vbaStrMove
mov esi, eax
push dword [ebp - 0x58]
push dword [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov ecx, eax
mov edx, esi
call sub.MSVBVM60.DLL___vbaStrCopy
lea ecx, [ebp - 0x6c]
call sub.MSVBVM60.DLL___vbaFreeStr
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x80]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0xc
jmp 0x422063
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
jo 0x422116
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x80], 3
mov eax, dword [ebp + 8]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], 0x4008
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x44]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL_rtcMidCharVar
lea eax, [ebp - 0x90]
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x6c]
call sub.MSVBVM60.DLL___vbaStrMove
mov esi, eax
push dword [ebp - 0x58]
push dword [ebp - 0x38]
call sub.MSVBVM60.DLL___vbaDerefAry1
mov ecx, eax
mov edx, esi
call sub.MSVBVM60.DLL___vbaStrCopy
lea ecx, [ebp - 0x6c]
call sub.MSVBVM60.DLL___vbaFreeStr
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x80]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0xc
mov eax, dword [ebp - 0x58]
add eax, 1
jo 0x422116
mov dword [ebp - 0x58], eax
push 0
push dword [ebp - 0x58]
push 1
push 8
lea eax, [ebp - 0x38]
push eax
push 4
push 0x180
call sub.MSVBVM60.DLL___vbaRedimPreserve
add esp, 0x1c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0xa0], 0x4008
lea eax, [ebp - 0xa0]
push eax
call fcn.00420e86
mov edx, eax
lea ecx, [ebp - 0x70]
call sub.MSVBVM60.DLL___vbaStrMove
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0xc4], eax
and dword [ebp - 0x70], 0
fild dword [ebp - 0x40]
fstp qword [ebp - 0xd8]
mov edx, dword [ebp - 0xc4]
lea ecx, [ebp - 0x6c]
call sub.MSVBVM60.DLL___vbaStrMove
push eax
call sub.MSVBVM60.DLL___vbaR8Str
fadd qword [ebp - 0xd8]
fnstsw ax
test al, 0xd
jne 0x422111
call sub.MSVBVM60.DLL___vbaFpI4
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x6c]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeStrList
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
jmp 0x421dd9
push 0
push dword [ebp - 0x58]
push 1
push 8
lea eax, [ebp - 0x38]
push eax
push 4
push 0x180
call sub.MSVBVM60.DLL___vbaRedimPreserve
add esp, 0x1c
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
call sub.MSVBVM60.DLL___vbaAryMove
wait
push 0x4220fd
jmp 0x4220d1
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaFreeVar
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaFreeVar
lea eax, [ebp - 0x38]
push eax
push 0
call sub.MSVBVM60.DLL___vbaAryDestruct
lea ecx, [ebp - 0x54]
call sub.MSVBVM60.DLL___vbaFreeVar
lea ecx, [ebp - 0x68]
call sub.MSVBVM60.DLL___vbaFreeVar
ret
jmp 0x4022bc
call sub.MSVBVM60.DLL___vbaErrorOverflow