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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x4032c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x402888
mov eax, dword [0x48415c]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], ebx
jne 0x451228
push 0x48415c
push 0x403fe4
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov edi, dword [sym.imp.msvbvm60.dll___vbaStrCopy]
mov esi, dword [0x48415c]
mov edx, 0x410818
lea ecx, [ebp - 0x2c]
call edi
mov edx, 0x40ece8
lea ecx, [ebp - 0x28]
call edi
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x28]
push ecx
push esi
call dword [eax + 0x20]
fnclex
cmp eax, ebx
jge 0x45126f
push 0x20
push 0x40dfe0
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov edx, dword [ebp - 0x30]
mov ebx, dword [sym.imp.msvbvm60.dll___vbaI4Str]
push edx
call ebx
mov dword [0x484060], eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x28]
push edx
push 3
call dword [sym.imp.msvbvm60.dll___vbaFreeStrList]
mov eax, dword [0x48415c]
add esp, 0x10
test eax, eax
jne 0x4512b0
push 0x48415c
push 0x403fe4
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov esi, dword [0x48415c]
mov edx, 0x41083c
lea ecx, [ebp - 0x2c]
call edi
mov edx, 0x40ece8
lea ecx, [ebp - 0x28]
call edi
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x28]
push ecx
push esi
call dword [eax + 0x20]
fnclex
test eax, eax
jge 0x4512f1
push 0x20
push 0x40dfe0
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov edx, dword [ebp - 0x30]
push edx
call ebx
mov dword [0x484058], eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x28]
push edx
push 3
call dword [sym.imp.msvbvm60.dll___vbaFreeStrList]
mov eax, dword [0x484428]
mov ecx, dword [eax + 0x14]
add eax, 0x14
add esp, 0x10
test ecx, ecx
jne 0x451337
push eax
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov ecx, dword [0x484428]
lea eax, [ecx + 0x14]
mov esi, dword [eax]
mov eax, dword [0x484160]
mov ebx, dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edi, dword [esi]
lea edx, [ebp - 0x38]
push edx
push eax
push 0x410854
call ebx
mov edx, eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.msvbvm60.dll___vbaStrMove]
push eax
push esi
call dword [edi + 0x44]
fnclex
test eax, eax
jge 0x451377
push 0x44
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov edi, dword [sym.imp.msvbvm60.dll___vbaFreeStr]
lea ecx, [ebp - 0x28]
call edi
mov ecx, dword [0x484428]
lea eax, [ecx + 0x18]
cmp dword [eax], 0
jne 0x4513a5
push eax
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov edx, dword [0x484428]
lea eax, [edx + 0x18]
mov esi, dword [eax]
mov ecx, dword [0x484160]
mov edx, dword [esi]
lea eax, [ebp - 0x38]
push eax
push ecx
push 0x41086c
mov dword [ebp - 0x78], edx
call ebx
mov edx, eax
lea ecx, [ebp - 0x28]
call dword [sym.imp.msvbvm60.dll___vbaStrMove]
mov edx, dword [ebp - 0x78]
push eax
push esi
call dword [edx + 0x44]
fnclex
test eax, eax
jge 0x4513e6
push 0x44
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
lea ecx, [ebp - 0x28]
call edi
mov eax, dword [0x484058]
mov esi, dword [sym.imp.msvbvm60.dll___vbaRedim]
push 0
add eax, 3
jo 0x452326
push eax
push 0
push 3
push 2
push 0x40a894
push 0x484050
push 4
push 0x440
call esi
mov ecx, dword [0x484058]
push 0
add ecx, 3
jo 0x452326
push ecx
push 1
push 3
push 0x484054
push 4
push 0x80
call esi
mov eax, dword [0x484058]
add esp, 0x40
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x1c], 0
mov edi, dword [ebp - 0x1c]
cmp edi, dword [ebp - 0x68]
mov ebx, dword [sym.imp.msvbvm60.dll___vbaStrMove]
jg 0x4522c2
mov eax, dword [0x48415c]
test eax, eax
jne 0x45147c
push 0x48415c
push 0x403fe4
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov esi, dword [0x48415c]
push 0x410888
push edi
call dword [sym.imp.msvbvm60.dll___vbaStrI4]
mov edx, eax
lea ecx, [ebp - 0x28]
call ebx
push eax
call dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x30]
call ebx
mov edx, 0x40ece8
lea ecx, [ebp - 0x2c]
call dword [sym.imp.msvbvm60.dll___vbaStrCopy]
mov edx, dword [esi]
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x30]
push ecx
lea eax, [ebp - 0x2c]
push eax
push esi
call dword [edx + 0x20]
fnclex
test eax, eax
jge 0x4514d8
push 0x20
push 0x40dfe0
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov eax, dword [0x484054]
test eax, eax
je 0x451500
cmp word [eax], 1
jne 0x451500
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov esi, edi
sub esi, edx
cmp esi, ecx
jb 0x4514fb
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
shl esi, 2
jmp 0x451508
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov esi, eax
mov ecx, dword [ebp - 0x34]
push ecx
call dword [sym.imp.msvbvm60.dll___vbaI4Str]
mov edx, dword [0x484054]
mov ecx, dword [edx + 0xc]
mov dword [ecx + esi], eax
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x28]
push edx
push 4
call dword [sym.imp.msvbvm60.dll___vbaFreeStrList]
mov ecx, dword [0x484054]
add esp, 0x14
test ecx, ecx
je 0x45156c
cmp word [ecx], 1
jne 0x45156c
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x451563
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484054]
lea eax, [esi*4]
jmp 0x451578
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484054]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + eax], 2
jne 0x45176c
mov ecx, dword [0x484050]
test ecx, ecx
je 0x4515d4
cmp word [ecx], 2
jne 0x4515d4
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
mov esi, edi
sub esi, edx
cmp esi, eax
jb 0x4515af
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg edi
cmp edi, eax
jb 0x4515c7
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, edi
add eax, esi
shl eax, 2
jmp 0x4515e0
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax], 0
jne 0x451683
test ecx, ecx
je 0x45163d
cmp word [ecx], 2
jne 0x45163d
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub esi, edx
cmp esi, eax
jb 0x451612
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg edi
cmp edi, eax
jb 0x45162a
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, edi
mov edi, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
add eax, esi
shl eax, 2
jmp 0x45164b
mov edi, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
call edi
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x45167f
cmp word [ecx], 2
jne 0x45167f
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub esi, edx
cmp esi, eax
jb 0x4516a8
call edi
jmp 0x4516a2
call edi
jmp 0x4516d3
test ecx, ecx
je 0x4516cd
cmp word [ecx], 2
jne 0x4516cd
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub esi, edx
cmp esi, eax
jb 0x4516a8
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg edi
cmp edi, eax
jb 0x4516c0
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, edi
add eax, esi
shl eax, 2
jmp 0x4516d9
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + eax]
mov edi, dword [esi]
add ecx, eax
mov eax, dword [0x484160]
lea edx, [ebp - 0x38]
push edx
push eax
push 0x410898
call dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x28]
call ebx
mov ecx, dword [ebp - 0x1c]
push eax
push ecx
call dword [sym.imp.msvbvm60.dll___vbaStrI4]
mov edx, eax
lea ecx, [ebp - 0x2c]
call ebx
push eax
call dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x30]
call ebx
push eax
push 0x40fc58
call dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x34]
call ebx
push eax
push esi
call dword [edi + 0x44]
fnclex
test eax, eax
jge 0x45174c
push 0x44
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
lea edx, [ebp - 0x34]
push edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x28]
push edx
push 4
call dword [sym.imp.msvbvm60.dll___vbaFreeStrList]
add esp, 0x14
jmp 0x4522a9
mov esi, dword [ebp - 0x24]
test esi, esi
jne 0x451785
lea eax, [ebp - 0x24]
push eax
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov esi, dword [ebp - 0x24]
mov edx, dword [0x484160]
mov edi, dword [esi]
lea ecx, [ebp - 0x38]
push ecx
push edx
push 0x410898
call dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x28]
call ebx
push eax
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.msvbvm60.dll___vbaStrI4]
mov edx, eax
lea ecx, [ebp - 0x2c]
call ebx
push eax
call dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x30]
call ebx
push eax
push 0x40fc58
call dword [sym.imp.msvbvm60.dll___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x34]
call ebx
push eax
push esi
call dword [edi + 0x44]
fnclex
test eax, eax
jge 0x4517f5
mov ebx, dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
push 0x44
push 0x40a894
push esi
push eax
call ebx
jmp 0x4517fb
mov ebx, dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x28]
push ecx
push 4
call dword [sym.imp.msvbvm60.dll___vbaFreeStrList]
mov ecx, dword [0x484054]
add esp, 0x14
test ecx, ecx
je 0x45184c
cmp word [ecx], 1
jne 0x45184c
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov edi, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
sub esi, edx
cmp esi, eax
jb 0x451843
call edi
mov ecx, dword [0x484054]
lea eax, [esi*4]
jmp 0x45185a
mov edi, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
call edi
mov ecx, dword [0x484054]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax], 0
jne 0x4518ac
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x45187c
lea eax, [ebp - 0x24]
push eax
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
mov esi, eax
call dword [ecx + 0x28]
fnclex
test eax, eax
jge 0x451899
push 0x28
push 0x40a894
push esi
push eax
call ebx
mov ax, word [ebp - 0x38]
cwd
and dx, 3
add ax, dx
sar ax, 2
jmp 0x451929
test ecx, ecx
je 0x4518d6
cmp word [ecx], 1
jne 0x4518d6
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4518cd
call edi
mov ecx, dword [0x484054]
lea eax, [esi*4]
jmp 0x4518de
call edi
mov ecx, dword [0x484054]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + eax], 1
jne 0x45192f
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x451900
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
mov esi, eax
call dword [ecx + 0x28]
fnclex
test eax, eax
jge 0x45191d
push 0x28
push 0x40a894
push esi
push eax
call ebx
mov ax, word [ebp - 0x38]
cwd
sub ax, dx
sar ax, 1
movsx eax, ax
mov dword [ebp - 0x18], eax
xor ebx, ebx
mov eax, 3
cmp ebx, eax
jg 0x451b30
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x451957
lea ecx, [ebp - 0x24]
push ecx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
lea ecx, [ebp - 0x38]
push ecx
push eax
mov esi, eax
call dword [edx + 0x24]
fnclex
test eax, eax
jge 0x451978
push 0x24
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x4519ca
cmp word [ecx], 2
jne 0x4519ca
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x4519a3
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, ebx
sub esi, edx
cmp esi, eax
jb 0x4519bd
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x4519d6
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax], 0
jne 0x451a7b
test ecx, ecx
je 0x451a35
cmp word [ecx], 2
jne 0x451a35
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451a08
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, ebx
sub esi, edx
cmp esi, eax
jb 0x451a22
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
mov esi, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
add eax, edi
shl eax, 2
jmp 0x451a43
mov esi, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
call esi
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x451a77
cmp word [ecx], 2
jne 0x451a77
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451aa0
call esi
jmp 0x451a9a
call esi
jmp 0x451acd
test ecx, ecx
je 0x451ac7
cmp word [ecx], 2
jne 0x451ac7
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451aa0
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, ebx
sub esi, edx
cmp esi, eax
jb 0x451aba
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x451ad3
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + eax]
mov edi, dword [esi]
add ecx, eax
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x3c]
add ecx, 1
push edx
jo 0x452326
call dword [sym.imp.msvbvm60.dll___vbaI2I4]
push eax
mov ax, word [ebp - 0x38]
add ax, 1
jo 0x452326
push eax
push esi
call dword [edi + 0x40]
fnclex
test eax, eax
jge 0x451b1c
push 0x40
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov eax, 1
add eax, ebx
jo 0x452326
mov ebx, eax
jmp 0x451931
mov ecx, dword [0x484050]
test ecx, ecx
je 0x451b82
cmp word [ecx], 2
jne 0x451b82
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub esi, edx
cmp esi, eax
jb 0x451b5b
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov ebx, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
neg edi
cmp edi, eax
jb 0x451b75
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, edi
add eax, esi
shl eax, 2
jmp 0x451b94
call dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov ecx, dword [0x484050]
mov ebx, dword [sym.imp.msvbvm60.dll___vbaGenerateBoundsError]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax], 0
jne 0x451c19
test ecx, ecx
je 0x451bdf
cmp word [ecx], 2
jne 0x451bdf
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub esi, edx
cmp esi, eax
jb 0x451bbe
call ebx
mov ecx, dword [0x484050]
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg edi
cmp edi, eax
jb 0x451bd2
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, edi
add eax, esi
shl eax, 2
jmp 0x451be7
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x451c5b
cmp word [ecx], 2
jne 0x451c5b
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub esi, edx
cmp esi, eax
jb 0x451c3a
jmp 0x451c32
test ecx, ecx
je 0x451c5b
cmp word [ecx], 2
jne 0x451c5b
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub esi, edx
cmp esi, eax
jb 0x451c3a
call ebx
mov ecx, dword [0x484050]
mov edi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg edi
cmp edi, eax
jb 0x451c4e
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, edi
add eax, esi
shl eax, 2
jmp 0x451c63
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
mov esi, dword [ecx + eax]
add ecx, eax
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x451c81
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [esi]
push 0
push 0
lea ecx, [ebp - 0x24]
push ecx
push esi
call dword [eax + 0x58]
fnclex
test eax, eax
jge 0x451ca4
push 0x58
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x451cf1
cmp word [ecx], 2
jne 0x451cf1
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451ccb
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 1
sub esi, edx
cmp esi, eax
jb 0x451ce4
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x451cf9
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax], 0
jne 0x451d87
test ecx, ecx
je 0x451d4d
cmp word [ecx], 2
jne 0x451d4d
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451d27
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 1
sub esi, edx
cmp esi, eax
jb 0x451d40
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x451d55
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x451dce
cmp word [ecx], 2
jne 0x451dce
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451da8
jmp 0x451da0
test ecx, ecx
je 0x451dce
cmp word [ecx], 2
jne 0x451dce
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451da8
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 1
sub esi, edx
cmp esi, eax
jb 0x451dc1
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x451dd6
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ecx + eax]
add ecx, eax
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x451df7
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
mov esi, eax
call dword [ecx + 0x24]
fnclex
test eax, eax
jge 0x451e18
push 0x24
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
movsx eax, word [ebp - 0x38]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
imul ecx, ecx, 2
jo 0x452326
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x24]
test ecx, ecx
mov dword [ebp - 0x40], 0
jne 0x451e50
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edi]
lea edx, [ebp - 0x48]
push edx
lea edx, [ebp - 0x44]
push edx
lea edx, [ebp - 0x40]
push edx
lea edx, [ebp - 0x18]
push edx
neg eax
push eax
push 0
lea eax, [ebp - 0x24]
push eax
push edi
call dword [ecx + 0x54]
fnclex
test eax, eax
jge 0x451e84
push 0x54
push 0x40a894
push edi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov ecx, dword [0x484054]
test ecx, ecx
je 0x451eb4
cmp word [ecx], 1
jne 0x451eb4
mov esi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x451eab
call ebx
mov ecx, dword [0x484054]
lea eax, [esi*4]
jmp 0x451ebc
call ebx
mov ecx, dword [0x484054]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + eax], 0
jne 0x4522a9
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x484050]
imul edx, edx, 2
jo 0x452326
test ecx, ecx
mov dword [ebp - 0x14], edx
je 0x451f25
cmp word [ecx], 2
jne 0x451f25
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451eff
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 2
sub esi, edx
cmp esi, eax
jb 0x451f18
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x451f2d
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax], 0
jne 0x451fbb
test ecx, ecx
je 0x451f81
cmp word [ecx], 2
jne 0x451f81
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451f5b
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 2
sub esi, edx
cmp esi, eax
jb 0x451f74
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x451f89
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x452002
cmp word [ecx], 2
jne 0x452002
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451fdc
jmp 0x451fd4
test ecx, ecx
je 0x452002
cmp word [ecx], 2
jne 0x452002
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x451fdc
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 2
sub esi, edx
cmp esi, eax
jb 0x451ff5
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x45200a
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ecx + eax]
add ecx, eax
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x45202b
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
mov esi, eax
call dword [ecx + 0x24]
fnclex
test eax, eax
jge 0x45204c
push 0x24
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
movsx eax, word [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
add ecx, eax
jo 0x452326
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x24]
test ecx, ecx
mov dword [ebp - 0x40], 0
jne 0x452084
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi]
lea edx, [ebp - 0x48]
push edx
lea edx, [ebp - 0x44]
push edx
lea edx, [ebp - 0x40]
push edx
lea edx, [ebp - 0x14]
push edx
neg eax
push eax
push 0
lea eax, [ebp - 0x24]
push eax
push edi
call dword [ecx + 0x54]
fnclex
test eax, eax
jge 0x4520b8
push 0x54
push 0x40a894
push edi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
add ecx, edx
jo 0x452326
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x484050]
test ecx, ecx
je 0x452116
cmp word [ecx], 2
jne 0x452116
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x4520f0
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 3
sub esi, edx
cmp esi, eax
jb 0x452109
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x45211e
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0xc]
cmp dword [edx + eax], 0
jne 0x4521ac
test ecx, ecx
je 0x452172
cmp word [ecx], 2
jne 0x452172
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x45214c
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 3
sub esi, edx
cmp esi, eax
jb 0x452165
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x45217a
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
add ecx, eax
push ecx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov ecx, dword [0x484050]
test ecx, ecx
je 0x4521f3
cmp word [ecx], 2
jne 0x4521f3
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x4521cd
jmp 0x4521c5
test ecx, ecx
je 0x4521f3
cmp word [ecx], 2
jne 0x4521f3
mov edi, dword [ebp - 0x1c]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ecx + 0x18]
sub edi, edx
cmp edi, eax
jb 0x4521cd
call ebx
mov ecx, dword [0x484050]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov esi, 3
sub esi, edx
cmp esi, eax
jb 0x4521e6
call ebx
mov ecx, dword [0x484050]
mov eax, dword [ecx + 0x18]
imul eax, esi
add eax, edi
shl eax, 2
jmp 0x4521fb
call ebx
mov ecx, dword [0x484050]
mov ecx, dword [ecx + 0xc]
mov edi, dword [ecx + eax]
add ecx, eax
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x45221c
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
lea edx, [ebp - 0x38]
push edx
push eax
mov esi, eax
call dword [ecx + 0x24]
fnclex
test eax, eax
jge 0x45223d
push 0x24
push 0x40a894
push esi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
movsx eax, word [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
add ecx, eax
jo 0x452326
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 0x24]
test ecx, ecx
mov dword [ebp - 0x40], 0
jne 0x452275
lea edx, [ebp - 0x24]
push edx
push 0x406810
call dword [sym.imp.msvbvm60.dll___vbaNew2]
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi]
lea edx, [ebp - 0x48]
push edx
lea edx, [ebp - 0x44]
push edx
lea edx, [ebp - 0x40]
push edx
lea edx, [ebp - 0x14]
push edx
neg eax
push eax
push 0
lea eax, [ebp - 0x24]
push eax
push edi
call dword [ecx + 0x54]
fnclex
test eax, eax
jge 0x4522a9
push 0x54
push 0x40a894
push edi
push eax
call dword [sym.imp.msvbvm60.dll___vbaHresultCheckObj]
mov ecx, dword [ebp - 0x1c]
mov eax, 1
add eax, ecx
jo 0x452326
mov dword [ebp - 0x1c], eax
mov eax, dword [0x484058]
jmp 0x451451
push 0
add eax, 3
push 0x4108a0
jo 0x452326
push 0x484164
mov dword [0x484058], eax
call dword [sym.imp.msvbvm60.dll___vbaObjVar]
push eax
call dword [sym.imp.msvbvm60.dll___vbaLateMemCall]
add esp, 0xc
push 0x452315
jmp 0x45230b
lea ecx, [ebp - 0x24]
call dword [sym.imp.msvbvm60.dll___vbaFreeObj]
ret
call dword [sym.imp.msvbvm60.dll___vbaErrorOverflow]
nop
nop
nop
nop