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

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x401686
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x84
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401490
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x44], edi
call fcn.00409c2c
mov dword [ebp - 0x44], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x30]
push ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x30]
call esi
mov edx, dword [0x5030d0]
push edx
push 0x40d000
call dword [sym.imp.MSVBVM60.DLL___vbaStrCmp]
test eax, eax
jne 0x4f9bec
push 0x5030b4
call fcn.004f8910
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fmul dword [0x40148c]
push 0x5030b4
fstp dword [ebp - 0x18]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call fcn.004f8960
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fmul dword [0x401488]
mov dword [ebp - 0x28], 0x80020004
mov dword [ebp - 0x30], 0xa
fstp dword [ebp - 0x1c]
fnstsw ax
test al, 0xd
jne 0x4fa6de
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fmul dword [0x4012c0]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
movsx ecx, word [0x5030b8]
mov dword [ebp - 0x64], ecx
fild dword [ebp - 0x64]
fstp qword [ebp - 0x6c]
fld qword [0x401480]
cmp dword [section..data], 0
jne 0x4f9bdf
fdiv qword [ebp - 0x6c]
jmp 0x4f9bea
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call sub.MSVBVM60.DLL__adj_fdiv_m64
jmp 0x4f9c55
lea edx, [ebp - 0x30]
mov dword [ebp - 0x18], edi
push edx
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x28], 0x80020004
mov dword [ebp - 0x30], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
fstp dword [ebp - 0x44]
fld dword [ebp - 0x44]
fmul dword [0x4012c0]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
movsx eax, word [0x5030b8]
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
fstp qword [ebp - 0x78]
fld qword [0x401478]
cmp dword [section..data], 0
jne 0x4f9c4a
fdiv qword [ebp - 0x78]
jmp 0x4f9c55
push dword [ebp - 0x74]
push dword [ebp - 0x78]
call sub.MSVBVM60.DLL__adj_fdiv_m64
faddp st(1)
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFpI4]
lea ecx, [ebp - 0x30]
mov ebx, eax
call esi
movsx ecx, word [0x5030b8]
mov dword [ebp - 0x7c], ecx
fild dword [ebp - 0x7c]
fstp dword [ebp - 0x80]
fld dword [ebp - 0x80]
fsub dword [0x5030d4]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFpR4]
fcomp dword [0x4012bc]
fnstsw ax
test ah, 1
je 0x4f9cab
mov esi, 1
jmp 0x4f9cad
xor esi, esi
fld dword [0x5030a4]
fadd dword [0x4013a4]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFpR4]
fcomp dword [0x5030c8]
mov dword [ebp - 0x84], 1
fnstsw ax
test ah, 1
je 0x4f9ce6
mov dword [ebp - 0x84], edi
call fcn.00409c2c
mov dword [ebp - 0x44], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov eax, dword [0x5030f4]
cmp eax, edi
je 0x4f9d2d
cmp word [eax], 1
jne 0x4f9d2d
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov edi, eax
mov eax, dword [0x5030f4]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub edi, edx
cmp edi, ecx
jb 0x4f9d25
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea eax, [edi + edi*4]
shl eax, 2
jmp 0x4f9d33
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [0x5030f4]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 0x44]
sub edx, dword [ecx + eax + 0x10]
jo 0x4fa6e3
xor eax, eax
cmp edx, ebx
mov ebx, dword [ebp - 0x84]
setl al
or esi, ebx
neg esi
sbb esi, esi
neg esi
or eax, esi
jne 0x4f9fc1
call fcn.00409c2c
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov dword [ebp - 0x44], eax
call esi
mov ecx, dword [ebp - 0x44]
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x30], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov eax, dword [0x5030f4]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaUbound]
push 0
push eax
push 1
call edi
add eax, 1
jo 0x4fa6e3
push eax
push 1
push 0
push 0x5030f4
push 0x14
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaRedimPreserve]
add esp, 0x1c
call fcn.00409c2c
mov dword [ebp - 0x44], eax
call esi
mov eax, dword [0x5030f4]
test eax, eax
je 0x4f9e09
cmp word [eax], 1
jne 0x4f9e09
push eax
push 1
call edi
mov esi, eax
mov eax, dword [0x5030f4]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4f9e01
call ebx
lea eax, [esi + esi*4]
shl eax, 2
jmp 0x4f9e11
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
call ebx
mov ecx, dword [0x5030f4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [edx + eax + 0x10], ecx
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x28], 0x80020004
mov dword [ebp - 0x30], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
mov eax, dword [0x5030f4]
fstp dword [ebp - 0x44]
test eax, eax
je 0x4f9e6d
cmp word [eax], 1
jne 0x4f9e6d
push eax
push 1
call edi
mov esi, eax
mov eax, dword [0x5030f4]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4f9e65
call ebx
lea esi, [esi + esi*4]
shl esi, 2
jmp 0x4f9e71
call ebx
mov esi, eax
fld dword [ebp - 0x44]
fmul dword [0x401474]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
fld dword [0x5030bc]
fadd dword [ebp - 0x18]
mov ecx, dword [0x5030f4]
faddp st(1)
mov edx, dword [ecx + 0xc]
lea ecx, [ebp - 0x30]
fsub dword [0x401470]
fstp dword [edx + esi]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
mov eax, dword [0x5030f4]
test eax, eax
je 0x4f9eeb
cmp word [eax], 1
jne 0x4f9eeb
push eax
push 1
call edi
mov esi, eax
mov eax, dword [0x5030f4]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4f9ee3
call ebx
lea ecx, [esi + esi*4]
shl ecx, 2
jmp 0x4f9eef
call ebx
mov ecx, eax
fld dword [0x5030c0]
fadd dword [ebp - 0x1c]
mov edx, dword [0x5030f4]
mov edx, dword [edx + 0xc]
fstp dword [edx + ecx + 4]
fnstsw ax
test al, 0xd
jne 0x4fa6de
lea eax, [ebp - 0x30]
mov dword [ebp - 0x28], 0x80020004
push eax
mov dword [ebp - 0x30], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
mov eax, dword [0x5030f4]
fstp dword [ebp - 0x44]
test eax, eax
je 0x4f9f5b
cmp word [eax], 1
jne 0x4f9f5b
push eax
push 1
call edi
mov esi, eax
mov eax, dword [0x5030f4]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4f9f53
call ebx
lea esi, [esi + esi*4]
shl esi, 2
jmp 0x4f9f5f
call ebx
mov esi, eax
fld dword [ebp - 0x44]
fmul dword [0x40146c]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
cmp dword [section..data], 0
jne 0x4f9f89
fdiv dword [0x401468]
jmp 0x4f9f94
push dword [0x401468]
call sub.MSVBVM60.DLL__adj_fdiv_m32
fadd dword [0x401264]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
mov ecx, dword [0x5030f4]
mov edx, dword [ecx + 0xc]
lea ecx, [ebp - 0x30]
mov word [edx + esi + 0xa], ax
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
cmp word [0x503106], 0x14
jle 0x4fa3d5
mov eax, dword [0x5030f4]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaUbound]
push 0
push eax
push 1
call edi
add eax, 1
jo 0x4fa6e3
push eax
push 1
push 0
push 0x5030f4
push 0x14
push 0
call dword [sym.imp.MSVBVM60.DLL___vbaRedimPreserve]
add esp, 0x1c
call fcn.00409c2c
mov dword [ebp - 0x44], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov eax, dword [0x5030f4]
test eax, eax
je 0x4fa046
cmp word [eax], 1
jne 0x4fa046
push eax
push 1
call edi
mov esi, eax
mov eax, dword [0x5030f4]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4fa03e
call ebx
lea eax, [esi + esi*4]
shl eax, 2
jmp 0x4fa04e
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
call ebx
mov ecx, dword [0x5030f4]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [edx + eax + 0x10], ecx
lea edx, [ebp - 0x30]
push edx
mov dword [ebp - 0x28], 0x80020004
mov dword [ebp - 0x30], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
mov eax, dword [0x503010]
fstp dword [ebp - 0x48]
test eax, eax
jne 0x4fa097
push 0x503010
push 0x406f1c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov eax, dword [0x503010]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x380]
lea edx, [ebp - 0x20]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
lea ecx, [ebp - 0x44]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x80]
test eax, eax
fnclex
jge 0x4fa0d2
push 0x80
push 0x40bf8c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x5030f4]
test eax, eax
je 0x4fa103
cmp word [eax], 1
jne 0x4fa103
push eax
push 1
call edi
mov esi, eax
mov eax, dword [0x5030f4]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4fa0fb
call ebx
lea esi, [esi + esi*4]
shl esi, 2
jmp 0x4fa107
call ebx
mov esi, eax
fld dword [ebp - 0x48]
fmul dword [0x401464]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
movsx edx, word [0x503108]
mov dword [ebp - 0x88], edx
mov ecx, dword [0x5030f4]
fild dword [ebp - 0x88]
mov edx, dword [ecx + 0xc]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
lea ecx, [ebp - 0x20]
fstp dword [ebp - 0x8c]
fadd dword [ebp - 0x8c]
fsub dword [0x4012ec]
fld dword [ebp - 0x44]
cmp dword [section..data], 0
jne 0x4fa16b
fdiv dword [0x4012b8]
jmp 0x4fa176
push dword [0x4012b8]
call sub.MSVBVM60.DLL__adj_fdiv_m32
faddp st(1)
fstp dword [edx + esi]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call edi
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x30]
call ebx
call fcn.00409c2c
mov dword [ebp - 0x44], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x30]
push ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x30]
call ebx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], 0x80020004
push edx
mov dword [ebp - 0x30], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
mov eax, dword [0x503010]
fstp dword [ebp - 0x48]
test eax, eax
jne 0x4fa1f5
push 0x503010
push 0x406f1c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov eax, dword [0x503010]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x380]
lea edx, [ebp - 0x20]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov esi, eax
lea ecx, [ebp - 0x44]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x88]
test eax, eax
fnclex
jge 0x4fa230
push 0x88
push 0x40bf8c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov eax, dword [0x5030f4]
test eax, eax
je 0x4fa269
cmp word [eax], 1
jne 0x4fa269
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov esi, eax
mov eax, dword [0x5030f4]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4fa261
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea esi, [esi + esi*4]
shl esi, 2
jmp 0x4fa271
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov esi, eax
fld dword [ebp - 0x48]
fmul dword [0x401464]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
movsx edx, word [0x50310a]
mov dword [ebp - 0x90], edx
mov ecx, dword [0x5030f4]
fild dword [ebp - 0x90]
mov edx, dword [ecx + 0xc]
lea ecx, [ebp - 0x20]
fstp dword [ebp - 0x94]
fadd dword [ebp - 0x94]
fsub dword [0x401460]
fld dword [ebp - 0x44]
cmp dword [section..data], 0
jne 0x4fa2cf
fdiv dword [0x4012b8]
jmp 0x4fa2da
push dword [0x4012b8]
call sub.MSVBVM60.DLL__adj_fdiv_m32
faddp st(1)
fstp dword [edx + esi + 4]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call edi
lea ecx, [ebp - 0x30]
call ebx
call fcn.00409c2c
mov dword [ebp - 0x44], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x30]
push ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x30], 3
call dword [sym.imp.MSVBVM60.DLL_rtcRandomize]
lea ecx, [ebp - 0x30]
call ebx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x28], 0x80020004
push edx
mov dword [ebp - 0x30], 0xa
call dword [sym.imp.MSVBVM60.DLL_rtcRandomNext]
mov eax, dword [0x5030f4]
fstp dword [ebp - 0x44]
test eax, eax
je 0x4fa36f
cmp word [eax], 1
jne 0x4fa36f
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov esi, eax
mov eax, dword [0x5030f4]
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
sub esi, edx
cmp esi, ecx
jb 0x4fa367
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
lea esi, [esi + esi*4]
shl esi, 2
jmp 0x4fa377
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov esi, eax
fld dword [ebp - 0x44]
fmul dword [0x40146c]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
cmp dword [section..data], 0
jne 0x4fa3a1
fdiv dword [0x401468]
jmp 0x4fa3ac
push dword [0x401468]
call sub.MSVBVM60.DLL__adj_fdiv_m32
fadd dword [0x4012b0]
fnstsw ax
test al, 0xd
jne 0x4fa6de
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
mov ecx, dword [0x5030f4]
mov edx, dword [ecx + 0xc]
lea ecx, [ebp - 0x30]
mov word [edx + esi + 0xa], ax
call ebx
mov eax, dword [0x5030f4]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ecx, eax
sub ecx, 1
jo 0x4fa6e3
xor eax, eax
mov dword [ebp - 0x5c], ecx
mov dword [0x503128], eax
cmp eax, ecx
jg 0x4fa6b1
mov ecx, dword [0x5030f4]
test ecx, ecx
je 0x4fa439
cmp word [ecx], 1
jne 0x4fa439
mov edi, dword [ecx + 0x14]
mov edx, dword [ecx + 0x10]
mov esi, eax
sub esi, edi
cmp esi, edx
jb 0x4fa431
call ebx
mov eax, dword [0x503128]
mov ecx, dword [0x5030f4]
lea esi, [esi + esi*4]
shl esi, 2
jmp 0x4fa448
call ebx
mov ecx, dword [0x5030f4]
mov esi, eax
mov eax, dword [0x503128]
test ecx, ecx
je 0x4fa46e
cmp word [ecx], 1
jne 0x4fa46e
sub eax, dword [ecx + 0x14]
mov edi, eax
mov eax, dword [ecx + 0x10]
cmp edi, eax
jb 0x4fa466
call ebx
mov ecx, dword [0x5030f4]
lea eax, [edi + edi*4]
shl eax, 2
jmp 0x4fa476
call ebx
mov ecx, dword [0x5030f4]
mov ecx, dword [ecx + 0xc]
mov dx, word [ecx + esi + 8]
add dx, 1
jo 0x4fa6e3
mov word [ecx + eax + 8], dx
mov eax, dword [0x5030f4]
test eax, eax
je 0x4fa4c5
cmp word [eax], 1
jne 0x4fa4c5
mov ecx, dword [0x503128]
mov edi, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov esi, ecx
sub esi, edi
cmp esi, edx
jb 0x4fa4bd
call ebx
mov ecx, dword [0x503128]
mov eax, dword [0x5030f4]
lea edi, [esi + esi*4]
shl edi, 2
jmp 0x4fa4d4
call ebx
mov ecx, dword [0x503128]
mov edi, eax
mov eax, dword [0x5030f4]
test eax, eax
je 0x4fa4f9
cmp word [eax], 1
jne 0x4fa4f9
sub ecx, dword [eax + 0x14]
mov esi, ecx
mov ecx, dword [eax + 0x10]
cmp esi, ecx
jb 0x4fa4f1
call ebx
mov eax, dword [0x5030f4]
lea edx, [esi + esi*4]
shl edx, 2
jmp 0x4fa502
call ebx
mov edx, eax
mov eax, dword [0x5030f4]
mov ecx, dword [eax + 0xc]
fld dword [ecx + edi + 4]
fsub qword [0x401320]
fstp dword [ecx + edx + 4]
fnstsw ax
test al, 0xd
jne 0x4fa6de
mov ecx, dword [0x5030f4]
test ecx, ecx
je 0x4fa54f
cmp word [ecx], 1
jne 0x4fa54f
mov esi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4fa547
call ebx
mov ecx, dword [0x5030f4]
lea edi, [esi + esi*4]
shl edi, 2
jmp 0x4fa559
call ebx
mov ecx, dword [0x5030f4]
mov edi, eax
test ecx, ecx
je 0x4fa585
cmp word [ecx], 1
jne 0x4fa585
mov esi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4fa57d
call ebx
mov ecx, dword [0x5030f4]
lea eax, [esi + esi*4]
shl eax, 2
jmp 0x4fa58d
call ebx
mov ecx, dword [0x5030f4]
mov edx, dword [ecx + 0xc]
mov si, word [edx + edi + 8]
cmp si, word [edx + eax + 0xa]
jle 0x4fa619
test ecx, ecx
je 0x4fa5c8
cmp word [ecx], 1
jne 0x4fa5c8
mov esi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4fa5c0
call ebx
mov ecx, dword [0x5030f4]
lea edi, [esi + esi*4]
shl edi, 2
jmp 0x4fa5d2
call ebx
mov ecx, dword [0x5030f4]
mov edi, eax
test ecx, ecx
je 0x4fa5fe
cmp word [ecx], 1
jne 0x4fa5fe
mov esi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4fa5f6
call ebx
mov ecx, dword [0x5030f4]
lea eax, [esi + esi*4]
shl eax, 2
jmp 0x4fa606
call ebx
mov ecx, dword [0x5030f4]
mov ecx, dword [ecx + 0xc]
mov dx, word [ecx + edi + 0xa]
mov word [ecx + eax + 8], dx
mov ecx, dword [0x5030f4]
test ecx, ecx
je 0x4fa645
cmp word [ecx], 1
jne 0x4fa645
mov esi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4fa63d
call ebx
mov ecx, dword [0x5030f4]
lea esi, [esi + esi*4]
shl esi, 2
jmp 0x4fa64f
call ebx
mov ecx, dword [0x5030f4]
mov esi, eax
test ecx, ecx
je 0x4fa67b
cmp word [ecx], 1
jne 0x4fa67b
mov edi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub edi, edx
cmp edi, eax
jb 0x4fa673
call ebx
mov ecx, dword [0x5030f4]
lea eax, [edi + edi*4]
shl eax, 2
jmp 0x4fa683
call ebx
mov ecx, dword [0x5030f4]
mov ecx, dword [ecx + 0xc]
mov dx, word [ecx + esi + 0xc]
add dx, 1
jo 0x4fa6e3
mov word [ecx + eax + 0xc], dx
mov eax, dword [0x503128]
mov ecx, 1
add eax, ecx
mov ecx, dword [ebp - 0x5c]
jo 0x4fa6e3
mov dword [0x503128], eax
jmp 0x4fa3fe
wait
push 0x4fa6cd
jmp 0x4fa6cc
ret
jmp 0x40168c
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop