Function at 0x41f610
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x401d76
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401a40
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
xor ebx, ebx
sub dx, cx
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov dword [ebp - 0x24], ebx
jo 0x421a89
movsx esi, dx
cmp esi, 2
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x94], ebx
jb 0x41f68e
call edi
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], ebx
jne 0x41f6fa
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x41f6b5
call edi
mov ecx, dword [0x42d094]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaNew2]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call edi
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41f6ef
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea esi, [edx + esi*4]
jmp 0x41f724
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41f715
call edi
mov edx, dword [0x42d094]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaNew2]
lea esi, [edx + esi*4]
mov esi, dword [esi]
lea ecx, [ebp - 0x94]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x34]
cmp eax, ebx
fnclex
jge 0x41f74c
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
push 0x34
push 0x4060c8
push esi
push eax
call ebx
jmp 0x41f752
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov al, byte [0x42d03e]
xor dx, dx
mov dl, al
mov cx, 1
sub cx, dx
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41f77c
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x41f7d7
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41f7a7
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call edi
movzx cx, byte [0x42d03e]
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41f7f7
jmp 0x41f7f1
xor cx, cx
mov dx, 1
mov cl, al
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41f7f7
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d094]
lea edx, [ebp - 0x8c]
push edx
lea esi, [eax + esi*4]
mov esi, dword [esi]
push esi
mov ecx, dword [esi]
call dword [ecx + 0x1c]
test eax, eax
fnclex
jge 0x41f81f
push 0x1c
push 0x4060c8
push esi
push eax
call ebx
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41f849
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x41f8a5
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x41f875
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d094]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call edi
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41f8c4
jmp 0x41f8be
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41f8c4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x90]
push ecx
lea esi, [edx + esi*4]
mov esi, dword [esi]
push esi
mov eax, dword [esi]
call dword [eax + 0x24]
test eax, eax
fnclex
jge 0x41f8ed
push 0x24
push 0x4060c8
push esi
push eax
call ebx
mov cx, word [ebp + 0xc]
mov si, word [ebp + 8]
xor edx, edx
cmp cx, word [ebp - 0x90]
setne dl
xor eax, eax
cmp si, word [ebp - 0x8c]
setne al
or edx, eax
neg edx
sbb edx, edx
xor eax, eax
neg edx
cmp word [ebp - 0x94], ax
setne al
or edx, eax
je 0x41f936
test si, si
jl 0x41f936
test cx, cx
jl 0x41f936
mov eax, 1
jmp 0x41f938
xor eax, eax
movzx dx, byte [0x42d038]
sub dx, 1
jo 0x421a89
xor ebx, ebx
cmp si, dx
setle bl
and ebx, eax
movzx ax, byte [0x42d039]
neg ebx
sbb ebx, ebx
neg ebx
sub ax, 1
jo 0x421a89
xor edx, edx
cmp cx, ax
setle dl
test edx, ebx
je 0x421a3b
mov eax, dword [0x42d06c]
test eax, eax
je 0x41f9d1
cmp word [eax], 2
jne 0x41f9d1
movsx edi, word [0x42d060]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub edi, edx
cmp edi, ecx
jb 0x41f9a9
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d06c]
movsx esi, word [0x42d062]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x41f9c7
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d06c]
mov ebx, dword [eax + 0x18]
imul ebx, esi
add ebx, edi
jmp 0x41f9de
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ebx, eax
mov eax, dword [0x42d06c]
test eax, eax
je 0x41fbe8
cmp word [eax], 2
jne 0x41fbe8
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41fa1a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x41fa7a
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x41fa46
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d094]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fa99
jmp 0x41fa93
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fa99
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
lea esi, [edx + esi*4]
mov esi, dword [esi]
push esi
mov eax, dword [esi]
call dword [eax + 0x1c]
test eax, eax
fnclex
jge 0x41fac6
push 0x1c
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x42d06c]
movsx edi, word [ebp - 0x8c]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub edi, edx
cmp edi, ecx
jb 0x41fae4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
xor dx, dx
mov dl, al
mov cx, 1
sub cx, dx
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fb0e
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x41fb6d
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fb39
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx cx, byte [0x42d03e]
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41fb8d
jmp 0x41fb87
xor cx, cx
mov dx, 1
mov cl, al
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41fb8d
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d094]
lea edx, [ebp - 0x90]
push edx
lea esi, [eax + esi*4]
mov esi, dword [esi]
push esi
mov ecx, dword [esi]
call dword [ecx + 0x24]
test eax, eax
fnclex
jge 0x41fbb9
push 0x24
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x90]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x41fbde
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
jmp 0x41fbf4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0xc]
xor edx, edx
cmp byte [esi + eax], 0x83
setne dl
xor eax, eax
cmp byte [esi + ebx], 0x84
setne al
or edx, eax
jne 0x41fc99
movzx cx, byte [0x42d03e]
mov dx, 1
mov dword [ebp - 0x18], 0
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41fc3b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d054]
push 0x407020
mov ecx, dword [eax + esi*4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
push ecx
call esi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x24]
call edi
push eax
push 0x40702c
call esi
mov edx, eax
lea ecx, [ebp - 0x28]
call edi
mov al, byte [0x42d03e]
lea edx, [ebp - 0x28]
push edx
push eax
call fcn.0041f1d0
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
push 0x421a72
jmp 0x421a71
test ecx, ecx
je 0x41fcef
cmp word [ecx], 2
jne 0x41fcef
movsx edi, word [0x42d060]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
sub edi, edx
cmp edi, eax
jb 0x41fcc4
call ebx
mov ecx, dword [0x42d06c]
movsx esi, word [0x42d062]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x41fcdf
call ebx
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
mov dword [ebp - 0xd8], eax
jmp 0x41fd07
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov dword [ebp - 0xd8], eax
test ecx, ecx
je 0x41fefb
cmp word [ecx], 2
jne 0x41fefb
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41fd3f
call ebx
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x41fd9b
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x41fd67
call ebx
mov ecx, dword [0x42d094]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fdb6
jmp 0x41fdb4
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fdb6
call ebx
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
lea esi, [edx + esi*4]
mov esi, dword [esi]
push esi
mov eax, dword [esi]
call dword [eax + 0x1c]
test eax, eax
fnclex
jge 0x41fde3
push 0x1c
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x42d06c]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
movsx ebx, word [ebp - 0x8c]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub ebx, edx
cmp ebx, ecx
jb 0x41fe03
call edi
mov al, byte [0x42d03e]
xor dx, dx
mov dl, al
mov cx, 1
sub cx, dx
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fe29
call edi
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x41fe84
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41fe50
call edi
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx cx, byte [0x42d03e]
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41fea0
jmp 0x41fe9e
xor cx, cx
mov dx, 1
mov cl, al
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x41fea0
call edi
mov eax, dword [0x42d094]
lea edx, [ebp - 0x90]
push edx
lea esi, [eax + esi*4]
mov esi, dword [esi]
push esi
mov ecx, dword [esi]
call dword [ecx + 0x24]
test eax, eax
fnclex
jge 0x41fecc
push 0x24
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x42d06c]
movsx edi, word [ebp - 0x90]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub edi, edx
cmp edi, eax
jb 0x41fef1
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0x18]
imul esi, edi
add esi, ebx
jmp 0x41ff05
call ebx
mov ecx, dword [0x42d06c]
mov esi, eax
mov edi, dword [ecx + 0xc]
mov edx, dword [ebp - 0xd8]
xor eax, eax
mov bl, byte [edi + edx]
cmp bl, 0x6a
mov bl, byte [edi + esi]
setne al
xor edx, edx
cmp bl, 0x69
setne dl
or eax, edx
jne 0x41ffb6
movzx ax, byte [0x42d03e]
mov cx, 1
mov dword [ebp - 0x18], 0
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41ff56
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d054]
push 0x407020
mov eax, dword [edx + esi*4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
push eax
call esi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x24]
call edi
push eax
push 0x40702c
call esi
mov edx, eax
lea ecx, [ebp - 0x28]
call edi
mov dl, byte [0x42d03e]
lea ecx, [ebp - 0x28]
push ecx
push edx
call fcn.0041f1d0
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x24]
push eax
push ecx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
push 0x421a72
jmp 0x421a71
test ecx, ecx
je 0x42000e
cmp word [ecx], 2
jne 0x42000e
movsx edi, word [0x42d060]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x41ffdf
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx esi, word [0x42d062]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x41fffe
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
mov dword [ebp - 0xdc], eax
jmp 0x420020
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xdc], eax
test ecx, ecx
je 0x42022c
cmp word [ecx], 2
jne 0x42022c
mov al, byte [0x42d03e]
xor dx, dx
mov dl, al
mov cx, 1
sub cx, dx
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x42005c
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x4200cb
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x420087
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx cx, byte [0x42d03e]
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x4200c1
call ebx
mov eax, dword [0x42d094]
lea esi, [eax + esi*4]
jmp 0x4200f9
xor cx, cx
mov dx, 1
mov cl, al
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x4200eb
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d094]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea esi, [eax + esi*4]
mov esi, dword [esi]
lea edx, [ebp - 0x8c]
push edx
push esi
mov ecx, dword [esi]
call dword [ecx + 0x1c]
test eax, eax
fnclex
jge 0x42011d
push 0x1c
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x42d06c]
movsx edi, word [ebp - 0x8c]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub edi, edx
cmp edi, ecx
jb 0x420137
call ebx
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x42015d
call ebx
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x4201b9
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x420185
call ebx
mov ecx, dword [0x42d094]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x4201d4
jmp 0x4201d2
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x4201d4
call ebx
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x90]
push ecx
lea esi, [edx + esi*4]
mov esi, dword [esi]
push esi
mov eax, dword [esi]
call dword [eax + 0x24]
test eax, eax
fnclex
jge 0x420201
push 0x24
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x90]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x420222
call ebx
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
jmp 0x42023e
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov esi, dword [ecx + 0xc]
mov edi, dword [ebp - 0xdc]
xor edx, edx
cmp byte [esi + eax], 0x7d
setne dl
xor eax, eax
cmp byte [esi + edi], 0x7e
setne al
or edx, eax
jne 0x4202e5
movzx cx, byte [0x42d03e]
mov dx, 1
mov dword [ebp - 0x18], 0
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x420287
call ebx
mov eax, dword [0x42d054]
push 0x407020
mov ecx, dword [eax + esi*4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
push ecx
call esi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x24]
call edi
push eax
push 0x40702c
call esi
mov edx, eax
lea ecx, [ebp - 0x28]
call edi
mov al, byte [0x42d03e]
lea edx, [ebp - 0x28]
push edx
push eax
call fcn.0041f1d0
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
push 0x421a72
jmp 0x421a71
test ecx, ecx
je 0x42032f
cmp word [ecx], 2
jne 0x42032f
movsx edi, word [0x42d060]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x42030a
call ebx
mov ecx, dword [0x42d06c]
movsx esi, word [0x42d062]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x420325
call ebx
mov ecx, dword [0x42d06c]
mov ebx, dword [ecx + 0x18]
imul ebx, esi
add ebx, edi
jmp 0x42033d
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov ebx, eax
test ecx, ecx
je 0x420547
cmp word [ecx], 2
jne 0x420547
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x420379
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x4203d9
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x4203a5
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d094]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x4203f8
jmp 0x4203f2
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x4203f8
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
lea esi, [edx + esi*4]
mov esi, dword [esi]
push esi
mov eax, dword [esi]
call dword [eax + 0x1c]
test eax, eax
fnclex
jge 0x420425
push 0x1c
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x42d06c]
movsx edi, word [ebp - 0x8c]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub edi, edx
cmp edi, ecx
jb 0x420443
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
xor dx, dx
mov dl, al
mov cx, 1
sub cx, dx
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x42046d
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x4204cc
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x420498
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx cx, byte [0x42d03e]
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x4204ec
jmp 0x4204e6
xor cx, cx
mov dx, 1
mov cl, al
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x4204ec
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d094]
lea edx, [ebp - 0x90]
push edx
lea esi, [eax + esi*4]
mov esi, dword [esi]
push esi
mov ecx, dword [esi]
call dword [ecx + 0x24]
test eax, eax
fnclex
jge 0x420518
push 0x24
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x90]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x42053d
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
jmp 0x420553
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0xc]
xor edx, edx
cmp byte [esi + eax], 0x80
setne dl
xor eax, eax
cmp byte [esi + ebx], 0x81
setne al
or edx, eax
jne 0x4205f8
movzx cx, byte [0x42d03e]
mov dx, 1
mov dword [ebp - 0x18], 0
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x42059a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d054]
push 0x407020
mov ecx, dword [eax + esi*4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
push ecx
call esi
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x24]
call edi
push eax
push 0x40702c
call esi
mov edx, eax
lea ecx, [ebp - 0x28]
call edi
mov al, byte [0x42d03e]
lea edx, [ebp - 0x28]
push edx
push eax
call fcn.0041f1d0
lea ecx, [ebp - 0x28]
lea edx, [ebp - 0x24]
push ecx
push edx
push 2
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0xc
push 0x421a72
jmp 0x421a71
test ecx, ecx
je 0x420644
cmp word [ecx], 2
jne 0x420644
movsx edi, word [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x42061e
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x42063a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
jmp 0x420650
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edx, dword [ecx + 0xc]
movzx bx, byte [edx + eax]
movzx dx, byte [0x42d038]
mov ax, word [ebp + 8]
cmp ax, dx
jge 0x420679
test ax, ax
jl 0x420679
cmp word [ebp + 0xc], 0
jl 0x420679
xor eax, eax
jmp 0x42067e
mov eax, 1
movzx si, byte [0x42d039]
xor edx, edx
cmp word [ebp + 0xc], si
setge dl
or edx, eax
jne 0x421a3b
test ecx, ecx
mov dword [ebp - 0x18], 0xffffffff
je 0x4206f0
cmp word [ecx], 2
jne 0x4206f0
movsx edi, word [0x42d060]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x4206c7
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx esi, word [0x42d062]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4206e6
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
jmp 0x4206fc
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edx, dword [ecx + 0xc]
cmp byte [edx + eax], 0x96
je 0x42182f
cmp bx, 0x66
je 0x421a3b
cmp bx, 0x62
je 0x421a3b
cmp bx, 0x4c
je 0x421a3b
cmp bx, 0x6b
je 0x421a3b
cmp bx, 0x68
je 0x421a3b
cmp bx, 0x82
je 0x421a3b
cmp bx, 0x7f
je 0x421a3b
cmp bx, 0x8b
je 0x421a3b
test ecx, ecx
je 0x4207ad
cmp word [ecx], 2
jne 0x4207ad
movsx edi, word [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x420781
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x42079d
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
mov dword [ebp - 0xe0], eax
jmp 0x4207bf
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xe0], eax
test ecx, ecx
je 0x42080b
cmp word [ecx], 2
jne 0x42080b
movsx edi, word [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x4207e5
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x420801
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov ebx, dword [ecx + 0x18]
imul ebx, esi
add ebx, edi
jmp 0x420819
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov ebx, eax
test ecx, ecx
je 0x420871
cmp word [ecx], 2
jne 0x420871
movsx eax, word [ebp + 8]
mov esi, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x18]
sub eax, esi
cmp eax, edx
mov dword [ebp - 0xac], eax
jb 0x420845
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx edi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub edi, edx
cmp edi, eax
jb 0x420861
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0x18]
mov eax, dword [ebp - 0xac]
imul esi, edi
add esi, eax
jmp 0x42087f
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov esi, eax
mov edi, dword [ecx + 0xc]
xor eax, eax
mov dl, byte [edi + ebx]
mov ebx, dword [ebp - 0xe0]
test dl, dl
mov dl, 0x60
sete al
cmp dl, byte [edi + ebx]
mov bl, byte [edi + esi]
sbb edx, edx
neg edx
or eax, edx
neg eax
sbb eax, eax
neg eax
cmp bl, 0x4d
sbb edx, edx
neg edx
or eax, edx
je 0x421a3b
test ecx, ecx
je 0x4208ff
cmp word [ecx], 2
jne 0x4208ff
movsx ebx, word [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
sub ebx, edx
cmp ebx, eax
jb 0x4208dd
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4208f5
call edi
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, ebx
jmp 0x420911
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ecx + 0xc]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov bl, byte [ecx + eax]
mov ecx, 0x6e
call esi
cmp bl, al
jne 0x4209de
mov al, byte [0x42d03e]
xor edx, edx
mov dl, al
mov esi, edx
cmp esi, 2
jb 0x420943
call edi
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x42098b
xor edx, edx
mov dl, al
mov esi, edx
cmp esi, 2
jb 0x42095c
call edi
mov eax, dword [0x42d094]
lea ecx, [eax + esi*4]
push ecx
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
xor edx, edx
mov dl, byte [0x42d03e]
mov esi, edx
cmp esi, 2
jb 0x420981
call edi
mov eax, dword [0x42d094]
lea esi, [eax + esi*4]
jmp 0x4209a1
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420998
call edi
mov edx, dword [0x42d094]
lea esi, [edx + esi*4]
mov esi, dword [esi]
lea ecx, [ebp - 0x8c]
push ecx
push 1
mov eax, dword [esi]
push esi
call dword [eax + 0x48]
test eax, eax
fnclex
jge 0x4209c7
push 0x48
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov bl, byte [ebp - 0x8c]
mov dl, 4
cmp dl, bl
sbb eax, eax
inc eax
neg eax
mov dword [ebp - 0x18], eax
jmp 0x4219f0
mov ecx, 0x6f
call esi
cmp bl, al
jne 0x420a67
mov al, byte [0x42d03e]
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420a00
call edi
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x420a3f
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420a19
call edi
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
xor ecx, ecx
mov cl, byte [0x42d03e]
mov esi, ecx
cmp esi, 2
jb 0x420a4c
jmp 0x420a4a
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420a4c
call edi
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
push 2
lea esi, [edx + esi*4]
mov esi, dword [esi]
mov eax, dword [esi]
jmp 0x4209ae
mov ecx, 0x70
call esi
cmp bl, al
jne 0x420af0
mov al, byte [0x42d03e]
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420a89
call edi
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x420ac8
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420aa2
call edi
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
xor ecx, ecx
mov cl, byte [0x42d03e]
mov esi, ecx
cmp esi, 2
jb 0x420ad5
jmp 0x420ad3
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420ad5
call edi
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
push 3
lea esi, [edx + esi*4]
mov esi, dword [esi]
mov eax, dword [esi]
jmp 0x4209ae
mov ecx, 0x71
call esi
cmp bl, al
jne 0x420b79
mov al, byte [0x42d03e]
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420b12
call edi
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x420b51
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420b2b
call edi
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
xor ecx, ecx
mov cl, byte [0x42d03e]
mov esi, ecx
cmp esi, 2
jb 0x420b5e
jmp 0x420b5c
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420b5e
call edi
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
push 4
lea esi, [edx + esi*4]
mov esi, dword [esi]
mov eax, dword [esi]
jmp 0x4209ae
mov ecx, 0x72
call esi
cmp bl, al
jne 0x420c02
mov al, byte [0x42d03e]
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420b9b
call edi
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x420bda
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420bb4
call edi
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
xor ecx, ecx
mov cl, byte [0x42d03e]
mov esi, ecx
cmp esi, 2
jb 0x420be7
jmp 0x420be5
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420be7
call edi
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
push 5
lea esi, [edx + esi*4]
mov esi, dword [esi]
mov eax, dword [esi]
jmp 0x4209ae
mov ecx, 0x8a
call esi
cmp bl, al
jne 0x420c8b
mov al, byte [0x42d03e]
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420c24
call edi
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x420c63
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420c3d
call edi
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
xor ecx, ecx
mov cl, byte [0x42d03e]
mov esi, ecx
cmp esi, 2
jb 0x420c70
jmp 0x420c6e
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420c70
call edi
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
push 6
lea esi, [edx + esi*4]
mov esi, dword [esi]
mov eax, dword [esi]
jmp 0x4209ae
mov ecx, 0x96
call esi
cmp bl, al
jne 0x420d89
mov ecx, dword [0x42d06c]
test ecx, ecx
je 0x420cf2
cmp word [ecx], 2
jne 0x420cf2
movsx edi, word [0x42d060]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x420cc9
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx ebx, word [0x42d062]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub ebx, edx
cmp ebx, eax
jb 0x420ce8
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0x18]
imul esi, ebx
add esi, edi
jmp 0x420cfc
call edi
mov ecx, dword [0x42d06c]
mov esi, eax
test ecx, ecx
je 0x420d4e
cmp word [ecx], 2
jne 0x420d4e
movsx edi, word [0x42d060]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x420d25
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx ebx, word [0x42d062]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub ebx, edx
cmp ebx, eax
jb 0x420d44
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, ebx
add eax, edi
jmp 0x420d5a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edi, dword [ecx + 0xc]
xor ecx, ecx
push 0x421a72
mov dl, byte [edi + esi]
mov bl, byte [edi + eax]
cmp dl, 0x97
setne cl
xor edx, edx
cmp bl, 0x96
setne dl
and ecx, edx
neg ecx
sbb ecx, ecx
neg ecx
dec ecx
mov dword [ebp - 0x18], ecx
jmp 0x421a71
mov ecx, 0x9a
call esi
cmp bl, al
jne 0x420da0
mov dword [ebp - 0x18], 0
jmp 0x4219f0
mov ecx, 0x99
call esi
cmp bl, al
je 0x420edb
mov ecx, 0xfe
call esi
cmp bl, al
je 0x420edb
mov ecx, 0xff
call esi
cmp bl, al
je 0x420edb
mov ecx, 0x6d
call esi
cmp bl, al
je 0x420edb
mov ecx, 0x9e
call esi
cmp bl, al
jne 0x420e59
mov bl, byte [0x42d03e]
xor ecx, ecx
test bl, bl
sete cl
mov eax, 0xb
lea edx, [ebp - 0x48]
neg ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x68], eax
mov word [ebp - 0x60], cx
lea eax, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x68]
push eax
lea edx, [ebp - 0x58]
push ecx
push edx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0xffffffff
call dword [sym.imp.MSVBVM60.DLL_rtcImmediateIf]
lea eax, [ebp - 0x58]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaBoolVar]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x48]
push ecx
lea eax, [ebp - 0x38]
push edx
lea ecx, [ebp - 0x68]
push eax
push ecx
push 4
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x14
jmp 0x4219f0
mov ecx, 0xa0
call esi
cmp bl, al
jne 0x4219f0
mov bl, byte [0x42d03e]
xor edx, edx
cmp bl, 1
mov eax, 0xb
sete dl
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x38], eax
neg edx
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x60], dx
lea ecx, [ebp - 0x38]
push eax
lea edx, [ebp - 0x68]
push ecx
lea eax, [ebp - 0x58]
push edx
push eax
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0xffffffff
call dword [sym.imp.MSVBVM60.DLL_rtcImmediateIf]
lea ecx, [ebp - 0x58]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaBoolVar]
mov dword [ebp - 0x18], eax
lea edx, [ebp - 0x58]
lea eax, [ebp - 0x48]
push edx
lea ecx, [ebp - 0x38]
push eax
lea edx, [ebp - 0x68]
push ecx
push edx
push 4
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVarList]
add esp, 0x14
jmp 0x4219f0
mov al, byte [0x42d03e]
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420ef2
call edi
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x420f3e
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420f0b
call edi
mov edx, dword [0x42d094]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaNew2]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call ebx
xor ecx, ecx
mov cl, byte [0x42d03e]
mov esi, ecx
cmp esi, 2
jb 0x420f33
call edi
mov edx, dword [0x42d094]
lea esi, [edx + esi*4]
jmp 0x420f5a
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x420f4b
call edi
mov edx, dword [0x42d094]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaNew2]
lea esi, [edx + esi*4]
mov esi, dword [esi]
lea ecx, [ebp - 0x8c]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x1c]
test eax, eax
fnclex
jge 0x420f7e
push 0x1c
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov di, word [ebp + 8]
mov al, byte [0x42d03e]
imul di, di, 2
jo 0x421a89
sub di, word [ebp - 0x8c]
jo 0x421a89
xor edx, edx
mov dword [ebp - 0x14], edi
mov dl, al
mov esi, edx
cmp esi, 2
jb 0x420fb7
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x421003
xor edx, edx
mov dl, al
mov esi, edx
cmp esi, 2
jb 0x420fd4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d094]
lea ecx, [eax + esi*4]
push ecx
push 0x4026c8
call ebx
xor edx, edx
mov dl, byte [0x42d03e]
mov esi, edx
cmp esi, 2
jb 0x420ff9
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d094]
lea esi, [eax + esi*4]
jmp 0x42101d
xor ecx, ecx
mov cl, al
mov esi, ecx
cmp esi, 2
jb 0x421014
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea esi, [edx + esi*4]
mov esi, dword [esi]
lea ecx, [ebp - 0x8c]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x24]
test eax, eax
fnclex
jge 0x421041
push 0x24
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ax, word [ebp + 0xc]
imul ax, ax, 2
movzx dx, byte [0x42d038]
jo 0x421a89
sub ax, word [ebp - 0x8c]
jo 0x421a89
cmp di, dx
mov dword [ebp - 0x20], eax
jge 0x42107a
test di, di
jl 0x42107a
test ax, ax
jl 0x42107a
xor edi, edi
jmp 0x42107f
mov edi, 1
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x4210a9
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x421105
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x4210d5
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d094]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call ebx
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x421124
jmp 0x42111e
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x421124
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
lea esi, [edx + esi*4]
mov esi, dword [esi]
push esi
mov eax, dword [esi]
call dword [eax + 0x1c]
test eax, eax
fnclex
jge 0x421151
push 0x1c
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov al, byte [0x42d03e]
xor dx, dx
mov dl, al
mov cx, 1
sub cx, dx
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x42117b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x4211d6
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x4211a6
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call ebx
movzx cx, byte [0x42d03e]
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x4211f6
jmp 0x4211f0
xor cx, cx
mov dx, 1
mov cl, al
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x4211f6
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [0x42d094]
lea edx, [ebp - 0x90]
push edx
lea esi, [eax + esi*4]
mov esi, dword [esi]
push esi
mov ecx, dword [esi]
call dword [ecx + 0x24]
test eax, eax
fnclex
jge 0x421222
push 0x24
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [ebp - 0x20]
mov si, word [ebp - 0x14]
xor ecx, ecx
cmp ax, word [ebp - 0x90]
sete cl
xor edx, edx
cmp si, word [ebp - 0x8c]
sete dl
and ecx, edx
movzx dx, byte [0x42d039]
neg ecx
sbb ecx, ecx
xor ebx, ebx
neg ecx
cmp ax, dx
setge bl
or ebx, edi
neg ebx
sbb ebx, ebx
neg ebx
or ecx, ebx
jne 0x420d94
mov ecx, dword [0x42d06c]
test ecx, ecx
je 0x4212be
cmp word [ecx], 2
jne 0x4212be
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
movsx ebx, si
sub ebx, edx
cmp ebx, eax
jb 0x421296
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x20]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4212ae
call edi
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, ebx
mov dword [ebp - 0xe4], eax
jmp 0x4212d6
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov dword [ebp - 0xe4], eax
test ecx, ecx
je 0x421320
cmp word [ecx], 2
jne 0x421320
movsx ebx, word [ebp - 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x4212f8
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x20]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x421310
call edi
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, ebx
mov dword [ebp - 0xe8], eax
jmp 0x42132e
call edi
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xe8], eax
test ecx, ecx
je 0x421378
cmp word [ecx], 2
jne 0x421378
movsx ebx, word [ebp - 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x421350
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x20]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x421368
call edi
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, ebx
mov dword [ebp - 0xec], eax
jmp 0x421386
call edi
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xec], eax
test ecx, ecx
je 0x4213d0
cmp word [ecx], 2
jne 0x4213d0
movsx ebx, word [ebp - 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x4213a8
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x20]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4213c0
call edi
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, ebx
mov dword [ebp - 0xf0], eax
jmp 0x4213de
call edi
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xf0], eax
test ecx, ecx
je 0x421428
cmp word [ecx], 2
jne 0x421428
movsx ebx, word [ebp - 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x421400
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x20]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x421418
call edi
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, ebx
mov dword [ebp - 0xf4], eax
jmp 0x421436
call edi
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xf4], eax
test ecx, ecx
je 0x421480
cmp word [ecx], 2
jne 0x421480
movsx ebx, word [ebp - 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x421458
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x20]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x421470
call edi
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, ebx
mov dword [ebp - 0xf8], eax
jmp 0x42148e
call edi
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xf8], eax
test ecx, ecx
je 0x4214d2
cmp word [ecx], 2
jne 0x4214d2
movsx ebx, word [ebp - 0x14]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x4214b0
call edi
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x20]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4214c8
call edi
mov ecx, dword [0x42d06c]
mov edi, dword [ecx + 0x18]
imul edi, esi
add edi, ebx
jmp 0x4214e0
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edi, eax
mov esi, dword [ecx + 0xc]
mov edx, dword [ebp - 0xe8]
xor eax, eax
mov bl, byte [esi + edx]
cmp bl, 0x65
mov ebx, dword [ebp - 0xe4]
setne al
xor edx, edx
cmp byte [esi + ebx], dl
mov ebx, dword [ebp - 0xec]
setne dl
and eax, edx
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp byte [esi + ebx], 0x9a
mov ebx, dword [ebp - 0xf0]
setne dl
and eax, edx
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp byte [ebx + esi], 0x9b
mov ebx, dword [ebp - 0xf4]
setne dl
and eax, edx
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp byte [ebx + esi], 0x9d
mov ebx, dword [ebp - 0xf8]
setne dl
and eax, edx
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp byte [ebx + esi], 0x96
mov bl, byte [edi + esi]
setne dl
and eax, edx
neg eax
sbb eax, eax
xor edx, edx
neg eax
cmp bl, 0x61
setne dl
test edx, eax
jne 0x421a3b
test ecx, ecx
je 0x4215c9
cmp word [ecx], 2
jne 0x4215c9
movsx edi, word [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
sub edi, edx
cmp edi, eax
jb 0x4215a1
call ebx
mov ecx, dword [0x42d06c]
movsx esi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4215b9
call ebx
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
mov dword [ebp - 0xfc], eax
jmp 0x4215dd
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
call ebx
mov ecx, dword [0x42d06c]
mov dword [ebp - 0xfc], eax
test ecx, ecx
je 0x4217c8
cmp word [ecx], 2
jne 0x4217c8
mov al, byte [0x42d03e]
xor cx, cx
mov cl, al
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x421615
call ebx
mov al, byte [0x42d03e]
mov ecx, dword [0x42d094]
cmp dword [ecx + esi*4], 0
jne 0x421671
xor dx, dx
mov dl, al
mov ax, 1
sub ax, dx
jo 0x421a89
movsx esi, ax
cmp esi, 2
jb 0x42163d
call ebx
mov ecx, dword [0x42d094]
lea edx, [ecx + esi*4]
push edx
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx ax, byte [0x42d03e]
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x42168c
jmp 0x42168a
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x42168c
call ebx
mov edx, dword [0x42d094]
lea ecx, [ebp - 0x8c]
push ecx
lea eax, [edx + esi*4]
mov esi, dword [edx + esi*4]
push esi
mov eax, dword [esi]
call dword [eax + 0x1c]
test eax, eax
fnclex
jge 0x4216ba
push 0x1c
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x42d06c]
movsx edi, word [ebp - 0x8c]
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
sub edi, edx
cmp edi, ecx
jb 0x4216d4
call ebx
mov al, byte [0x42d03e]
xor dx, dx
mov dl, al
mov cx, 1
sub cx, dx
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x4216fa
call ebx
mov al, byte [0x42d03e]
mov edx, dword [0x42d094]
cmp dword [edx + esi*4], 0
jne 0x421755
movzx ax, al
mov cx, 1
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x421721
call ebx
mov edx, dword [0x42d094]
lea eax, [edx + esi*4]
push eax
push 0x4026c8
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
movzx cx, byte [0x42d03e]
mov dx, 1
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x421771
jmp 0x42176f
xor cx, cx
mov dx, 1
mov cl, al
sub dx, cx
jo 0x421a89
movsx esi, dx
cmp esi, 2
jb 0x421771
call ebx
mov eax, dword [0x42d094]
lea edx, [ebp - 0x90]
push edx
lea eax, [eax + esi*4]
mov esi, dword [eax]
push esi
mov ecx, dword [esi]
call dword [ecx + 0x24]
test eax, eax
fnclex
jge 0x42179d
push 0x24
push 0x4060c8
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp - 0x90]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4217be
call ebx
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
jmp 0x4217d0
call ebx
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0xc]
mov edx, dword [ebp - 0xfc]
xor ecx, ecx
cmp byte [esi + edx], 0x6d
setne cl
xor edx, edx
cmp byte [esi + eax], 0x89
setne dl
or ecx, edx
jne 0x42181e
movzx ax, byte [0x42d03e]
mov cx, 1
mov dword [ebp - 0x18], 0
sub cx, ax
jo 0x421a89
movsx esi, cx
cmp esi, 2
jb 0x41ff56
call ebx
jmp 0x41ff56
mov dword [ebp - 0x18], 0xffffffff
push 0x421a72
jmp 0x421a71
test ecx, ecx
mov dword [ebp - 0x18], 0
je 0x421882
cmp word [ecx], 2
jne 0x421882
movsx ebx, word [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub ebx, edx
cmp ebx, eax
jb 0x42185c
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
movsx esi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x421878
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edi, dword [ecx + 0x18]
imul edi, esi
add edi, ebx
jmp 0x421890
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x42d06c]
mov edi, eax
test ecx, ecx
je 0x4218e6
cmp word [ecx], 2
jne 0x4218e6
movsx eax, word [ebp + 8]
mov esi, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x18]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
sub eax, esi
cmp eax, edx
mov dword [ebp - 0xa4], eax
jb 0x4218be
call ebx
mov ecx, dword [0x42d06c]
movsx esi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4218d6
call ebx
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
mov edx, dword [ebp - 0xa4]
imul eax, esi
add eax, edx
jmp 0x4218f4
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
call ebx
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0xc]
xor edx, edx
cmp byte [esi + eax], 0x96
setne dl
xor eax, eax
cmp byte [esi + edi], 0x98
setne al
test eax, edx
jne 0x421914
mov dword [ebp - 0x18], 0xffffffff
test ecx, ecx
je 0x42196a
cmp word [ecx], 2
jne 0x42196a
movsx eax, word [0x42d060]
mov esi, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x18]
sub eax, esi
cmp eax, edx
mov dword [ebp - 0x9c], eax
jb 0x42193f
call ebx
mov ecx, dword [0x42d06c]
movsx edi, word [0x42d062]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub edi, edx
cmp edi, eax
jb 0x42195a
call ebx
mov ecx, dword [0x42d06c]
mov esi, dword [ecx + 0x18]
mov eax, dword [ebp - 0x9c]
imul esi, edi
add esi, eax
jmp 0x421974
call ebx
mov ecx, dword [0x42d06c]
mov esi, eax
test ecx, ecx
je 0x4219c4
cmp word [ecx], 2
jne 0x4219c4
movsx eax, word [ebp + 8]
mov edi, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x18]
sub eax, edi
cmp eax, edx
mov dword [ebp - 0xa4], eax
jb 0x42199c
call ebx
mov ecx, dword [0x42d06c]
movsx edi, word [ebp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub edi, edx
cmp edi, eax
jb 0x4219b4
call ebx
mov ecx, dword [0x42d06c]
mov eax, dword [ecx + 0x18]
mov edx, dword [ebp - 0xa4]
imul eax, edi
add eax, edx
jmp 0x4219cc
call ebx
mov ecx, dword [0x42d06c]
mov ecx, dword [ecx + 0xc]
xor edx, edx
mov bl, byte [ecx + eax]
cmp bl, 0x97
mov bl, byte [ecx + esi]
setne dl
xor eax, eax
cmp bl, 0x98
setne al
or edx, eax
jne 0x4219f0
mov dword [ebp - 0x18], 0xffffffff
movzx cx, byte [0x42d038]
mov ax, word [ebp + 8]
sub cx, 1
jo 0x421a89
cmp ax, cx
jg 0x421a1e
test ax, ax
jl 0x421a1e
cmp word [ebp + 0xc], 0
jl 0x421a1e
mov eax, 1
jmp 0x421a20
xor eax, eax
movzx dx, byte [0x42d039]
sub dx, 1
jo 0x421a89
xor ecx, ecx
cmp word [ebp + 0xc], dx
setle cl
test eax, ecx
jne 0x421a42
mov dword [ebp - 0x18], 0
push 0x421a72
jmp 0x421a71
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop