Function at 0x4e9f40
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, 0x68
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x4012a0
mov eax, dword [0x503098]
xor esi, esi
push eax
push 1
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], esi
mov word [0x5030ea], si
mov word [0x5030e8], si
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [0x503128], eax
cmp eax, dword [ebp - 0x48]
jg 0x4ea183
mov ecx, dword [0x503098]
lea edx, [ebp - 0x34]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x34]
cmp ecx, esi
je 0x4e9ff8
cmp word [ecx], 1
jne 0x4e9ff8
mov esi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4e9feb
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
lea eax, [esi + esi*2]
shl eax, 3
sub eax, esi
shl eax, 2
jmp 0x4ea001
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x34]
mov esi, dword [ecx + 0xc]
add esi, eax
mov eax, dword [esi + 0xc]
push eax
push 0x40cb8c
lea edi, [esi + 0xc]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCmp]
test eax, eax
je 0x4ea15b
cmp word [esi + 0x2a], 0xffff
jne 0x4ea15b
mov ax, word [esi + 0x2c]
add ax, 1
jo 0x4ea4a4
cmp ax, 0x14
mov word [esi + 0x2c], ax
jne 0x4ea050
mov edx, 0x40cb8c
mov ecx, edi
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
xor ebx, ebx
cmp word [esi + 0x34], bx
je 0x4ea15b
xor ecx, ecx
mov word [0x5030ec], 0x50
mov word [0x5030ee], 0xffff
mov word [0x5030f0], bx
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov ecx, dword [0x503178]
mov byte [0x5030f2], al
cmp byte [ecx + 0xa8], 1
jne 0x4ea104
mov dx, word [esi + 0x34]
imul dx, dx, 0x14
jo 0x4ea4a4
movsx eax, dx
mov dword [ebp - 0x58], eax
fild dword [ebp - 0x58]
fstp qword [ebp - 0x60]
fld qword [ebp - 0x60]
cmp dword [section..data], 0
jne 0x4ea0bf
fdiv qword [0x401298]
jmp 0x4ea0d0
push dword [0x40129c]
push dword [0x401298]
call sub.MSVBVM60.DLL__adj_fdiv_m64
fnstsw ax
test al, 0xd
jne 0x4ea49f
call dword [sym.imp.MSVBVM60.DLL___vbaFPInt]
movsx ecx, word [esi + 0x34]
mov dword [ebp - 0x64], ecx
fild dword [ebp - 0x64]
fstp qword [ebp - 0x6c]
fadd qword [ebp - 0x6c]
fnstsw ax
test al, 0xd
jne 0x4ea49f
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
mov word [esi + 0x34], ax
mov dx, word [esi + 0x34]
mov ax, word [0x5030ea]
add dx, word [0x5030e8]
mov ecx, 0x5030e0
jo 0x4ea4a4
add ax, 1
mov word [0x5030e8], dx
jo 0x4ea4a4
mov word [0x5030ea], ax
mov edx, dword [edi]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov cx, word [0x503196]
add cx, 1
jo 0x4ea4a4
mov word [0x503196], cx
mov word [esi + 0x34], bx
lea edx, [ebp - 0x34]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov eax, dword [0x503128]
mov ecx, 1
add eax, ecx
jo 0x4ea4a4
mov dword [0x503128], eax
xor esi, esi
jmp 0x4e9fa9
mov eax, dword [0x503110]
push eax
push 1
call dword [sym.imp.MSVBVM60.DLL___vbaUbound]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov dword [ebp - 0x50], eax
xor eax, eax
mov dword [0x503128], eax
cmp eax, dword [ebp - 0x50]
jg 0x4ea340
mov ecx, dword [0x503110]
lea edx, [ebp - 0x38]
push ecx
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryLock]
mov ecx, dword [ebp - 0x38]
cmp ecx, esi
je 0x4ea1eb
cmp word [ecx], 1
jne 0x4ea1eb
mov esi, dword [0x503128]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
sub esi, edx
cmp esi, eax
jb 0x4ea1e3
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
lea eax, [esi + esi*2]
shl eax, 4
jmp 0x4ea1f4
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov ecx, dword [ebp - 0x38]
mov esi, dword [ecx + 0xc]
add esi, eax
mov eax, dword [esi + 4]
push eax
push 0x40cb8c
lea edi, [esi + 4]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCmp]
test eax, eax
je 0x4ea318
cmp word [esi + 0x14], 0xffff
jne 0x4ea318
mov ax, word [esi + 0x16]
add ax, 1
jo 0x4ea4a4
cmp ax, 0x14
mov word [esi + 0x16], ax
jne 0x4ea243
mov edx, 0x40cb8c
mov ecx, edi
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [esi + 8]
add esi, 8
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaR8Str]
fcomp qword [0x401290]
fnstsw ax
test ah, 0x40
jne 0x4ea318
xor ecx, ecx
mov word [0x5030ec], 0x50
mov word [0x5030ee], 0xffff
mov word [0x5030f0], 0
call dword [sym.imp.MSVBVM60.DLL___vbaUI1I2]
mov byte [0x5030f2], al
mov edx, dword [esi]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaR8Str]
movsx eax, word [0x5030e8]
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
fstp qword [ebp - 0x78]
fadd qword [ebp - 0x78]
fnstsw ax
test al, 0xd
jne 0x4ea49f
call dword [sym.imp.MSVBVM60.DLL___vbaFpI2]
mov cx, word [0x5030ea]
mov word [0x5030e8], ax
add cx, 1
jo 0x4ea4a4
mov word [0x5030ea], cx
mov edx, dword [edi]
mov edi, dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, 0x5030e0
call edi
mov dx, word [0x503198]
push 0
add dx, 1
jo 0x4ea4a4
mov word [0x503198], dx
call dword [sym.imp.MSVBVM60.DLL___vbaStrI2]
mov edx, eax
lea ecx, [ebp - 0x14]
call ebx
mov edx, eax
mov ecx, esi
call edi
lea ecx, [ebp - 0x14]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
lea eax, [ebp - 0x38]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
mov eax, dword [0x503128]
mov ecx, 1
add eax, ecx
jo 0x4ea4a4
mov dword [0x503128], eax
xor esi, esi
jmp 0x4ea1a1
cmp word [0x5030ea], 1
jle 0x4ea35a
mov edx, 0x40cfcc
mov ecx, 0x5030e0
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
movsx ecx, word [0x5030e8]
mov edx, dword [0x50315c]
mov eax, dword [0x503010]
add ecx, edx
jo 0x4ea4a4
cmp eax, esi
mov dword [0x50315c], ecx
jne 0x4ea393
push 0x503010
push 0x406f1c
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov eax, dword [0x503010]
mov edx, dword [eax]
push eax
call dword [edx + 0x3d4]
push eax
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaObjSet]
mov ecx, dword [0x50315c]
mov esi, eax
push 0x40cfdc
push ecx
mov edi, dword [esi]
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov edx, eax
lea ecx, [ebp - 0x14]
call ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x18]
call ebx
push eax
push 0x40cff4
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x1c]
call ebx
mov edx, dword [0x503160]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov edx, eax
lea ecx, [ebp - 0x20]
call ebx
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x24]
call ebx
push eax
push esi
call dword [edi + 0x54]
test eax, eax
fnclex
jge 0x4ea422
push 0x54
push 0x40bf6c
push esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x20]
push eax
lea edx, [ebp - 0x1c]
push ecx
lea eax, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x14]
push eax
push ecx
push 5
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
add esp, 0x18
lea ecx, [ebp - 0x28]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeObj]
wait
push 0x4ea48e
jmp 0x4ea47b
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x34]
push ecx
call esi
lea edx, [ebp - 0x38]
push edx
call esi
ret
jmp 0x40168c
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop