Function at 0x423216
Capabilities:
Access peb ldr_data
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x4033c6
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 - 0x18], esp
mov dword [ebp - 0x14], 0x401d98
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaStrCopy
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call sub.MSVBVM60.DLL___vbaOnError
mov dword [ebp - 4], 3
push 0
push 0x40951c
lea eax, [ebp - 0x60]
push eax
call sub.MSVBVM60.DLL_rtcCreateObject2
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x34]
push eax
call sub.MSVBVM60.DLL___vbaVarSetVar
mov dword [ebp - 4], 4
lea eax, [ebp - 0x24]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], 0x4008
push 1
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x60]
push eax
call sub.MSVBVM60.DLL_rtcRightCharVar
mov dword [ebp - 0x98], 0x4096b0
mov dword [ebp - 0xa0], 0x8008
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0xa0]
push eax
call sub.MSVBVM60.DLL___vbaVarTstEq
mov word [ebp - 0xb8], ax
lea ecx, [ebp - 0x60]
call sub.MSVBVM60.DLL___vbaFreeVar
movsx eax, word [ebp - 0xb8]
test eax, eax
je 0x423359
mov dword [ebp - 4], 5
lea eax, [ebp - 0x24]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], 0x4008
push dword [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaLenBstr
sub eax, 1
jo 0x4236cd
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x60]
push eax
call sub.MSVBVM60.DLL_rtcLeftCharVar
lea eax, [ebp - 0x60]
push eax
call sub.MSVBVM60.DLL___vbaStrVarMove
mov edx, eax
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaStrMove
lea ecx, [ebp - 0x60]
call sub.MSVBVM60.DLL___vbaFreeVar
mov dword [ebp - 4], 7
lea eax, [ebp - 0x24]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], 0x4008
push 0x10
pop eax
call sub.MSVBVM60.DLL___vbaChkstk
lea esi, [ebp - 0x90]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
push 0x4092c8
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x60]
push eax
call sub.MSVBVM60.DLL___vbaVarLateMemCallLd
add esp, 0x20
push eax
call sub.MSVBVM60.DLL___vbaBoolVarNull
mov word [ebp - 0xb8], ax
lea ecx, [ebp - 0x60]
call sub.MSVBVM60.DLL___vbaFreeVar
movsx eax, word [ebp - 0xb8]
test eax, eax
je 0x42364b
mov dword [ebp - 4], 8
lea eax, [ebp - 0x24]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], 0x4008
or dword [ebp - 0x98], 0xffffffff
mov dword [ebp - 0xa0], 0xb
push 0x10
pop eax
call sub.MSVBVM60.DLL___vbaChkstk
lea esi, [ebp - 0x90]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x10
pop eax
call sub.MSVBVM60.DLL___vbaChkstk
lea esi, [ebp - 0xa0]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 2
push 0x40da7c
lea eax, [ebp - 0x34]
push eax
call sub.MSVBVM60.DLL___vbaObjVar
push eax
call sub.MSVBVM60.DLL___vbaLateMemCall
add esp, 0x2c
mov dword [ebp - 4], 9
call sub.MSVBVM60.DLL_rtcErrObj
push eax
lea eax, [ebp - 0x4c]
push eax
call sub.MSVBVM60.DLL___vbaObjSet
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
push dword [ebp - 0xb8]
call dword [eax + 0x1c]
fnclex
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jge 0x423493
push 0x1c
push 0x408c84
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov dword [ebp - 0xdc], eax
jmp 0x42349a
and dword [ebp - 0xdc], 0
call sub.MSVBVM60.DLL_rtcErrObj
push eax
lea eax, [ebp - 0x50]
push eax
call sub.MSVBVM60.DLL___vbaObjSet
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
push dword [ebp - 0xc0]
call dword [eax + 0x2c]
fnclex
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jge 0x4234f5
push 0x2c
push 0x408c84
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov dword [ebp - 0xe0], eax
jmp 0x4234fc
and dword [ebp - 0xe0], 0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x3c]
push eax
push 4
call sub.MSVBVM60.DLL___vbaFreeStrList
add esp, 0x14
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x4c]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeObjList
add esp, 0xc
mov dword [ebp - 4], 0xa
call sub.MSVBVM60.DLL_rtcErrObj
push eax
lea eax, [ebp - 0x4c]
push eax
call sub.MSVBVM60.DLL___vbaObjSet
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xb4]
push eax
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
push dword [ebp - 0xb8]
call dword [eax + 0x1c]
fnclex
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
jge 0x42358d
push 0x1c
push 0x408c84
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
call sub.MSVBVM60.DLL___vbaHresultCheckObj
mov dword [ebp - 0xe4], eax
jmp 0x423594
and dword [ebp - 0xe4], 0
xor eax, eax
cmp dword [ebp - 0xb4], 0
sete al
neg eax
mov word [ebp - 0xa8], ax
mov dword [ebp - 0xb0], 0xb
lea eax, [ebp - 0x24]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x90], 0x4008
and dword [ebp - 0x98], 0
mov dword [ebp - 0xa0], 0x800b
lea eax, [ebp - 0xb0]
push eax
push 0x10
pop eax
call sub.MSVBVM60.DLL___vbaChkstk
lea esi, [ebp - 0x90]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
push 0x4092c8
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x60]
push eax
call sub.MSVBVM60.DLL___vbaVarLateMemCallLd
add esp, 0x20
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x70]
push eax
call sub.MSVBVM60.DLL___vbaVarCmpEq
push eax
lea eax, [ebp - 0x80]
push eax
call sub.MSVBVM60.DLL___vbaVarAnd
push eax
call sub.MSVBVM60.DLL___vbaBoolVar
mov word [ebp - 0x38], ax
lea ecx, [ebp - 0x4c]
call sub.MSVBVM60.DLL___vbaFreeObj
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x60]
push eax
push 2
call sub.MSVBVM60.DLL___vbaFreeVarList
add esp, 0xc
mov dword [ebp - 4], 0xc
push 0
lea eax, [ebp - 0x34]
push eax
call sub.MSVBVM60.DLL___vbaVarSetObjAddref
push 0x4236b8
jmp 0x4236a7
lea ecx, [ebp - 0x24]
call sub.MSVBVM60.DLL___vbaFreeStr
lea ecx, [ebp - 0x34]
call sub.MSVBVM60.DLL___vbaFreeVar
ret
call sub.MSVBVM60.DLL___vbaErrorOverflow
push ebp
mov ebp, esp
sub esp, 0xc
push 0x4033c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x401df0
mov esi, dword [ebp + 8]
push 1
mov eax, esi
pop edi
and eax, edi
mov dword [ebp - 4], eax
and esi, 0xfffffffe
push esi
mov dword [ebp + 8], esi
mov eax, dword [esi]
call dword [eax + 4]
mov eax, dword [esi + 0x44]
mov dword [eax], edi
mov eax, dword [esi + 0x44]
mov dword [eax + 4], 3
mov eax, dword [esi + 0x44]
mov dword [eax + 8], 7
mov eax, dword [esi + 0x44]
mov dword [eax + 0xc], 0xf
mov eax, dword [esi + 0x44]
mov dword [eax + 0x10], 0x1f
mov eax, dword [esi + 0x44]
mov dword [eax + 0x14], 0x3f
mov eax, dword [esi + 0x44]
mov dword [eax + 0x18], 0x7f
mov eax, dword [esi + 0x44]
mov dword [eax + 0x1c], 0xff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x20], 0x1ff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x24], 0x3ff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x28], 0x7ff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x2c], 0xfff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x30], 0x1fff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x34], 0x3fff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x38], 0x7fff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x3c], 0xffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x40], 0x1ffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x44], 0x3ffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x48], 0x7ffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x4c], 0xfffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x50], 0x1fffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x54], 0x3fffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x58], 0x7fffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x5c], 0xffffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x60], 0x1ffffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x64], 0x3ffffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x68], 0x7ffffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x6c], 0xfffffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x70], 0x1fffffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x74], 0x3fffffff
mov eax, dword [esi + 0x44]
mov dword [eax + 0x78], 0x7fffffff
mov eax, dword [esi + 0x60]
mov dword [eax], edi
mov eax, dword [esi + 0x60]
mov dword [eax + 4], 2
mov eax, dword [esi + 0x60]
mov dword [eax + 8], 4
mov eax, dword [esi + 0x60]
mov dword [eax + 0xc], 8
mov eax, dword [esi + 0x60]
mov dword [eax + 0x10], 0x10
mov eax, dword [esi + 0x60]
mov dword [eax + 0x14], 0x20
mov eax, dword [esi + 0x60]
mov dword [eax + 0x18], 0x40
mov eax, dword [esi + 0x60]
mov dword [eax + 0x1c], 0x80
mov eax, dword [esi + 0x60]
mov dword [eax + 0x20], 0x100
mov eax, dword [esi + 0x60]
mov dword [eax + 0x24], 0x200
mov eax, dword [esi + 0x60]
mov dword [eax + 0x28], 0x400
mov eax, dword [esi + 0x60]
mov dword [eax + 0x2c], 0x800
mov eax, dword [esi + 0x60]
mov dword [eax + 0x30], 0x1000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x34], 0x2000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x38], 0x4000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x3c], 0x8000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x40], 0x10000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x44], 0x20000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x48], 0x40000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x4c], 0x80000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x50], 0x100000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x54], 0x200000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x58], 0x400000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x5c], 0x800000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x60], 0x1000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x64], 0x2000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x68], 0x4000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x6c], 0x8000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x70], 0x10000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x74], 0x20000000
mov eax, dword [esi + 0x60]
mov dword [eax + 0x78], 0x40000000
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4