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

Disassembly:
jmp dword [sym.imp.MSVBVM60.DLL___vbaFPException]
push ebp
mov ebp, esp
sub esp, 8
push 0x401686
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x4014b0
mov eax, dword [0x503110]
lea ecx, [ebp - 0x70]
xor esi, esi
push eax
push ecx
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x30], 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
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x70]
cmp ecx, esi
je 0x4fa76f
cmp word [ecx], 1
jne 0x4fa76f
mov esi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
neg esi
cmp esi, eax
jb 0x4fa767
call ebx
mov ecx, dword [ebp - 0x70]
lea eax, [esi + esi*2]
shl eax, 4
jmp 0x4fa77e
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x70]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edi, dword [ecx + 0xc]
add edi, eax
mov eax, dword [0x50310c]
test eax, eax
je 0x4fa7a8
cmp word [eax], 1
jne 0x4fa7a8
mov esi, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
neg esi
cmp esi, ecx
jb 0x4fa7a0
call ebx
lea esi, [esi + esi*2]
shl esi, 4
jmp 0x4fa7ac
call ebx
mov esi, eax
mov ecx, dword [0x503110]
test ecx, ecx
je 0x4fa7dc
cmp word [ecx], 1
jne 0x4fa7dc
mov ebx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
neg ebx
cmp ebx, eax
jb 0x4fa7d4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x503110]
lea eax, [ebx + ebx*2]
shl eax, 4
jmp 0x4fa7e4
call ebx
mov ecx, dword [0x503110]
mov edx, dword [0x50310c]
mov ecx, dword [ecx + 0xc]
add ecx, eax
mov edx, dword [edx + 0xc]
add edx, esi
push edx
push ecx
push 0x409a3c
call dword [sym.imp.MSVBVM60.DLL___vbaRecAssign]
mov dx, word [0x503118]
mov word [edi + 2], 0x1c5
add dx, 2
jo 0x4fb020
mov word [edi], dx
call fcn.00409c2c
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov esi, eax
call ebx
lea eax, [ebp - 0x40]
mov dword [ebp - 0x38], esi
push eax
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x40]
call esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x38], 0x80020004
push ecx
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012c4]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fadd dword [0x4012c0]
cmp dword [section..data], 0
jne 0x4fa88e
fdiv dword [0x4012b8]
jmp 0x4fa899
push dword [0x4012b8]
call sub.MSVBVM60.DLL__adj_fdiv_m32
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x20], ax
call esi
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x38], 0x80020004
push ecx
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012c4]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fadd dword [0x4012c0]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x22], ax
call esi
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x38], 0x80020004
push ecx
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012bc]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fsub dword [0x4012b8]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x24], ax
call esi
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x38], 0x80020004
push ecx
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012bc]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fsub dword [0x4012b8]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x26], ax
call esi
lea edx, [ebp - 0x70]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov eax, dword [0x503110]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov dword [ebp - 0x84], eax
mov eax, 1
mov ecx, dword [ebp - 0x84]
mov dword [0x503128], eax
cmp eax, ecx
jg 0x4fafd5
mov ecx, dword [0x503110]
lea edx, [ebp - 0x74]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x74]
test ecx, ecx
je 0x4faa82
cmp word [ecx], 1
jne 0x4faa82
mov edi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub edi, edx
cmp edi, eax
jb 0x4faa7a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x74]
lea eax, [edi + edi*2]
shl eax, 4
jmp 0x4faa8b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x74]
mov edi, dword [ecx + 0xc]
add edi, eax
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0x40]
push ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
lea edx, [ebp - 0x40]
mov dword [ebp - 0x38], 0x80020004
push edx
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4014a8]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fstp dword [ebp - 0x58]
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x60], 4
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea ecx, [ebp - 0x40]
call esi
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov eax, dword [ebp - 0x64]
lea ecx, [ebp - 0x40]
push ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
mov edx, dword [0x50310c]
mov dword [ebp - 0x38], 0x80020004
push edx
push 1
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x40]
fild dword [ebp - 0x8c]
push eax
fstp qword [ebp - 0x94]
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul qword [ebp - 0x94]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fadd qword [0x4014a0]
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x60], 5
fstp qword [ebp - 0x58]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaVarMove]
lea ecx, [ebp - 0x40]
call esi
mov eax, dword [0x50310c]
test eax, eax
je 0x4fabde
cmp word [eax], 1
jne 0x4fabde
lea ecx, [ebp - 0x30]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaI4Var]
mov ecx, dword [0x50310c]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov edx, dword [ecx + 0x10]
cmp eax, edx
mov dword [ebp - 0x68], eax
jb 0x4fabd6
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [ebp - 0x68]
lea eax, [eax + eax*2]
shl eax, 4
jmp 0x4fabe4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x50310c]
mov ecx, dword [edx + 0xc]
mov dx, word [ecx + eax + 0xc]
lea eax, [ebp - 0x20]
lea ecx, [ebp - 0x50]
push eax
push ecx
mov word [ebp - 0x48], dx
mov dword [ebp - 0x50], 0x8002
call dword [sym.imp.MSVBVM60.DLL___vbaVarTstLe]
test ax, ax
je 0x4fafb8
mov eax, dword [0x50310c]
test eax, eax
je 0x4fac53
cmp word [eax], 1
jne 0x4fac53
lea edx, [ebp - 0x30]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaI4Var]
mov ecx, dword [0x50310c]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov edx, dword [ecx + 0x10]
cmp eax, edx
mov dword [ebp - 0x6c], eax
jb 0x4fac4b
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [ebp - 0x6c]
lea eax, [eax + eax*2]
shl eax, 4
jmp 0x4fac59
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x503110]
mov dword [ebp - 0x98], eax
test ecx, ecx
je 0x4fac94
cmp word [ecx], 1
jne 0x4fac94
mov eax, dword [0x503128]
mov edx, dword [ecx + 0x14]
sub eax, edx
mov edx, dword [ecx + 0x10]
cmp eax, edx
mov dword [ebp - 0x68], eax
jb 0x4fac8c
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov eax, dword [ebp - 0x68]
lea eax, [eax + eax*2]
shl eax, 4
jmp 0x4fac9a
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [0x50310c]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x98]
add edx, ecx
mov ecx, dword [0x503110]
push edx
mov edx, dword [ecx + 0xc]
add edx, eax
push edx
push 0x409a3c
call dword [sym.imp.MSVBVM60.DLL___vbaRecAssign]
xor eax, eax
mov dword [ebp - 0x38], 0x80020004
mov dword [ebp - 0x40], 0xa
mov al, byte [edi + 0x2a]
cmp eax, 2
mov dword [ebp - 0x68], eax
jb 0x4face4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x401338]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
mov ecx, dword [0x50306c]
mov edx, dword [ebp - 0x68]
movsx eax, word [ecx + edx*2]
mov dword [ebp - 0x9c], eax
fild dword [ebp - 0x9c]
fstp qword [ebp - 0xa4]
fld qword [ebp - 0xa4]
cmp dword [section..data], 0
jne 0x4fad3a
fdiv qword [0x4012d0]
jmp 0x4fad4b
push dword [0x4012d4]
push dword [0x4012d0]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fsubp st(1)
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi], ax
call esi
cmp word [edi + 0x1c], 0xffff
mov word [edi + 2], 0x1c0
jne 0x4fafb8
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
lea eax, [ebp - 0x40]
mov dword [ebp - 0x38], 0x80020004
push eax
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012c4]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fadd dword [0x4012c0]
cmp dword [section..data], 0
jne 0x4fade1
fdiv dword [0x4012b8]
jmp 0x4fadec
push dword [0x4012b8]
call sub.MSVBVM60.DLL__adj_fdiv_m32
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x20], ax
call esi
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
lea eax, [ebp - 0x40]
mov dword [ebp - 0x38], 0x80020004
push eax
mov dword [ebp - 0x40], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012c4]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fadd dword [0x4012c0]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x22], ax
call esi
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov ecx, dword [ebp - 0x64]
lea edx, [ebp - 0x40]
push edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
cmp word [edi + 0x28], 0xffff
mov dword [ebp - 0x38], 0x80020004
mov dword [ebp - 0x40], 0xa
jne 0x4faedb
lea eax, [ebp - 0x40]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012bc]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fsub dword [0x4012b8]
jmp 0x4faf01
lea ecx, [ebp - 0x40]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012b4]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fsub dword [0x4012b0]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x24], ax
call esi
call fcn.00409c2c
mov dword [ebp - 0x64], eax
call ebx
mov edx, dword [ebp - 0x64]
lea eax, [ebp - 0x40]
push eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x40], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x40]
call esi
cmp word [edi + 0x28], 0xffff
mov dword [ebp - 0x38], 0x80020004
mov dword [ebp - 0x40], 0xa
jne 0x4faf7d
lea ecx, [ebp - 0x40]
push ecx
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012bc]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fsub dword [0x4012b8]
jmp 0x4fafa3
lea edx, [ebp - 0x40]
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fmul dword [0x4012b4]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fsub dword [0x4012b0]
fnstsw ax
test al, 0xd
jne 0x4fb01b
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
lea ecx, [ebp - 0x40]
mov word [edi + 0x26], ax
call esi
lea eax, [ebp - 0x74]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov eax, dword [0x503128]
mov ecx, 1
add eax, ecx
jo 0x4fb020
jmp 0x4faa2e
wait
push 0x4fb00a
jmp 0x4fafe7
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x70]
push ecx
call esi
lea edx, [ebp - 0x74]
push edx
call esi
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x20]
call esi
lea ecx, [ebp - 0x30]
call esi
ret
jmp 0x40168c
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop