Function at 0x40aee0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x4017e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x4014f8
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x20]
push eax
push 0x180
call dword [sym.imp.MSVBVM60.DLL___vbaFixstrConstruct]
mov esi, dword [ebp + 0x10]
lea ecx, [ebp - 0x30]
mov edx, dword [esi]
call dword [sym.imp.MSVBVM60.DLL___vbaAryVarVarg]
push eax
push 0x200c
call dword [sym.imp.MSVBVM60.DLL___vbaAryVar]
lea ecx, [ebp - 0x34]
lea edx, [ebp - 0x1c]
push ecx
push edx
mov dword [ebp - 0x34], eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryCopy]
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x1c]
push eax
push ecx
push edx
call 0x40a1d0
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ecx, dword [esi]
mov dword [ebp - 0x44], eax
push ecx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaLbound]
mov edi, eax
mov eax, dword [ebp - 0x44]
cmp edi, eax
jg 0x40a187
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40a12c
cmp word [eax], 1
jne 0x40a12c
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov esi, edi
sub esi, edx
cmp esi, ecx
jb 0x40a122
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
shl esi, 4
mov ebx, esi
mov esi, dword [ebp + 0x10]
jmp 0x40a134
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ebx, eax
mov eax, dword [esi]
test eax, eax
je 0x40a15e
cmp word [eax], 1
jne 0x40a15e
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov esi, edi
sub esi, edx
cmp esi, ecx
jb 0x40a154
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
shl esi, 4
mov eax, esi
mov esi, dword [ebp + 0x10]
jmp 0x40a164
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [esi]
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0xc]
add edx, ebx
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVargVarCopy]
mov eax, 1
add eax, edi
jo 0x40a1c4
jmp 0x40a0f4
push 0x40a1ae
jmp 0x40a198
lea edx, [ebp - 0x1c]
push edx
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea ecx, [ebp - 0x20]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
sub esp, 0x10
push 0x4017e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xc], 0x401508
xor eax, eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
xor esi, esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x84], esi
lea eax, [ebp - 0x2c]
push eax
push 0x180
call dword [sym.imp.MSVBVM60.DLL___vbaFixstrConstruct]
push esi
push esi
push 1
push 3
push 0x4130d0
push 4
push 0x80
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaRedim]
call edi
push esi
push esi
push 1
push 0x11
push 0x4130d8
push 1
push 0x80
call edi
add esp, 0x38
mov dword [0x4130d4], esi
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx]
push ecx
push 1
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaUbound]
call esi
cmp eax, 0xffffffff
jne 0x40a325
mov dword [ebp - 0x1c], eax
mov edi, dword [ebp + 8]
mov eax, dword [edi]
push eax
lea ecx, [ebp - 0x40]
push ecx
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
call ebx
push eax
call fcn.004024a0
mov esi, eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov edx, dword [ebp - 0x40]
push edx
push edi
call dword [sym.imp.MSVBVM60.DLL___vbaStrToUnicode]
mov dword [ebp - 0x28], esi
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
test esi, esi
je 0x40a31b
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
push eax
lea ecx, [ebp - 0x40]
push ecx
call ebx
push eax
push esi
call fcn.00402bfc
mov esi, eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov edx, dword [ebp - 0x40]
push edx
push edi
call dword [sym.imp.MSVBVM60.DLL___vbaStrToUnicode]
mov dword [0x4130d4], esi
lea ecx, [ebp - 0x40]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
mov eax, dword [0x4130d4]
test eax, eax
jne 0x40a654
mov eax, dword [ebp - 0x28]
push eax
call fcn.004024e4
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
push 0x40a926
jmp 0x40a903
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
push 0
mov edx, dword [ebx]
push edx
push 1
call esi
push eax
push 1
push 0xb
lea eax, [ebp - 0x34]
push eax
push 2
push 0x80
call edi
add esp, 0x1c
mov ecx, dword [ebx]
push ecx
push 1
call esi
mov ecx, eax
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
call esi
mov dword [ebp - 0xa0], eax
mov edx, dword [ebx]
push edx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaLbound]
mov ecx, eax
call esi
mov dword [ebp - 0x20], eax
mov edi, eax
cmp di, word [ebp - 0xa0]
jg 0x40a28f
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x40a3a9
cmp word [ecx], 1
jne 0x40a3a9
movsx esi, di
sub esi, dword [ecx + 0x14]
cmp esi, dword [ecx + 0x10]
jb 0x40a3a4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
lea eax, [esi + esi]
jmp 0x40a3b2
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
mov ecx, dword [ecx + 0xc]
mov word [ecx + eax], 0
mov edx, dword [ebx]
push edx
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x40a3f0
cmp word [ecx], 1
jne 0x40a3f0
movsx esi, di
sub esi, dword [ecx + 0x14]
cmp esi, dword [ecx + 0x10]
jb 0x40a3e9
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
shl esi, 4
mov eax, esi
jmp 0x40a3f9
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcVarType]
mov esi, eax
lea edx, [ebp - 0x38]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
cmp esi, 8
jne 0x40a63c
movsx edi, word [ebp - 0x20]
push 0
push edi
push 1
push 0x402db0
lea eax, [ebp - 0x30]
push eax
push 4
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaRedimPreserve]
add esp, 0x1c
mov ecx, dword [ebx]
push ecx
lea edx, [ebp - 0x38]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x40a46d
cmp word [ecx], 1
jne 0x40a46d
mov esi, edi
sub esi, dword [ecx + 0x14]
cmp esi, dword [ecx + 0x10]
jb 0x40a466
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
shl esi, 4
mov eax, esi
jmp 0x40a476
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
push 0
push 0x80
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
lea edx, [ebp - 0x50]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcStrConvVar2]
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
push 0
lea ecx, [ebp - 0x60]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcVarBstrFromAnsi]
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 - 0x74]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaVar2Vec]
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x40a4e9
cmp word [ecx], 1
jne 0x40a4e9
mov esi, edi
sub esi, dword [ecx + 0x14]
cmp esi, dword [ecx + 0x10]
jb 0x40a4e0
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x30]
lea eax, [esi*4]
jmp 0x40a4f2
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x30]
lea edx, [ebp - 0x74]
push edx
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryMove]
lea edx, [ebp - 0x70]
push edx
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x50]
push ecx
push 3
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x10
mov edx, dword [ebp - 0x30]
push edx
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x40a550
cmp word [ecx], 1
jne 0x40a550
mov esi, edi
sub esi, dword [ecx + 0x14]
cmp esi, dword [ecx + 0x10]
jb 0x40a547
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x3c]
lea eax, [esi*4]
jmp 0x40a559
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + eax]
push edx
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x40a58e
cmp word [ecx], 1
jne 0x40a58e
mov esi, dword [ecx + 0x14]
neg esi
cmp esi, dword [ecx + 0x10]
jb 0x40a58a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
mov eax, esi
jmp 0x40a597
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
mov esi, eax
lea edx, [ebp - 0x38]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x84], 3
mov eax, dword [ebx]
test eax, eax
je 0x40a5e9
cmp word [eax], 1
jne 0x40a5e9
mov esi, edi
sub esi, dword [eax + 0x14]
cmp esi, dword [eax + 0x10]
jb 0x40a5e2
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
shl esi, 4
mov eax, esi
jmp 0x40a5ef
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea edx, [ebp - 0x84]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x40a627
cmp word [ecx], 1
jne 0x40a627
sub edi, dword [ecx + 0x14]
mov esi, edi
cmp esi, dword [ecx + 0x10]
jb 0x40a622
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
lea eax, [esi + esi]
jmp 0x40a630
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0xc]
mov word [edx + eax], 0xffff
mov edi, dword [ebp - 0x20]
mov eax, 1
add ax, di
jo 0x40a93c
mov edi, eax
mov dword [ebp - 0x20], edi
jmp 0x40a376
push 0
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ebx]
push ecx
push 1
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaUbound]
call esi
add eax, 1
jo 0x40a93c
push eax
push 1
push 3
push 0x4130d0
push 4
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
add esp, 0x1c
mov edx, dword [0x4130d0]
push edx
push 1
call esi
mov ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
mov dword [ebp - 0xa8], eax
mov edi, 1
cmp di, word [ebp - 0xa8]
jg 0x40a74f
mov eax, dword [ebx]
test eax, eax
je 0x40a6e5
cmp word [eax], 1
jne 0x40a6e5
mov cx, di
sub cx, 1
jo 0x40a93c
movsx esi, cx
sub esi, dword [eax + 0x14]
cmp esi, dword [eax + 0x10]
jb 0x40a6de
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
shl esi, 4
mov ebx, esi
jmp 0x40a6ed
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ebx, eax
mov eax, dword [0x4130d0]
test eax, eax
je 0x40a712
cmp word [eax], 1
jne 0x40a712
movsx esi, di
sub esi, dword [eax + 0x14]
cmp esi, dword [eax + 0x10]
jb 0x40a70d
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
shl esi, 2
jmp 0x40a71a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov esi, eax
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
add ecx, ebx
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaI4ErrVar]
mov edx, dword [0x4130d0]
mov ecx, dword [edx + 0xc]
mov dword [ecx + esi], eax
mov eax, 1
add ax, di
jo 0x40a93c
mov edi, eax
mov ebx, dword [ebp + 0x10]
jmp 0x40a6a7
call 0x40a950
push 0
push 0
push 0
push 0
push eax
call fcn.00402df4
mov esi, eax
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
call edi
mov dword [ebp - 0x24], esi
mov edx, dword [ebp - 0x28]
push edx
call fcn.004024e4
call edi
cmp word [ebp - 0x1c], 0
jne 0x40a31b
mov eax, dword [ebx]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ecx, eax
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaI2I4]
call esi
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebx]
push ecx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaLbound]
mov ecx, eax
call esi
mov edi, eax
mov ecx, dword [ebp - 0x34]
cmp di, word [ebp - 0xb0]
jg 0x40a31b
test ecx, ecx
je 0x40a7e4
cmp word [ecx], 1
jne 0x40a7e4
movsx esi, di
sub esi, dword [ecx + 0x14]
cmp esi, dword [ecx + 0x10]
jb 0x40a7df
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
lea eax, [esi + esi]
jmp 0x40a7ed
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx + 0xc]
cmp word [edx + eax], 0
je 0x40a8b3
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x38]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x40a833
cmp word [ecx], 1
jne 0x40a833
movsx esi, di
sub esi, dword [ecx + 0x14]
cmp esi, dword [ecx + 0x10]
jb 0x40a82a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
lea eax, [esi*4]
jmp 0x40a83c
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0xc]
add edx, eax
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x84], 0x6011
push 0
push 0x40
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x50]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcStrConvVar2]
lea edx, [ebp - 0x38]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov eax, dword [ebx]
test eax, eax
je 0x40a891
cmp word [eax], 1
jne 0x40a891
movsx esi, di
sub esi, dword [eax + 0x14]
cmp esi, dword [eax + 0x10]
jb 0x40a88a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
shl esi, 4
mov eax, esi
jmp 0x40a897
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea edx, [ebp - 0x50]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0xc]
add ecx, eax
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea ecx, [ebp - 0x50]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov ecx, dword [ebp - 0x34]
mov eax, 1
add ax, di
jo 0x40a93c
mov edi, eax
jmp 0x40a7b4
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea edx, [ebp - 0x30]
push edx
push 0x402db0
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
call esi
lea eax, [ebp - 0x34]
push eax
push 0
call esi
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
sub esp, 8
push 0x4017e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401518
lea eax, [ebp - 0x1c]
xor esi, esi
push eax
push 0x180
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x30], esi
call dword [sym.imp.MSVBVM60.DLL___vbaFixstrConstruct]
mov ecx, dword [0x4130d0]
push esi
push ecx
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
imul eax, eax, 6
jo 0x40ac71
add eax, 0x32
jo 0x40ac71
push eax
push 1
push 0x11
push 0x4130d8
push 1
push 0x80
call dword [sym.imp.MSVBVM60.DLL___vbaRedim]
mov edx, dword [0x4130d8]
add esp, 0x1c
lea eax, [ebp - 0x24]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x24]
cmp ecx, esi
je 0x40aa07
cmp word [ecx], 1
jne 0x40aa07
mov esi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg esi
cmp esi, eax
jb 0x40aa03
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x24]
mov eax, esi
jmp 0x40aa10
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xc]
mov edi, dword [sym.imp.MSVBVM60.DLL_VarPtr]
add ecx, eax
push ecx
call edi
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea edx, [ebp - 0x24]
push edx
mov esi, eax
call ebx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], esi
push eax
call 0x40aee0
mov ecx, dword [0x4130d8]
lea edx, [ebp - 0x24]
push ecx
push edx
mov dword [ebp - 0x18], eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x40aa72
cmp word [ecx], 1
jne 0x40aa72
mov esi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg esi
cmp esi, eax
jb 0x40aa6e
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x24]
mov eax, esi
jmp 0x40aa7b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
call edi
lea edx, [ebp - 0x24]
mov esi, eax
push edx
call ebx
mov eax, dword [ebp - 0x18]
sub eax, esi
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
jo 0x40ac71
mov dword [0x4130dc], eax
sub eax, 1
jo 0x40ac71
mov dword [ebp - 0x3c], eax
xor edi, edi
cmp edi, dword [ebp - 0x3c]
jg 0x40ab05
mov eax, dword [0x4130d8]
test eax, eax
je 0x40aad9
cmp word [eax], 1
jne 0x40aad9
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov ebx, edi
sub ebx, edx
cmp ebx, ecx
jb 0x40aae1
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
jmp 0x40aae1
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ebx, eax
mov ecx, 0xcc
call esi
mov ecx, dword [0x4130d8]
mov edx, dword [ecx + 0xc]
mov byte [edx + ebx], al
mov eax, 1
add eax, edi
jo 0x40ac71
mov edi, eax
jmp 0x40aaaf
mov ecx, 0x58
call esi
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x28]
push eax
call 0x40ae70
mov ecx, 0x59
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
push ecx
call 0x40ae70
mov ecx, 0x59
call esi
lea edx, [ebp - 0x28]
mov byte [ebp - 0x28], al
push edx
call 0x40ae70
mov ecx, 0x59
call esi
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x28]
push eax
call 0x40ae70
mov ecx, 0x59
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
push ecx
call 0x40ae70
mov ecx, 0x50
call esi
lea edx, [ebp - 0x28]
mov byte [ebp - 0x28], al
push edx
call 0x40ae70
mov eax, dword [0x4130d0]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ebx, eax
mov eax, 1
cmp ebx, eax
jl 0x40ac0b
mov ecx, 0x68
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
push ecx
call 0x40ae70
mov edx, dword [0x4130d0]
lea eax, [ebp - 0x24]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x40abe1
cmp word [ecx], 1
jne 0x40abe1
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov edi, ebx
sub edi, edx
cmp edi, eax
jb 0x40abd8
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x24]
lea eax, [edi*4]
jmp 0x40abea
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
call 0x40ad90
lea edx, [ebp - 0x24]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
or eax, 0xffffffff
add eax, ebx
jo 0x40ac71
jmp 0x40ab85
push 0x4130d4
call 0x40ac80
mov ecx, 0xc3
call esi
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x28]
push eax
call 0x40ae70
mov ecx, 0xcc
call esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x28], al
push ecx
call 0x40ae70
mov edx, dword [ebp - 0x18]
push 0x40ac5d
mov dword [ebp - 0x14], edx
jmp 0x40ac53
lea ecx, [ebp - 0x1c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
sub esp, 8
push 0x4017e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401528
lea eax, [ebp - 0x14]
xor ebx, ebx
push eax
push 0x180
mov dword [ebp - 0x18], ebx
mov byte [ebp - 0x1c], bl
mov dword [ebp - 0x24], ebx
call dword [sym.imp.MSVBVM60.DLL___vbaFixstrConstruct]
mov ecx, 0xe8
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x1c], al
push ecx
call 0x40ae70
mov edx, dword [0x4130d8]
lea eax, [ebp - 0x18]
push edx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x18]
cmp ecx, ebx
je 0x40ad17
cmp word [ecx], 1
jne 0x40ad17
mov esi, dword [0x4130dc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x40ad13
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x18]
mov eax, esi
jmp 0x40ad20
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
call dword [sym.imp.MSVBVM60.DLL_VarPtr]
lea edx, [ebp - 0x18]
mov esi, eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [eax]
sub ecx, esi
jo 0x40ad81
sub ecx, 4
jo 0x40ad81
mov dword [ebp - 0x24], ecx
call 0x40ad90
push 0x40ad6e
jmp 0x40ad64
lea ecx, [ebp - 0x14]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
sub esp, 8
push 0x4017e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x38
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401538
push 0x11
lea eax, [ebp - 0x28]
xor esi, esi
push 0x40311c
push eax
mov dword [ebp - 0x38], esi
call dword [sym.imp.MSVBVM60.DLL___vbaAryConstruct2]
lea ecx, [ebp - 0x34]
push ecx
push 0x180
call dword [sym.imp.MSVBVM60.DLL___vbaFixstrConstruct]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x1c]
push 4
push edx
push eax
call fcn.004028c4
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov ebx, 1
mov eax, 3
cmp si, ax
jg 0x40ae27
movsx edi, si
cmp edi, 4
jb 0x40ae10
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x1c]
add ecx, edi
push ecx
call 0x40ae70
mov dx, bx
add dx, si
jo 0x40ae5b
mov esi, edx
jmp 0x40adf8
push 0x40ae48
lea ecx, [ebp - 0x38]
lea eax, [ebp - 0x28]
push ecx
push 0
mov dword [ebp - 0x38], eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryDestruct]
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [0x4130d8]
test ecx, ecx
je 0x40aea4
cmp word [ecx], 1
jne 0x40aea4
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
push esi
mov esi, dword [0x4130dc]
sub esi, edx
cmp esi, eax
jb 0x40ae9f
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x4130d8]
mov eax, esi
pop esi
jmp 0x40aeb0
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x4130d8]
mov edx, dword [esp + 4]
mov ecx, dword [ecx + 0xc]
mov dl, byte [edx]
mov byte [ecx + eax], dl
mov eax, dword [0x4130dc]
add eax, 1
jo 0x40aece
mov dword [0x4130dc], eax
ret 4
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [eax]
mov edx, ecx
sub edx, 1
jo 0x40af2e
and edx, 0x8000000f
jns 0x40aefa
dec edx
or edx, 0xfffffff0
inc edx
mov eax, 0xf
sub eax, edx
jo 0x40af2e
add eax, ecx
jo 0x40af2e
sub ecx, 1
jo 0x40af2e
and ecx, 0x8000000f
jns 0x40af19
dec ecx
or ecx, 0xfffffff0
inc ecx
mov edx, 0xf
sub edx, ecx
jo 0x40af2e
test edx, edx
jne 0x40af2b
add eax, 0x10
jo 0x40af2e
ret 4
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop